每天回顾linux命令(mv)

来源:互联网 发布:win7如何优化 编辑:程序博客网 时间:2024/05/22 05:21

mv命令
mv命令用来对文件或目录移动,或者重命名。如果将一个文件移动到一个已经存在的目标文件中,则目标文件的内容被覆盖。

mv命令可以用来将源文件移到目标文件中,或者将一组文件移动到一个目标目录中。源文件被移动到目录文件时有两种不同的结果:
1.如果目标文件是到某一目录文件的路径,源文件会被移动到目录下,且文件名不变。(移动)
2.如果目标文件不是目录,则源文件名(只能有一个)会变成目标文件名字,并且覆盖目标文件。如果源文件和目标文件在同一目录下,其作用为重命名,如果不在同一目录下则是移动加上重命名。

语法
mv (选项) (参数)

选项
–backup=<备份模式>:若覆盖文件,则覆盖前先备份;
-b: 当文件存在时,覆盖前,为其创建一个备份。

root@3eb7af6247bb:/home/wzm/go/src/testmv# lsdir  sourcefile.txtroot@3eb7af6247bb:/home/wzm/go/src/testmv# mv -b sourcefile.txt  dir/root@3eb7af6247bb:/home/wzm/go/src/testmv# lsdirroot@3eb7af6247bb:/home/wzm/go/src/testmv# cd dir/root@3eb7af6247bb:/home/wzm/go/src/testmv/dir# lssourcefile.txt  sourcefile.txt~

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

root@3eb7af6247bb:/home/wzm/go/src/testmv# lsdir  sourcefile.txtroot@3eb7af6247bb:/home/wzm/go/src/testmv# mv -f sourcefile.txt  dir/root@3eb7af6247bb:/home/wzm/go/src/testmv# lsdirroot@3eb7af6247bb:/home/wzm/go/src/testmv# cd dir/root@3eb7af6247bb:/home/wzm/go/src/testmv/dir# lssourcefile.txt

-i:交互式操作,覆盖前先询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入“n”,表示取消源文件的移动。这样可以避免将文件覆盖。
-S<后缀>:为备份文件指定后缀,不使用默认的后缀;

root@3eb7af6247bb:/home/wzm/go/src/testmv# mv -S bak sourcefile.txt  dir/root@3eb7af6247bb:/home/wzm/go/src/testmv# lsdirroot@3eb7af6247bb:/home/wzm/go/src/testmv# cd dirroot@3eb7af6247bb:/home/wzm/go/src/testmv/dir# lssourcefile.txt  sourcefile.txtbak

-u:当源文件比目标文件新或者目标文件不存在是,才执行。

参数
.源文件:源文件列表
.目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;是目录名则将源文件移动到“目标文件”下

原创粉丝点击