上QQ阅读APP看书,第一时间看更新
2.8 mv:移动或重命名文件
2.8.1 命令详解
【命令星级】 ★★★★★
【功能说明】
mv命令可以理解为英文单词move的缩写,其功能是移动或重命名文件(move/rename files)。
【语法格式】
mv [option] [source] [dest] mv [选项] [源文件] [目标文件]
特别说明:
mv命令以及后面的选项和文件,每个元素之间都至少要有一个空格。
【选项说明】
表2-10针对该命令的参数选项进行了说明。
表2-10 mv命令的参数选项及说明
2.8.2 使用范例
范例2-41:给文件改名的例子。
[root@oldboy test]# ls dir1 dir3 file1.txt file3.txt file5.txt dir2 dir4 file2.txt file4.txt file6.txt [root@oldboy test]# mv file6.txt file7.txt #<==若file7.txt不存在,则将file6. txt重命名为file7.txt。 [root@oldboy test]# ls dir1 dir3 file1.txt file3.txt file5.txt dir2 dir4 file2.txt file4.txt file7.txt [root@oldboy test]# mv file5.txt file7.txt #<==若file7.txt存在,则将file5.txt 覆盖为file7.txt。 mv: overwrite 'file7.txt'? y #<==由于系统默认给mv设置了别名,因此会提示是否覆盖。 [root@oldboy test]# alias mv alias mv='mv -i' #<==-i参数的功能是若目标文件已经存在,就会询问是否覆盖。 [root@oldboy test]# ls dir1 dir2 dir3 dir4 file1.txt file2.txt file3.txt file4.txt file7.txt [root@oldboy test]# \mv file4.txt file7.txt #<==使用\屏蔽系统别名就不会询问是否覆 盖了。 [root@oldboy test]# ls dir1 dir2 dir3 dir4 file1.txt file2.txt file3.txt file7.txt [root@oldboy test]#
范例2-42:移动文件的例子。
移动单个文件:
[root@oldboy test]# ls dir1/ sub1 [root@oldboy test]# mv file7.txt dir1/ #<==dir1为目录且存在,则移动file7.txt到 dir1下,若dir1不存在,则重命名为dir1的 普通文件。 [root@oldboy test]# ls dir1/ file7.txt sub1
移动多个文件:
[root@oldboy test]# mv file1.txt file2.txt dir1/ #<==第一种方式,多个文件在前,目录 在后。 [root@oldboy test]# ls dir1/ file1.txt file2.txt file7.txt sub1 [root@oldboy test]# mv dir1/file* . #<==还原试验环境,file*匹配所有以file开头的 文件。
范例2-43:将源和目标调换移动到文件目录(-t参数)。
[root@oldboy test]# ls dir1 dir2 dir3 dir4 file1.txt file2.txt file3.txt file7.txt [root@oldboy test]# mv -t dir1/ file1.txt file2.txt file3.txt file7.txt #<==使用-t参数将源和目标调换,-t后接目录,最后是要移动的文件。 [root@oldboy test]# ls dir1/ file1.txt file2.txt file3.txt file7.txt sub1
范例2-44:移动目录的例子。
[root@oldboy test]# ls dir1 dir2 dir3 dir4 [root@oldboy test]# mv dir1 dir5 #<==目录dir5不存在,将目录dir1改名为dir5。 [root@oldboy test]# ls dir2 dir3 dir4 dir5 [root@oldboy test]# ls dir5/ file1.txt file2.txt file3.txt file7.txt sub1 [root@oldboy test]# mv dir2 dir5 #<==目录dir5存在,将dir2移动到dir5中。 [root@oldboy test]# ls dir5/ dir2 file1.txt file2.txt file3.txt file7.txt sub1 [root@oldboy test]# mv dir3/ dir5/ #<==源目录结尾加“/”不影响结果,但为了规范和简单 起见,不加“/”。 [root@oldboy test]# ls dir4 dir5 [root@oldboy test]# ls dir5/ dir2 dir3 file1.txt file2.txt file3.txt file7.txt sub1
2.8.3 关于mv命令的使用小结
表2-11针对mv命令的使用进行了总结。
表2-11 mv命令使用小结