您的位置:首页 > 运维架构 > Linux

linux命令 rm

2016-07-04 09:05 561 查看
linux命令目录

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。在以管理员身份登录的时候,rm是一个危险的命令,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

在使用rm的时候,默认会返回一个删除确认信息,原生态的rm是没有这个能力,并且这是管理员才有的权利,普通用户使用不会返回信息,我们使用的是被修改的rm命令,可以用 type rm查看,命令的别名是rm -i的别名。

对于所有有别名的命令,使用 \ 都能使用原生态的命令 ,例如 \rm a  就会使用原生态的rm命令。

常用选项

 -f   强行删除,系统不再提示。

 -r  强行删除目录下的所有文件、子目录下的所有文件和目录、删除dir本身。

使用示例(来自codingstandards的博客

示例一 rm的真实身份

[root@jfht ~]# type -a rm

rm is aliased to `rm -i'

rm is /bin/rm

[root@jfht ~]#

 

示例二 回收站尝试

下面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。

[root@jfht ~]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }

[root@jfht ~]# alias rm='myrm'

[root@jfht ~]# touch 1.txt 2.txt 3.txt

[root@jfht ~]# ls [123].txt          

1.txt  2.txt  3.txt

[root@jfht ~]# rm [123].txt

moved to /tmp/20110401214056 ok

[root@jfht ~]# ls /tmp/20110401214056/

1.txt  2.txt  3.txt

[root@jfht ~]#

 

示例三 删除以-开头的文件

[root@jfht ~]# touch -- -f

[root@jfht ~]# ls -- -f

-f

[root@jfht ~]# rm -- -f

moved to /tmp/20110401214709 ok

也可以使用下面的操作步骤。

[root@jfht ~]# touch ./-f

[root@jfht ~]# ls ./-f

./-f

[root@jfht ~]# rm ./-f

moved to /tmp/20110401214859 ok

[root@jfht ~]#

示例三 删除日志文件

 [root@jfht ~]# rm -f *.LOG*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux linux命令 rm命令