mv命令是move的缩写,根据添加不同的参数,分别可以用来实现移动文件、重命名文件、重命名目录、备份文件或者目录等功能。
语法:
mv [选项] 源文件或目录(参数1) 目标文件或目录(参数2)
以上语法中,如果参数2是目标文件,那么mv命令会将源文件重命名为参数2名。如果参数2是目标目录,则会将源文件或目录移动到名为参数2的目录下。要注意的是,参数2是文件时候,源文件参数1只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。而当参数2是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中,在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
选项
-b: 若需覆盖文件,则覆盖前先行备份。-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i:若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u:若目标文件已经存在,且source比较新,才会更新(update) -t: –target-directory=DIRECTORYmoveallSOURCEargumentsintoDIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。-n, --no-clobber不要覆盖现有文件.如果指定了-i、-f、-n中的一个以上,则只有最后一个有效。--strip-trailing-slashes从每个源参数中删除任何尾随斜杠-S, --suffix=SUFFIX覆盖通常的备份后缀-T, --no-target-directory将DEST视为正常文件-v, --verbose解释正在做什么-Z, --context将目标文件的SELinux安全上下文设置为默认类型
翻译看不懂:
注意-f 这是个危险的选项,它直接强制就覆盖了,要慎用,一般情况下最好不用它。
一些示例:
最后使用下列命令可以将当前目录所有文件移动到上级目录:
mv * ../
总结:
mv命令可以实现文件重命名,也可以将文件移动到新的目录中,区别是最后一个参数是目标文件还是目录,如果是目标文件就是重命名,如果是目录则将该文件移动到次目录下。当然源文件也可以是目录。
END