linux mv移动文件命令详解!替换强制覆盖多个文件

作者: admin 分类: linux常用命令大全 发布时间: 2018-06-02 10:08

   mv移动或更名现有的文件或目录

  语 法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]

  补充说明:mv 可移动文件或目录,或是更改文件或目录的名称。

  参 数:

  -b 或--backup 若需覆盖文件,则覆盖前先行备份。

  -f 或--force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。

  -i 或--interactive 覆盖前先行询问用户。

  -S<附加字尾>或

  --suffix=<附加字尾> 与-b 参数一并使用,可指定备份文件的所要附加的字尾。

  -u 或--update 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。

  -v 或--verbose 执行时显示详细的信息。

  -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

Linux 命令大全

更多

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!