1 | mv
|
2 | ===
|
3 |
|
4 | 用来对文件或目录重新命名
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **mv命令** 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
|
9 |
|
10 | mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:
|
11 |
|
12 | 1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
|
13 | 2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
|
14 |
|
15 | 注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
|
16 |
|
17 | ### 语法
|
18 |
|
19 | ```shell
|
20 | mv(选项)(参数)
|
21 | ```
|
22 |
|
23 | ### 选项
|
24 |
|
25 | ```shell
|
26 | --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
|
27 | -b:当文件存在时,覆盖前,为其创建一个备份;
|
28 | -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
|
29 | -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
|
30 | --strip-trailing-slashes:删除源文件中的斜杠“/”;
|
31 | -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
|
32 | --target-directory=<目录>:指定源文件要移动到目标目录;
|
33 | -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
|
34 | ```
|
35 |
|
36 | ### 参数
|
37 |
|
38 | * 源文件:源文件列表。
|
39 | * 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
|
40 |
|
41 | ### 实例
|
42 |
|
43 | 将目录`/usr/men`中的所有文件移到当前目录(用`.`表示)中:
|
44 |
|
45 | ```shell
|
46 | mv /usr/men/* .
|
47 | ```
|
48 |
|
49 | 移动文件
|
50 |
|
51 | ```shell
|
52 | mv file_1.txt /home/office/
|
53 | ```
|
54 |
|
55 | 移动多个文件
|
56 |
|
57 | ```shell
|
58 | mv file_2.txt file_3.txt file_4.txt /home/office/
|
59 | mv *.txt /home/office/
|
60 | ```
|
61 |
|
62 | 移动目录
|
63 |
|
64 | ```shell
|
65 | mv directory_1/ /home/office/
|
66 | ```
|
67 |
|
68 | 重命名文件或目录
|
69 |
|
70 | ```shell
|
71 | mv file_1.txt file_2.txt # 将文件file_1.txt改名为file_2.txt
|
72 | ```
|
73 |
|
74 | 重命名目录
|
75 |
|
76 | ```shell
|
77 | mv directory_1/ directory_2/
|
78 | ```
|
79 |
|
80 | 打印移动信息
|
81 |
|
82 | ```shell
|
83 | mv -v *.txt /home/office
|
84 | ```
|
85 |
|
86 | 提示是否覆盖文件
|
87 |
|
88 | ```shell
|
89 | mv -i file_1.txt /home/office
|
90 | ```
|
91 |
|
92 | 源文件比目标文件新时才执行更新
|
93 |
|
94 | ```shell
|
95 | mv -uv *.txt /home/office
|
96 | ```
|
97 |
|
98 | 不要覆盖任何已存在的文件
|
99 |
|
100 | ```shell
|
101 | mv -vn *.txt /home/office
|
102 | ```
|
103 |
|
104 | 复制时创建备份
|
105 |
|
106 | ```shell
|
107 | mv -bv *.txt /home/office
|
108 | ```
|
109 |
|
110 | 无条件覆盖已经存在的文件
|
111 |
|
112 | ```shell
|
113 | mv -f *.txt /home/office
|
114 | ```
|
115 |
|
116 |
|