描述
mv
命令 1. 用来对文件或目录重新命名,2. 或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。mv
命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:- 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
- 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
- 注意事项:
mv
与cp
的结果不同,mv
好像文件“搬家”,文件个数并未增加。而cp
对文件进行复制,文件个数增加了。
语法格式
mv(选项)(参数)
常用参数
参数 | 全称 | 描述 |
---|---|---|
–backup[=CONTROL] | 若需覆盖文件,则覆盖前先行备份; | |
-b | 当文件存在时,覆盖前,为其创建一个备份; | |
-f | –force | 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; |
-i | –interactive | 交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入y ,表示将覆盖目标文件;输入n ,表示取消对源文件的移动。这样可以避免误将文件覆盖。 |
-n | –no-clobber | 不覆盖已存在的文件或目录 |
参数说明 | -i ,-f ,-n |
如果同时指定了-i ,-f ,-n (一个以上),只有最后一个生效 |
–strip-trailing-slashes | 删除源文件中的斜杠“/”; | |
-S<后缀> | –suffix=SUFFIX | 为备份文件指定后缀,而不使用默认的后缀 |
-t | –target-directory=DIRECTORY | 指定源文件要移动到目标目录; |
-T | –no-target-directory | 将DEST视为正常文件 |
-u | –update | 当源文件比目标文件新或者目标文件不存在时,才执行移动操作。 |
参考示例
- 将文件file_1重命名为file_2
> mv file_1 file_2
- 将文件file移动到目录dir中
> mv file /dir
- 将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名)
> mv /dir1 /dir2
- 将目录dir1下的文件移动到当前目录下
> mv /dir1/* .