mv 可移动文件或目录,或是更改文件或目录的名称。
命令语 法 mv [-bfiuv][–help][–version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]
一、选项含义
-b 若需覆盖文件,则覆盖前先行备份。 -f 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。 -i 覆盖前先行询问用户。 --suffix=<附加字尾> -b 参数一并使用,可指定备份文件的所要附加的字尾。 -u 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。 -v 执行时显示详细的信息。 --version-control=<方法> -b 参数一并使用,可指定备份的方法。 --help 显示帮助。 --version 显示版本信息。
用户可以使用mv命令来移动文件或目录至另一文件或目录,还可以将目录或文件重命名。
mv只接收两个参数
- 第1个为要移动或重命名的文件或目录
- 第2个为新文件名或目录
当mv接收两个参数或多个参数时,如果最后一个参数对应的是目录而且该目录存在,mv会将各参数指定的文件或目录移动到此目录中,如果目的文件存在时,将会进行覆盖。
[root@CentOS conf]# cp -a nginx.conf.bak nginx.conf.20150412 [root@CentOS conf]# ls -l total 72 -rw-r--r--. 1 root root 2685 Apr 12 22:52 nginx.conf.20150412 -rw-r--r--. 1 root root 2685 Apr 12 22:52 nginx.conf.bak
#如果目标文件已经存在,将会询问用户是否覆盖 [root@CentOS conf]# /bin/mv -i nginx.conf.20150412 nginx.conf.bak /bin/mv: overwrite nginx.conf.bak'? y [root@CentOS conf]# ls -l total 72 -rw-r--r--. 1 root root 2685 Apr 12 22:52 nginx.conf.bak [root@CentOS conf]# cp -a nginx.conf.bak nginx.conf.20150412 [root@CentOS conf]# ls -l total 72 -rw-r--r--. 1 root root 2685 Apr 12 22:52 nginx.conf.20150412 -rw-r--r--. 1 root root 2685 Apr 12 22:52 nginx.conf.bak #在要覆盖某已有的目标文件时不给任何提示信息 [root@CentOS conf]# /bin/mv -f nginx.conf.20150412 nginx.conf.bak [root@CentOS conf]# ls -l total 68 -rw-r--r--. 1 root root 2685 Apr 12 22:52 nginx.conf.bak
为避免误覆盖文件,建议使用mv命令移动文件时,最好使用“-i”选项。
二、移动多个文件
如果想一次移动多个文件,我们可以将他们放在一行并用空格分开。
[root@CentOS conf]# mv file_2.txt file_3.txt file_4.txt /home/pungki/office
如果你的文件有规律可循的话那么你就可以使用通配符。比如,为了移除所有以.txt为扩展名的文件,我们可以用下面的命令:
[root@CentOS conf]# mv *.txt /home/pungki/office
三、重命名文件或目录
我们也用 mv 命令来重命名文件或目录。不过目标位置和源位置必须相同才可以。然后文件名必须不同。
假定我们当前所在目录为/home/pungki/Documents,而我们想将file_1.txt重命名为file_2.txt。那么命令应该如下:
[root@CentOS conf]# mv file_1.txt file_2.txt
如果是绝对路径,它应该像下面这样:
[root@CentOS conf]# mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt