Linux中 mv(文件移动)
mv命令的功能有以下两种:
source target
mv 参数1 参数2
1.对文件或目录重新命名
如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。
2.将文件从一个目录移到另一个目录中
mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:
- 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
- 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件(举例如下:例子1)。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
例子1: /tmp 文件夹下有一个 a.txt文件,内容是:123456 / 目录下有一个abc.txt文件,内容是:xxxxx 在/tmp 文件夹下执行命令:mv a.txt /abc.txt 执行完成后,/tmp 下面的a.txt 消失,/ 目录下的 abc.txt内容变为:123456
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了
语法
mv(选项)(参数)
选项
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份; -b:当文件存在时,覆盖前,为其创建一个备份; -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。 --strip-trailing-slashes:删除源文件中的斜杠“/”; -S<后缀>:为备份文件指定后缀,而不使用默认的后缀; --target-directory=<目录>:指定源文件要移动到目标目录; -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
参数
- 源文件:源文件列表。
- 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
实例
将文件ex3改名为new1
mv ex3 new1
将目录/usr/men
中的所有文件移到当前目录(用.
表示)中:
mv /usr/men/* .