1.功能:移动文件或者修改文件的名称

2.用法:mv [选项] 源文件 目标文件 或者 源文件 目标目录

3.参数:

-b,--backup[=CONTROL] 对已存在的文件进行备份

-f, --force 强制覆盖

-i, --interactive 若目标文件存在,询问是否覆盖

-n, --no-clobber 不允许覆盖

-t, --target-directory=DIRECTORY 将所有的源文件移动到目标目录中

-T, --no-target-directory  把目标文件当成一个正常的文件

-u, --update 只有当源文件比目标文件要新时才能移动

4.例子

例1:将test_1.txt文件改名成test_mv.txt

[root@mycentos home]# cd test

[root@mycentos test]# ls

test_1  test_1.txt  test_monday.txt

[root@mycentos test]# mv test_1.txt test_mv.txt

[root@mycentos test]# ls 

test_1  test_monday.txt  test_mv.txt

例2:使用-b参数,在修改test_1.txt的名称时,会将test_mv.txt 命名成test_mv.txt~,覆盖文件之前会询问是否覆盖

[root@mycentos test]# ls

test_1  test_1.txt  test_mv.txt

[root@mycentos test]# mv -b test_1.txt test_mv.txt 

mv:是否覆盖"test_mv.txt"? y

[root@mycentos test]# ls

test_1  test_mv.txt  test_mv.txt~


例3:强制覆盖test_mv.txt

[root@mycentos test]# ls

test_1  test_1.txt  test_mv.txt

[root@mycentos test]# mv -f test_1.txt  test_mv.txt 

[root@mycentos test]# ls

test_1  test_mv.txt

例4:带有-n参数,不允许覆盖文件,也不会报错

[root@mycentos test]# mv -n test_1.txt test_mv.txt 

[root@mycentos test]# ls

test_1  test_1.txt  test_2.txt  test_mv.txt

例5:将test_*文件复制到/test_1文件夹中

[root@mycentos test]# ls

test_1  test_1.txt  test_2.txt  test_3.txt

[root@mycentos test]# mv -t test_1 test_*.txt

[root@mycentos test]# ls

test_1

[root@mycentos test]# cd test_1/

[root@mycentos test_1]# ls

test_1.txt  test_2  test_2.txt  test_3.txt

例6: 使用-u参数更新文件,test_1.txt的时间早于test_mv.txt,不能覆盖;test_2.txt的时间晚于test_mv.txt,可以将其覆盖。

[root@mycentos test]# ls -lh

总用量 16K

drwxr-xr-x 3 root root 4.0K 5月  16 18:09 test_1

-rw-r--r-- 1 root root   16 5月  16 18:00 test_1.txt

-rw-r--r-- 1 root root   16 5月  16 18:12 test_2.txt

-rw-r--r-- 1 root root   16 5月  16 18:10 test_mv.txt

[root@mycentos test]# mv -u test_1.txt  test_mv.txt #未报错,未覆盖

[root@mycentos test]# ls -lh

总用量 16K

drwxr-xr-x 3 root root 4.0K 5月  16 18:09 test_1

-rw-r--r-- 1 root root   16 5月  16 18:00 test_1.txt

-rw-r--r-- 1 root root   16 5月  16 18:12 test_2.txt

-rw-r--r-- 1 root root   16 5月  16 18:10 test_mv.txt

[root@mycentos test]# mv -u test_2.txt  test_mv.txt 

mv:是否覆盖"test_mv.txt"? y

[root@mycentos test]# ls -lh

总用量 12K

drwxr-xr-x 3 root root 4.0K 5月  16 18:09 test_1

-rw-r--r-- 1 root root   16 5月  16 18:00 test_1.txt

-rw-r--r-- 1 root root   16 5月  16 18:12 test_mv.txt