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