每日命令 | mv、rm – 作者:noobsec

01 命令简介

之前我们已经讲了文件和目录的创建及复制,今天我们来讲一讲剪切和删除。

mv——移动、重命名文件


1-mv.jpg

rm——删除文件


2-rm.jpg

02 命令详解

语法

mv [选项] 参数1 参数2
rm [选项] 参数

mv,move的缩写,移动;rm,remove的缩写,删除。这样介绍,相信校友们更容易理解和记忆命令的用途。

参数

mv [选项] 源文件 目标文件

在语法上,mv命令和cp命令其实很相似。选项和参数都差不多,也有三种模式。

不同的是,cp命令是在另一个地方复制一份文件,整个计算机就有了两份内容一样的文件;而mv命令是将文件移动到另一个地方,整个计算机还是只有一份这样的文件。


3-mv1.jpg

注意,对文件执行mv命令,不会更新文件的时间属性。


4-mv2.jpg

但是执行cp命令,默认情况下会更新文件的时间属性。


5-cp.jpg

除了名字不一样,内容、时间属性都一样,因此mv命令也用来对文件重命名。

rm命令的参数可以是文件,可以是目录,也可以同时包含文件和目录,参数之间用空格隔开即可。


6-rm1.jpg

选项

mv命令的选项和cp命令的选项差不多,“-i”交互、“-n”不覆盖、“-f”强制、“-u”更新,这里不再赘述。我们讲一个“-b”备份选项,cp命令也有这个选项。

首先我们新建一个空文件。


7-touch.jpg

然后将1.txt移动到同目录下的2.txt,由于2.txt已经存在,所以默认会覆盖2.txt原来的内容。这个时候我们添加“-b”选项,系统会在覆盖之前,生成2.txt的备份文件。


8-cat.jpg

可以看到,目录下多了个2.txt~的文件,这就是原来2.txt文件的备份,所以用cat命令查看是没有内容的。

另外,再介绍一个“-t”选项,用于指定移动的目标目录,然后将目标目录后的所有文件移动到目标目录中。


9-mv.jpg

指定目标目录为test目录,然后将test目录后跟随的1,2,3全部移动到其中。


10-mv.jpg

当然也可以不使用“-t”选项,使用默认语法就可以完成以上工作。但是使用“-t”选项指定目标目录,在一定程度上能够方便大家快速理解命令的含义,这个在具体工作中,各位校友可以根据自己习惯来使用。

mv命令大家平时可能听的少,但rm命令我相信大家听过肯定不止一两次。什么输错命令宕机,什么从删库到跑路,基本和rm命令有关。

眼尖的校友可能注意到,我在讲参数的时候,用rm命令删除的是文件,而不是目录,因为rm命令默认情况下是不删除目录的。


11-rm.jpg

可以看到,系统明确提示无法删除,因为test是一个目录。如果想要删除目录,就必需添加“-r”选项。


12-rm.jpg

但是mv命令对目录进行操作,不需要“-r”选项。


13-rm.jpg

不添加“-r”选项,mv命令依然将test目录移动到了Desktop目录。

Linux有大量的命令,不同命令,选项各不相同。大家刚接触可能会存在记混或容易遗忘的情况,这很正常,多敲几遍就会越来越熟练的。

“-r”选项是rm命令使用很频繁的选项,另外一个使用很频繁的选项是“-f”选项。


14-rm.jpg

可以看到,在使用了“-f”选项后,系统没有任何提示直接将指定的文件和目录都删除了,这也是“rm -rf”命令经常出事的原因。

最后要提醒的是,执行rm命令默认是不提示的,我这里提示是因为我设置了执行rm命令会附带“-i”选项。


15-rm.jpg

这种叫做别名,执行rm命令其实是在执行“rm -i”。所以有的校友在执行rm命令时,系统没有提示就直接把文件给删除了,遇到这种情况不必惊慌,设置一下就好了。另外出于安全考虑,也建议设置提示。

03 知识总结

语法:    
    mv [选项] 参数1 参数2     
    rm [选项] 参数 
用途:    
    mv——移动、重命名文件     
    rm——删除文件 
选项:mv:-i——交互 
        -n——不覆盖 
        -u——更新 
        -f——强制 
        -b——备份 -t——指定目标目录
    rm:-r、-R——删除目录 
        -f——强制 -d——删除空目录
其他:alias——别名

来源:freebuf.com 2019-05-06 10:54:59 by: noobsec

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论