个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【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指令的介绍(重命名、剪切以及常用选项)。
就到这里啦,再见啦友友们!!!