Linux系统之mv命令的基本使用

Linux系统之mv命令的基本使用

  • 一、mv命令介绍
    • 1. mv命令简介
    • 2. mv命令的使用结果
  • 二、mv命令的使用帮助
    • 1. 在命令行的帮助信息
    • 2. mv常用选项
  • 三、mv命令的基本使用
    • 1. 创建源目录和目标目录
    • 2. 新建测试文件
    • 3. 将源目录文件复制到目标目录
    • 4. 将文件进行改名
    • 5. 将目录的所有文件转移到目标目录
    • 6. 移动多个文件到目标目标
    • 7. 移动目录
    • 8. 覆盖文件
  • 四、mv的日常使用
    • 1. 提示是否覆盖文件
    • 2. 覆盖文件时对源文件备份
    • 3. 强制覆盖文件
    • 4. 打印转移信息
    • 5. 源文件比目标文件新时才执行更新
  • 五、注意事项

在这里插入图片描述

一、mv命令介绍

1. mv命令简介

mv命令主要是在Linux系统中用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

2. mv命令的使用结果

  • mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有不同的结果:

1.如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
2.如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。
3.如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。
4.当目标文件是目录时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标目录中。所有移到该目录下的文件都将保留以前的文件名。

二、mv命令的使用帮助

1. 在命令行的帮助信息

在命令行的,mv --help显示mv的帮助信息。

[root@jeven ~]# mv --help
Usage: mv [OPTION]... [-T] SOURCE DESTor:  mv [OPTION]... SOURCE... DIRECTORYor:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.Mandatory arguments to long options are mandatory for short options too.--backup[=CONTROL]       make a backup of each existing destination file-b                           like --backup but does not accept an argument-f, --force                  do not prompt before overwriting-i, --interactive            prompt before overwrite-n, --no-clobber             do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.--strip-trailing-slashes  remove any trailing slashes from each SOURCEargument-S, --suffix=SUFFIX          override the usual backup suffix-t, --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY-T, --no-target-directory    treat DEST as a normal file-u, --update                 move only when the SOURCE file is newerthan the destination file or when thedestination file is missing-v, --verbose                explain what is being done-Z, --context                set SELinux security context of destinationfile to default type--help     display this help and exit--version  output version information and exitThe backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:none, off       never make backups (even if --backup is given)numbered, t     make numbered backupsexisting, nil   numbered if numbered backups exist, simple otherwisesimple, never   always make simple backupsGNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mv invocation'

2. mv常用选项

mv命令的常用选项

--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

三、mv命令的基本使用

1. 创建源目录和目标目录

创建一个源目录和目标目录

[root@jeven ~]# mkdir /source
[root@jeven ~]# mkdir /target

2. 新建测试文件

在源目录和目标目录分别新建测试文件。

[root@jeven ~]# touch /source/sou_file{01..03}.txt
[root@jeven ~]# ls /source/
sou_file01.txt  sou_file02.txt  sou_file03.txt
[root@jeven ~]# touch /target/tar_file{01..03}.txt
[root@jeven ~]# ls /target/
tar_file01.txt  tar_file02.txt  tar_file03.txt

3. 将源目录文件复制到目标目录

将/source/sou_file01.txt 复制到/target/目录下

[root@jeven ~]# mv /source/sou_file01.txt /target/
[root@jeven ~]# ls /target/
sou_file01.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

4. 将文件进行改名

在同一目录下将文件进行改名,例如在target/目录,将sou_file01.txt改名为aa_test.txt

[root@jeven ~]#  cd  /target/
[root@jeven target]# mv sou_file01.txt  aa_test.txt
[root@jeven target]# ls /target/
aa_test.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

5. 将目录的所有文件转移到目标目录

将/source/目录的所有文件,转移到目标目录 /target/

[root@jeven ~]# mv /source/*  /target/
[root@jeven ~]# ls /target/
aa_test.txt  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

6. 移动多个文件到目标目标

将/test/目录下的file01和file02文件转移到目标目录/target

[root@jeven ~]# mv /test/file01 /test/file02 /target/
[root@jeven ~]# ls /target/
aa_test.txt  file01  file02  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

7. 移动目录

将/test目录移动到/target目录

[root@jeven ~]# mv /test/ /target/
[root@jeven ~]# ls /target/
aa_test.txt  file01  file02  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt  test

8. 覆盖文件

在/source目录下,创建两个文件,并写入内容。

root@jeven ~]# cd /source/
[root@jeven source]# ls
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# cat aa.txt 
11
[root@jeven source]# cat bb.txt 
22

当源文件aa.txt和目标文件bb.txt都存在时,源文件会变成目标文件bb.txt,并覆盖原来的bb.txt文件。

[root@jeven source]# mv aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
11

四、mv的日常使用

1. 提示是否覆盖文件

在当覆盖文件时,提示是否覆盖文件,默认mv命令加了-I

[root@jeven source]# mv -i aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
11
[root@jeven source]# alias |grep mv
alias mv='mv -i'

2. 覆盖文件时对源文件备份

使用mv -b,在覆盖文件时,对源文件进行备份。

[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# mv -b aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt  bb.txt~
[root@jeven source]# cat bb.txt
11
[root@jeven source]# cat bb.txt~
22

3. 强制覆盖文件

使用mv -f 强制覆盖文件。

mv -f aa.txt bb.txt 

4. 打印转移信息

使用mv -v打印移动信息

[root@jeven source]# mv -v /source/bb.txt /target/
‘/source/bb.txt’ -> ‘/target/bb.txt’

5. 源文件比目标文件新时才执行更新

当源文件是最新更新时,才可以覆盖目标文件。

  • 目标文件比源文件更新时,不执行覆盖操作。
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]#  echo 22 > bb.txt
[root@jeven source]# mv -uv aa.txt bb.txt 
[root@jeven source]# ls
aa.txt  bb.txt
  • 源文件比目标文件更新时,执行覆盖操作。
[root@jeven source]# echo ee > aa.txt 
[root@jeven source]# mv -uv aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
‘aa.txt’ -> ‘bb.txt’
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
ee

五、注意事项

在Linux中使用mv命令时,有几个注意事项可以帮助你更安全、有效地操作文件和目录:

  1. 权限问题:确保你有足够的权限去移动或重命名文件。如果没有,mv命令会失败,除非使用了sudo(对于需要提升权限的操作)。

  2. 覆盖风险:默认情况下,如果你尝试移动一个文件到一个已存在的同名文件的位置,mv会直接覆盖目标文件,不会询问。为了避免意外覆盖,可以使用-i(interactive)选项,这样在覆盖前会提示确认。

  3. 备份原文件:使用-b选项可以在覆盖文件前自动创建一个备份,这对于保护重要数据很有帮助。

  4. 移动与重命名的区别:当第二个参数是文件名时,视为重命名操作;当是目录名时,则是移动操作。确保正确指定目标以达到预期效果。

  5. 跨文件系统移动:跨文件系统移动文件时,mv实际上是先复制再删除原文件。这意味着如果操作过程中出现错误(如空间不足),可能会丢失原文件。

  6. 目录操作:移动目录时,记得在目标路径后加斜杠(/),这可以避免在目标目录不存在时意外地将源目录作为目标目录的一个子目录移动进去。

  7. 批量操作:可以同时移动多个文件或目录,只需在源文件列表中列出它们,但目标必须是一个已存在的目录。

  8. 符号链接:移动符号链接会移动链接本身而不是链接指向的文件。若要移动实际文件,需要使用-L选项来跟踪并移动链接指向的目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/341052.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kimichat使用案例007:用kimichat批量重命名txt文本文件

文章目录 一、介绍二、txt文件集三、Kimi操作内容四、Kimi输出内容一、介绍 一个文件夹中有很多个txt文本文件,需要全部进行重命名。 二、txt文件集 三、Kimi操作内容 可以在kimichat中输入提示词: 你是一个Python编程专家,要完成一个关于批量重命名txt文本文件的Python脚本…

提示词工程基础:定义与重要性

目录 一、引言二、提示词工程的定义1. 概念明晰2. 技术框架3. 功能作用 三、提示词工程的重要性1. 核心作用强调2. 提升效率与降低成本3. 推动技术发展与创新 四、提示词工程的组成部分1. 提示词设计2. 模型训练与调整3. 效果评估与优化 五、实际应用示例1. 虚拟助手2. 自动新闻…

Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解

前言 在Web开发中&#xff0c;Three.js是一个极为强大的库&#xff0c;它让开发者能够轻松地在浏览器中创建和展示3D图形。随着3D技术在网页设计、游戏开发、数据可视化等领域的广泛应用&#xff0c;用户与3D场景的交互变得日益重要。而要实现这种交互&#xff0c;一个核心的技…

YOLOv8改进 | Conv篇 | 利用YOLOv10提出的C2fUIB魔改YOLOv8(附代码 + 完整修改教程)

一、本文介绍 本文给大家带来的改进机制是利用YOLOv10提出的C2fUIB模块助力YOLOv8进行有效涨点,其中C2fUIB模块所用到的CIB模块是一种紧凑的倒置块结构,它采用廉价的深度卷积进行空间混合,并采用成本效益高的点卷积进行通道混合。本文针对该方法给出多种使用方法,大家可以…

上海亚商投顾:深成指、创业板指均涨超1%,电力股午后集体走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日低开后震荡反弹&#xff0c;深成指、创业板指均涨超1%&#xff0c;黄白二线依旧分化。电力、电网股午…

大模型卷出新高度|暴雨AI服务器M8878助解算力之困

当今世界&#xff0c;作为新一轮科技革命和产业革命的重要驱动力&#xff0c;AI已经成为“兵家必争之地”。我国也在政府报告中首次将“人工智能”行动纳入国家战略&#xff0c;开启了以人工智能为核心的数字经济高质量发展的新时代。 当今世界&#xff0c;作为新一轮科技革命…

使用GitHub托管静态网页

前言​&#xff1a; 如果没有服务器&#xff0c;也没有域名&#xff0c;又想部署静态网页的同学&#xff0c;那就可以尝试使用GitHub托管自己的网页​。 正文&#xff1a; 首先要有自己的GitHub的账号&#xff0c;如果没有可以自己搜索官网进行注册登录&#xff0c;国内对Gi…

将Java程序打包为为.exe文件

将Java程序打包为为.exe文件 将Java程序打包为为.exe文件分为俩个步骤&#xff1a; 1、将Java程序打包成Jar包&#xff08;此时就可复制桌面便于使用&#xff09; 2、打包为.exe文件&#xff08;需要借助工具&#xff09; 一、打包为.exe文件 1. file -> Project Structure…

Diffusers代码学习-LoRA训练

LoRA&#xff08;Low-Rank Adaptation of Large Language Models&#xff09;是一种流行的轻量级训练技术&#xff0c;它显著减少了可训练参数的数量。它的工作原理是在模型中插入少量的新权重&#xff0c;并且只训练这些权重。这使得使用LoRA进行训练的速度更快、内存高效&…

视频汇聚共享平台LntonCVS视频智能分析守护厨房食品安全应用方案

近年来&#xff0c;食品安全问题在我国频繁发生&#xff0c;对整个社会造成了严重的负面影响。尤其是校园食品安全关系到学生的健康、家庭的未来以及社会的稳定。学校持续加强食堂科学管理&#xff0c;并督促食堂经营管理方履行好食品安全主体责任&#xff0c;以提升食品安全水…

【Python】 Python中使用小数步长进行循环遍历

基本原理 在Python中&#xff0c;range() 函数是一个非常常用的工具&#xff0c;它能够生成一个整数序列。默认情况下&#xff0c;range() 接受三个参数&#xff1a;起始值、结束值和步长&#xff0c;其中步长默认为1。然而&#xff0c;range() 并不支持直接使用小数作为步长&…

Binary Ninja 4.0.5336 (macOS, Linux, Windows) - 逆向平台

Binary Ninja 4.0.5336 (macOS, Linux, Windows) - 逆向平台 请访问原文链接&#xff1a;https://sysin.org/blog/binary-ninja/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Binary Ninja A New Type of Reversing Platfo…

太极图形课——渲染——光线追踪实战第一部分呢

根据概念部分我们逐步通过太极实现光线追踪 总共可以分为5步 第一步&#xff1a;如何发射出一道光&#xff1f; 首先明确何为一道光&#xff0c;光从我们眼睛&#xff08;摄像机&#xff09;射出&#xff0c;那么在三维虚拟世界里&#xff0c;我们可以认为这道光就是一条射线…

github将默认分支main改为master

github将默认分支main改为master 1.进入github&#xff0c;点击setting 2.在setting中&#xff0c;选择Respositories&#xff0c;更新默认分支为master 3.选择要更新的项目&#xff0c;在项目中选择setting->general->切换默认分支

用开源模型MusicGen制作六一儿童节专属音乐

使用的是开源模型MusicGen&#xff0c;它可以根据文字描述或者已有旋律生成高质量的音乐(32kHz)&#xff0c;其原理是通过生成Encodec token然后再解码为音频&#xff0c;模型利用EnCodec神经音频编解码器来从原始波形中学习离散音频token。EnCodec将音频信号映射到一个或多个并…

外界访问docker服务失败

各位i大佬请问一下&#xff1a;我容器起了&#xff0c;但是外网访问不了目标机器的9090端口。 我检查了&#xff1a;1.本机的防火墙已关闭&#xff0c; 2.目标机器的9090端口显示正在被docker监听。 3.外网可以访问目标机器。 4.docker日志&#xff0c;未显示服务报错。 5…

JavaSE——【逻辑控制】(知识)

目录 前言 一、顺序结构 二、分支结构 三、循环结构 总结 前言 公元 3050 年&#xff0c;地球的科技已经发展到令人难以想象的地步。这天&#xff0c;艾米莉在自己的房间里启动了最新的虚拟旅行装置&#xff0c;下一秒&#xff0c;她发现小奥奇的博客更新了。立即放弃了虚…

Numba 的 CUDA 示例(3/4):流和事件

本教程为 Numba CUDA 示例 第 3 部分。 按照本系列的第 3 部分&#xff0c;了解 Python CUDA 编程中的流和事件 介绍 在本系列的前两部分&#xff08;第 1 部分&#xff0c;第 2 部分&#xff09;中&#xff0c;我们学习了如何使用 GPU 编程执行简单的任务&#xff0c;例如高度…

Windows CMD对MySQL进行基本操作的常用命令

目录 前言1. 数据库操作2. 表操作3. 记录操作4. 备份与恢复数据库 前言 对于基本的命令行以及优化推荐阅读&#xff1a; 数据库中增删改常用语法语句&#xff08;全&#xff09;Mysql优化高级篇&#xff08;全&#xff09;命令行登录Mysql的详细讲解 启动MySQL服务&#xff1…

Python版《消消乐》,附源码

曾经风靡一时的消消乐&#xff0c;至今坐在地铁上都可以看到很多人依然在玩&#xff0c;想当年我也是大军中的一员&#xff0c;那家伙&#xff0c;吃饭都在玩&#xff0c;进入到高级的那种胜利感还是很爽的&#xff0c;连续消&#xff0c;无限消&#xff0c;哈哈&#xff0c;现…