风萧萧兮易水寒,壮士一去兮不复还 的 rm 命令

风萧萧兮易水寒,壮士一去兮不复还 的 rm

如果Linux命令按照危险性来个排行榜,rm绝对一骑绝尘,名列第一。

因为发生过太多太多无奈、无辜、无法挽回的事情。

rm 命令用于删除文件或者目录。官方定义为:

remove files or directories

语法

$ rm [options] name...

参数

  • -i 删除前逐一询问确认,确认时比较好用。
  • -f 即使原档案属性设为唯读,也直接删除,无需逐一确认,是force的意思。
  • -r 将目录及里面的子文件逐一删除。

几个示例

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

$ rm  a.txt 
rm:是否删除 一般文件 "test.txt"? y  
$ rm  test  
rm: 无法删除目录"test": 是一个目录  
$ rm  -r  test  
rm:是否删除 目录 "test"? y 

删除当前目录下的所有文件及目录,命令行为:

$ rm  -r  * 

文件一旦通过rm命令删除,则无法恢复,所以必须格外一定切记小心地使用该命令。

因为发生过很多欲哭无泪的故事。。。

主要的痛点就在如果是在root账户权限下,rm无所不能呀

/bin/rm Argument list too long – Linux”

这种情况主要在大批量删除居多文件的情况下发生,也是因为删除的命令参数超过了shell参数的个数导致的,可以通过getconf ARG_MAX来确认,解决方法好几种

配合find与xargs完成删除海量文件

可以通过find和xargs命令配合的方式,比如删除当前目录所有的png文件,

$ find . -name "*.png" -print0 | xargs -0 rm

上面的这个命令会删除当前目录及子目录下所有的png文件,如果不想遍历,仅仅是当前目录,可以采用如下的方式:

$ find . -maxdepth 1 -name "*.png" -print0 | xargs -0 rm

使用find的delete选项

还有一种方法是使用如下:

$ find . -name "*.png" -delete

切记,需要再三确认。

快速删除大文件

有时候文件可能会变得很大,非常非常大。比如有些log文件动辄几十GB,而通常情况下可能会用rm来删除,可能要产生比较大的IO消耗,一个比较简单的方法可以这么来操作:

$ echo '' > big_file

当然这个big_file需要替换为大文件的路径和文件名字。

会写一个空格到这个文件,随后即可删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我们编程吧

为吾笔墨赞赏,莫大荣幸鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值