个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Linux专栏】🎈
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌
演示环境:centos7
mv指令:mv即move的缩写,用于移动文件或重命名文件的命令。
基本格式:mv [选项] <源文件或目录> <目标文件或目录>
mv指令有主要有两个用法:重命名文件(即剪切)和移动文件。
重命名文件:
mv [选项] <旧文件名> <新文件名>
移动文件/文件夹:mv [选项] <源文件> <目标目录>
| 选项 | 作用 |
|---|---|
| -b | 当覆盖文件时会对被覆盖文件进行先行备份。 |
| -i | 交互式操作,当目标文件已经存在时,会询问是否覆盖。 |
| -n | 试探性覆盖文件(依据为目标文件是否存在)。 |
| -u | 只有在源文件比目标文件新或者目标文件不存在时才进行操作。 |
| -f | 强制操作,不进行任何提示,如果目标存在时,会直接覆盖。 |
下面将对mv指令的两个作用(重命名、移动文件)以及常用的选项进行展开介绍。
目录
- 一、重命名文件
- 二、移动文件/文件夹(剪切)
- 三、备份覆盖的目标文件(-b)
- 四、询问是否覆盖目标文件(-i)
- 五、试探性覆盖(-n)
- 六、-u
- 七、强制覆盖(-f)
一、重命名文件
重命名文件:即将文件重命名为一个新的文件名。
命令格式:mv <旧文件名> <新文件名>。
实战一:现在当前目录有一个文件test.txt,将其重命名为new_test.txt。 输入命令:mv test.txt new_test.txt。
实战二:
将a目录中的test.txt重命名为log.txt。
输入指令(相对路径):mv ./a/test.txt ./a/log.txt
如果以绝对路径的方式,
则输入指令:mv /home/lyf/lesson8/a/test.txt /home/lyf/lesson8/a/log.txt
结果如下:
二、移动文件/文件夹(剪切)
实战一:将上级目录中的目录c的log.txt以相对路径的方式移动到当前目录中。
如图,当前处于a目录中。
输入命令:mv ../c/log.txt .
结果如下:
相同的操作我们如果使用绝对路径的方式将上级目录中的目录c的log.txt以移动到当前目录中。
输入指令:mv /home/lyf/lesson8/c/log.txt .
结果如下:
实战二:
如上图,将当前目录下的目录c_1移动到c目录中。
输入命令:mv c_1/ c/
三、备份覆盖的目标文件(-b)
-b选项:备份覆盖的目标文件。
输入指令:mv -b b/log.txt a/log.txt。

四、询问是否覆盖目标文件(-i)
-i:询问用户是否覆盖目标文件。
举例如下: 输入指令:mv -i b/log.txt a/log.txt。
五、试探性覆盖(-n)
-n:所谓试探性覆盖就是就是如果目标文件已经存在(不需要内容一样,文件名相同即可),则mv命令不会进行对目标文件进行覆盖(mv指令为无效指令,即啥也没干);如果目标文件不存在,则mv命令会执行正常的移动操作。
举例如下:
输入指令:mv -n b/log.txt a/log.txt。
可以看到,上图中该mv指令其实就相当于无效指令,因为目标文件已经存在。
六、-u
-u:只有在源文件比目标文件新或者目标文件不存在时才进行操作(新或旧指的是文件的最后修改时间)。
举例如下:
例一:输入指令:mv -u a/log.txt b/test.txt,结果如下:
最终可以看到mv指令为无效指令,即相当于啥也没做,因为a/log.txt文件比b/test.txt文件要旧。
例二:
可以看到b/test.txt文件要比a/log.txt新。
输入指令:mv -u b/test.txt a/log.txt,结果如下:
七、强制覆盖(-f)
-f:强制执行移动操作,即使目标文件已经存在或无法写入。
举个例子:
文件覆盖前,请看:
输入指令:mv -f b/test.c a/test.c,结果如下:
最终结果就是强制性的进行文件的覆盖。
好了,以上就是mv指令的介绍(重命名、剪切以及常用选项)。
就到这里啦,再见啦友友们!!!


























![[QT编程系列-2]:C++图形用户界面编程,QT框架快速入门培训 - 1- 预备知识](https://img-blog.csdnimg.cn/87d7305e40d84e64b4e997938d79d1a7.png)











