移动命令 mv
一、命令详解
1.命令说明
mv
命令是move
的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,覆盖移动也是删除动作。
mv命令可以用来将源文件移至一个目标文件中,
2、将一组文件移至一个目标目录中。
源文件被移至目标有以下结果:
如果源文件和目标文件在同一个目录下,
mv
的作用就是改文件名。
2、当目标文件是文件时,在不同目录下。目标文件与源文件同名,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。
3、当目标文件是目录文件时,如果目标文件是mv
到另一目录文件的路径,源文件会被移到此目录下,且文件名不变。
mv与cp的结果不同:
mv类似文件“剪切”,文件个数并未增加。
cp对文件进行复制,文件个数增加。
默认情况
mv
有别命名mv -i
‘ type mv mv is aliased to mv -i’
覆盖会有提示。但是加了-f
覆盖就不会有提示。
2.语法格式
mv [OPTION]... SOURCE ... DIRECTORYmv [选项] ... 源文件或目录 ... 目标文件或目录
3.选项描述
DESCRIPTION --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument #若需覆盖文件,则覆盖前先行备份。 -f, --force do not prompt before overwriting #force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 #若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录且不会询问。 -i, --interactive prompt before overwrite #交互式操作,如果源文件与目标文件同名,则询问是否覆盖目标文件。 -n, --no-clobber do not overwrite an existing fileIf you specify more than one of -i, -f, -n, only the final one takes effect. --strip-trailing-slashes remove any trailing slashes from each SOURCE argument #不覆盖已存在文件,如果您指定了-i、-f、-n 中的多个,仅最后一个生效。 -S, --suffix=SUFFIX override the usual backup suffix #与-b参数一并使用,可指定备份文件的所要附加的字尾,即替换备份文件后缀。 -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY #将所有参数指定的源文件或目录移动至指定目录。 -T, --no-target-directory treat DEST as a normal file #将目标文件视作普通文件处理。 -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing #在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。 #当源文件比目标文件新或者目标文件不存在时,才执行移动操作。 -v, --verbose explain what is being done #执行时显示详细的信息。 -Z, --context set SELinux security context of destination file to default type#设置目标的SELinux安全上下文 ,文件为默认类型
二、命令示例
案例1:同一目录下,相当于改名字
[root@centos7 app]#cat f2word1234aaaaabbbbb[root@centos7 app]#mv f2 f22[root@centos7 app]#lscat.txt f1 f22 f4 fifo_file merrys test.shdir1 f1_softlink f2_hardlink f5 ls.log program tomhome[root@centos7 app]#cat f22word1234aaaaabbbbb
案例2:不同目录,移动文件
[root@centos7 app]#ls ~a Desktop Documents f1 f{1-9}{a-b} fcptest Pictures Templatesb dir1 Downloads f[1-9][a-b] f333 Music Public Videos[root@centos7 app]#lscat.txt f1 f22 f4 fifo_file merrys test.shdir1 f1_softlink f2_hardlink f5 ls.log program tomhome[root@centos7 app]#mv f22 /root/f22[root@centos7 app]#ls ~a dir1 f1 f22 Music Templatesb Documents f[1-9][a-b] f333 Pictures VideosDesktop Downloads f{1-9}{a-b} fcptest Public
案例3:将多个文件移动到指定目录
[root@centos7 ~]#lsa dir1 f1 f22 Music Templatesb Documents f[1-9][a-b] f333 Pictures VideosDesktop Downloads f{1-9}{a-b} fcptest Public[root@centos7 ~]#mv a b f22 /app[root@centos7 ~]#ls /appa cat.txt f1 f22 f4 fifo_file merrys test.shb dir1 f1_softlink f2_hardlink f5 ls.log program tomhome[root@centos7 ~]#lsDesktop Documents f1 f{1-9}{a-b} fcptest Pictures Templatesdir1 Downloads f[1-9][a-b] f333 Music Public Videos
案例4:将原文件移动到已存在的文件
默认情况
mv
有别命名mv -i
‘ type mv mv is aliased to mv -i’
[root@centos7 app]#cat f1word1234aaaaabbbbb[root@centos7 app]#cat /app/dir1/f1i am empty[root@centos7 app]#mv f1 /app/dir1/mv: overwrite ‘/app/dir1/f1’? y[root@centos7 app]#cat /app/dir1/f1word1234aaaaabbbbb
如果目标已经存在同名文件,则询问是否覆盖。
案例5:目录的移动
注意:
-h
给大小加单位,S
是按文件大小排列,更容易方便阅读。
[root@centos7 app]#ls a[root@centos7 app]#mv dir1 a[root@centos7 app]#ls adir1
案例6:子目录里的文件移动到另一个子目录里
root@centos7 app]#ls dir1[root@centos7 app]#mv /app/a/* /app/dir1/[root@centos7 app]#ls dir1dir1[root@centos7 app]#ls /app/a
案例7:覆盖文件之前先行备份#mv -b
[[root@centos7 app]#touch f33[root@centos7 app]#mv -b f22 f33mv: overwrite ‘f33’? y[root@centos7 app]#lsa cat.txt f1 f2_hardlink f33~ f5 ls.log program tomhomeb dir1 f1_softlink f33 f4 fifo_file merrys test.sh
案例8:强制执行 #mv -f
注意:
mv -f
是个危险的选项,使用的时候一定再三确认。
一般情况下不要加上-f
。
[root@centos7 app]#mv -f /app/dir1/f1 f1[root@centos7 app]#cat f1word1234aaaaabbbbb[root@centos7 app]#cat /app/dir1/f1cat: /app/dir1/f1: No such file or directory
案例9:移动文件 #mv -t
当需要移动多个源文件时,适用于这种方式,这时目标目录在前,源文件在后。
[root@centos7 a]#ls[root@centos7 a]#cd /app[root@centos7 app]#mv -t /app/a/ f33 dir1 f5 ls.log[root@centos7 app]#ls /app/adir1 f33 f5 ls.log[root@centos7 a]#mv -t ../../app f33 f5[root@centos7 a]#lsdir1 ls.log[root@centos7 a]#ls /appa cat.txt f1_softlink f33 f4 fifo_file program tomhomeb f1 f2_hardlink f33~ f5 merrys test.sh
来源地址:https://blog.csdn.net/Cyan_Jiang/article/details/128357545
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341