Linux-移动目录与文件(mv)

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