本文主要是介绍风萧萧兮易水寒,壮士一去兮不复还 的 rm 命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
风萧萧兮易水寒,壮士一去兮不复还 的 rm 命令
- 风萧萧兮易水寒,壮士一去兮不复还 的 rm
- 语法
- 几个示例
- /bin/rm Argument list too long – Linux”
- 配合find与xargs完成删除海量文件
- 使用find的delete选项
- 快速删除大文件
风萧萧兮易水寒,壮士一去兮不复还 的 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
需要替换为大文件的路径和文件名字。
会写一个空格到这个文件,随后即可删除。
这篇关于风萧萧兮易水寒,壮士一去兮不复还 的 rm 命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!