Linux中mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录.
命令格式 :
mv [option]… [-T] source destination
mv [option]… source1 source2… directory
mv [option]… -t directory source
命令功能 : 将源文件重命名为目标文件,或将源文件移动至指定目录
常见参数 :
-b 若需覆盖文件,则覆盖前先行备份;
-f/–force 如果目标文件已经存在,不需要询问直接覆盖;
-i/interactive 若目标文件已经存在,就会询问是否覆盖;
-n/–no-clobber 不覆盖已存在的文件,即目标文件已经存在,则不会发生变化;
注意: 若同时指定-i、-f、-n中的多个,仅最后一个生效.
-S/–suffix=SUFFIX 替换常用的备份文件后缀;
-t/–target-directory=Directroy 将所有参数指定的源文件或目录移动至指定目录;
-T/–no-target-directory 将目标文件视作普通文件处理;
-u/–update 只在源文件比目标文件新,或目标文件不存在时才进行移动;
-v/–verbose 详细显示进行的步骤;
–help 显示帮助信息并退出;
–version 显示版本信息并退出;
注: 备份文件的后缀为”~”,除非一–suffix选项或是SIMPLE_SUFFIX环境变量指定.版本控制的方式可通过–backup选项或VERSION_CONTROL环境变量来选择.
以下是可用的变量值:
none,off 不进行备份,即使使用了–backup选项;
numbered,t 备份文件加上数字进行排序;
existing,nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份;
simple,never 永远使用普通方式备份;
常见案例:
<1>文件重命名
例如 : 01.txt 改名改为02.txt
# mv 01.txt 02.txt
若02.txt存在,则覆盖;若加上-b选项,则覆盖前先备份02.txt.即相应目录下会出现02.txt~的备份文件.
<2>移动单个或多个文件到指定目录
例如 : 移动01.txt 02.txt 到 test目录下
# mv 01.txt 02.txt test
<3>移动当前目录下所有文件到上一级目录下
例如 : 将/test/test2中所有文件移动到test下
# cd /test/test2
# mv * ../
其实,我们也完全通过绝对路径书写,如下:
# mv /test/test2/* /test