mv
【功能说明】:
move (rename) files # 移动或重命名文件或目录,两者可同时进行
★ 可同时移动多个文件,最后一个必须是目录
【语法格式】:
mv [OPTION]... SOURCE... DIRECTORY
【选项参数】:
参数 | 说明 |
-b | 若需覆盖目标文件,则覆盖前先备份 |
-f, --force | 强制覆盖目标文件,不询问用户,危险 |
-i, --interactive | 若需覆盖目标文件,覆盖前先询问(默认使用) |
-u, --update | 当源文件比目标文件版本更新时,才覆盖目标文件 |
-v, --verbose | 显示命令执行过程 |
【实践操作】:
1、重命名文件/tmp/a.txt 为/tmp/b.txt ,重命名目录/aadir 为 /bbdir
[root@Mode /]# mv /tmp/a.txt /tmp/b.txt
[root@Mode /]# mv /aadir/ /bbdir/
[root@Mode /]# ls /tmp/
b.txt
[root@Mode /]# ls /
bbdir boot dev home lib64 media opt root selinux sys tmp var
bin data etc lib lost+found mnt proc sbin srv test usr
[root@Mode /]#
2、把文件/tmp/b.txt 移动到 /data/ 目录下,若目标文件已存在,则覆盖前先备份
[root@Mode /]# mv -bv /tmp/b.txt /data/
mv: overwrite `/data/b.txt'? y
`/tmp/b.txt' -> `/data/b.txt' (backup: `/data/b.txt~')
[root@Mode /]# ls /data/
b.txt b.txt~
3、把文件/tmp/b.txt 移动到 /data/ 目录下,若目标文件已存在,则直接覆盖
[root@Mode /]# mv -f /tmp/b.txt /data/
[root@Mode /]#
4、把文件/tmp/b.txt 移动到 /data/ 目录下,若目标文件已存在,先询问用户
[root@Mode /]# mv -i /tmp/b.txt /data/
mv: overwrite `/data/b.txt'? y
[root@Mode /]#
5、把文件/tmp/b.txt 移动到 /data/ 目录下,若目标文件版本更新,则操作不进行
[root@Mode /]# cat /tmp/b.txt
111111
[root@Mode /]# cat /data/b.txt
111111
I am the new
I am the newer
[root@Mode /]# ll /tmp/b.txt /data/b.txt
-rw-r--r--. 1 root root 35 May 17 17:53 /data/b.txt
-rw-r--r--. 1 root root 7 May 17 17:52 /tmp/b.txt
[root@Mode /]# mv -u /tmp/b.txt /data/
[root@Mode /]# cat /data/b.txt
111111
I am the new
I am the newer
[root@Mode /]#