【linux命令讲解大全】035.文件删除命令:rm 和 rmdir 的用法详解

2024-03-02 13:02:16 浏览数 (1)

rm

用于删除给定的文件和目录

补充说明

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

语法
代码语言:javascript复制
rm (选项)(参数)
选项
  • -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
  • -f:强制删除文件或目录;
  • -i:删除已有文件或目录之前先询问用户;
  • -r-R:递归处理,将指定目录下的所有文件与子目录一并处理;
  • --preserve-root:不对根目录进行递归操作;
  • -v:显示指令的详细执行过程。
参数

文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。

实例

交互式删除当前目录下的文件testexample

代码语言:javascript复制
rm -i test example

删除当前目录下除隐含文件外的所有文件和子目录

代码语言:javascript复制
rm -r *

应注意,这样做是非常危险的!

删除当前目录下的package-lock.json文件

代码语言:javascript复制
find . -name "package-lock.json" -exec rm -rf {} ;

查找 .html 结尾的文件并删除

代码语言:javascript复制
find ./docs -name "*.html" -exec rm -rf {} ;

删除当前项目下 .html 结尾的文件

代码语言:javascript复制
rm -rf *.html

删除当前目录下的node_modules目录

代码语言:javascript复制
find . -name 'node_modules' -type d -prune -exec rm -rf '{}'  

删除文件

代码语言:javascript复制
rm testfile.txt

删除目录

代码语言:javascript复制
rm -r [目录名称]

删除操作前有确认提示

代码语言:javascript复制
rm -i [文件/目录]

rm忽略不存在的文件或目录

-f选项(即“force”)让此次操作强制执行,忽略错误提示

代码语言:javascript复制
rm -f [文件...]

仅在某些场景下确认删除

选项-I,可保证在删除超过3个文件时或递归删除时仅提示一次确认。

代码语言:javascript复制
rm -I file1 file2 file3

删除根目录

当然,删除根目录(/)是 Linux 用户最不想要的操作,这也就是为什么默认rm命令不支持在根目录上执行递归删除操作。然而,如果你非得完成这个操作,你需要使用--no-preserve-root选项。当提供此选项,rm就不会特殊处理根目录(/)了。

不给实例了,操作系统都被你删除了,你太坏了

0 人点赞