每日一个linux命令06-mv

1. 命令解析

命令用途

重命名文件/目录,移动文件/目录

命令格式

重命名文件/目录 mv [OPTIONS]... SROUCE DEST

移动文件/目录至DIRECTORY mv [OPTIONS]... SROUCE... DIRECTORY

移动文件/目录至DIRECTORY mv [OPTIONS]... -t DIRECTORY SROUCE...

命令参数

-b 若目标文件已存在,在覆盖前先备份目标文件
-f, --force 强制删除,不提示用户 危险!慎用!
-i, --interactive 覆盖前提示用户
-n, --no-clobber 不覆盖已存在的文件
若-fin 三者同时使用,仅最后一个参数生效

-S, --suffix=SUFFIX 指定备份文件的后缀,默认为~
如命令 mv -b --suffix=.back a b,执行过后,文件b的备份为b.back
-t,--target-directory=DIRECTORY 标准目录选项,把所有SOURCE参数文件移动到目录DIRECTORY

-u, -update 仅在在目标文件不存在时移动或源文件比目标文件新时覆盖

2. 示例

2.1 移动文件,若目标文件已存在则备份之


[root@test mvTest]# ls
a  b  c  d1  {d1  d2  d3
[root@test mvTest]# mv -b a b
mv: overwrite `b'? y
[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3

2.2 不覆盖已存在的文件

[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3
[root@test mvTest]# mv -n b c;
[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3

2.3 参数覆盖

[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3
[root@test mvTest]# mv -fin b c;
[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3

2.4 改写备份文件后缀

[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3
[root@test mvTest]# mv b c;
mv: overwrite `c'? n
[root@test mvTest]# mv -b -S ! b c
mv: overwrite `c'? y
[root@test mvTest]# ls
b~  c  c!  d1  {d1  d2  d3

2.5 移动一组文件

[root@test mvTest]# ls
b~  c  c!  d1  d2  d3  f1  f2  f3
[root@test mvTest]# mv f1 f2 f3 d2
[root@test mvTest]# ls
b~  c  c!  d1  d2  d3
[root@test mvTest]# tree d2
d2
├── f1
├── f2
└── f3

0 directories, 3 files

2.6 使用标准目录选项移动一组文件

[root@test mvTest]# ls
b~  c!  d1  d2  d3
[root@test mvTest]# ls d2/
c  f1  f2  f3
[root@test mvTest]# mv -t d3 d1/b d2/c
[root@test mvTest]# tree d3
d3
├── b
└── c


0 directories, 2 files
[root@test mvTest]# ls
b~  c!  d1  d2
[root@test mvTest]# mv -t b~ d2
mv: target `b~' is not a directory

2.7 更新后移动文件

[root@test mvTest]# ls
a  b  b~  c  c!  d1  d2
[root@test mvTest]# touch a
[root@test mvTest]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 10 20:22 a
-rw-r--r-- 1 root root    0 Apr 10 20:20 b
-rw-r--r-- 1 root root    0 Apr 10 19:30 b~
-rw-r--r-- 1 root root    0 Apr 10 20:20 c
-rw-r--r-- 1 root root    0 Apr 10 19:30 c!
drwxr-xr-x 4 root root 4096 Apr 10 20:18 d1
drwxr-xr-x 2 root root 4096 Apr 10 20:18 d2
[root@test mvTest]# mv -u b a;
[root@test mvTest]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 10 20:22 a
-rw-r--r-- 1 root root    0 Apr 10 20:20 b
-rw-r--r-- 1 root root    0 Apr 10 19:30 b~
-rw-r--r-- 1 root root    0 Apr 10 20:20 c
-rw-r--r-- 1 root root    0 Apr 10 19:30 c!
drwxr-xr-x 4 root root 4096 Apr 10 20:18 d1
drwxr-xr-x 2 root root 4096 Apr 10 20:18 d2
[root@test mvTest]# mv -u a b;
mv: overwrite `b'? y
[root@test mvTest]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 10 20:22 b
-rw-r--r-- 1 root root    0 Apr 10 19:30 b~
-rw-r--r-- 1 root root    0 Apr 10 20:20 c
-rw-r--r-- 1 root root    0 Apr 10 19:30 c!
drwxr-xr-x 4 root root 4096 Apr 10 20:18 d1
drwxr-xr-x 2 root root 4096 Apr 10 20:18 d2

你可能感兴趣的:(每日一个linux命令06-mv)