日更第5天:Linux常用命令之mv用法

在这里插入图片描述

1. 命令简介

mv 命令具备两个职能:1. 将文件或文件夹移动到其他位置;2. 修改对应文件名或者文件夹名称。在工作中,我们经常会使用它来操作备份文件或者文件夹。来吧,让我们一起来学习下。

2. 英文含义

mv = move(移动) 

3. 语法格式

语法形式 语法作用
mv [选项] 源文件 目标文件 将源文件名修改为目标文件名
mv [选项] 源文件 目标文件夹 将源文件移动目标文件夹下
mv [选项] 源文件夹 目标文件夹 1. 目标文件夹若已存在,则将源文件夹移动到目标文件夹下
2. 目标文件夹若不存在,则将源文件夹名称修改为目标文件夹名称

4. 选项说明

  • -b:目标文件或文件夹存在时,存在覆盖文件情况时,覆盖前进行备份操作;
  • -f:移动的源文件夹或文件与目标的文件夹或文件重名,直接覆盖旧文件,不进行询问;
  • -i:移动的源文件夹或文件与目标的文件夹或文件重名,先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作;
  • -n:不要覆盖任何已存在的文件或目录;

5. 示例说明

将文件 source.log 名称修改为 dest.log

[root@iZ local]# mv source.log dest.log

将 /usr/local/test2 文件夹下的 source.log 移动到 /usr/local/test 文件夹下

drwxr-xr-x   2 root root    6 11月 26 17:07 test
drwxr-xr-x   2 root root   24 11月 26 19:45 test2
[root@iZ local]# cd test
[root@iZ test]# ls
[root@iZ test]# cd ../test2/
[root@iZ test2]# ls
source.log
[root@iZ test2]# pwd
/usr/local/test2
[root@iZ test2]# mv source.log /usr/local/test
[root@iZ test2]# cd ../test
[root@iZ test]# ls
source.log
[root@iZ test]#

-b:目标文件或文件夹存在时,存在覆盖文件情况时,覆盖前进行备份操作

drwxr-xr-x   2 root root   24 11月 26 19:46 test
drwxr-xr-x   2 root root   24 11月 26 19:52 test2
[root@iZbp1d8rn0652ia3bzzmioZ local]# cd test
[root@iZbp1d8rn0652ia3bzzmioZ test]# ls
source.log
[root@iZbp1d8rn0652ia3bzzmioZ test]# cd ../test2/
[root@iZbp1d8rn0652ia3bzzmioZ test2]# ls
source.log
[root@iZbp1d8rn0652ia3bzzmioZ test2]# mv -b source.log ../test
mv:是否覆盖'../test/source.log'? y
[root@iZbp1d8rn0652ia3bzzmioZ test2]# cd ../test
[root@iZbp1d8rn0652ia3bzzmioZ test]# ls
source.log  source.log~

-f:移动的源文件夹或文件与目标的文件夹或文件重名,直接覆盖旧文件,不进行询问

[root@iZ local]# cd test2/
[root@iZ test2]# clear
[root@iZ test2]# ls
source.log
[root@iZ test2]# cd ../test
[root@iZ test]# ls
source.log
[root@iZ test]# mv -f source.log /usr/local/test2/
[root@iZ test]# cd ../test2/
[root@iZ test2]# ls
source.log
[root@iZ test2]#

-i:移动的源文件夹或文件与目标的文件夹或文件重名,先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作;

drwxr-xr-x   2 root root    6 11月 26 22:16 test
drwxr-xr-x   2 root root   24 11月 26 22:16 test2
[root@iZ local]# cd test
[root@iZ test]# ls
[root@iZ test]# touch source.log
[root@iZ test]# ls
source.log
[root@iZ test]# cd ../test2/
[root@iZ test2]# ls
source.log
[root@iZ test2]# mv -i /usr/local/test/source.log /usr/local/test2/
mv:是否覆盖'/usr/local/test2/source.log'? n
[root@iZ test2]#

好了,今天的学习就到这里!欢迎大家评论区参与交流与讨论,更好的学习与进步!原创不易,欢迎收藏与转发支持!
在这里插入图片描述

系列推荐

猜你喜欢

转载自blog.csdn.net/weixin_43980975/article/details/121846608