文章目录
- 一、命令介绍
- 二、语法格式
- 三、参考选项
- 四、参考示例
- (一)删除当前目录下有内容的子目录
- (二)删除当前目录下多个含有内容的子目录
- (三)删除当前目录下以特定关键字开头的文件
- (四)删除根目录
- (五)删除当前目录下除隐含文件外的所有文件和子目录(谨慎)
- (六)清空整个系统中除隐含文件外所有的文件(谨慎)
- (七)删除多个文件时,只提示一次确认
- (八)将指定目录下的内容删除,但是保留指定目录本身
- (九)删除当前目录下的所有隐藏文件
- (十)删除指定目录下的所有文件
- 五、特别注意
一、命令介绍
用于删除给定的文件和目录。对于链接文件,只是删除了链接,原有文件均保持不变。
注意:使用 rm
命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm
命令可以用 -i
选项,这个选项在使用通配符删除多个文件时特别有用。因为使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入 y
并按 Enter
键,才能删除文件。如果仅按 Enter
键或其他字符,文件不会被删除。
二、语法格式
rm [选项] [参数]
参数:指定被删除的文件和目录
三、参考选项
选项 | 说明 |
---|---|
-d | 直接把欲删除的目录的硬连接数据删除成 0,删除该目录 |
-f | 强制删除文件或目录,不会出现警告信息 |
-i | 删除已有文件或目录之前先询问用户 |
-r 或 -R | 递归处理,将指定目录下的所有文件与子目录一并处理 |
–preserve-root | 不对根目录进行递归操作 |
-v | 显示指令的详细执行过程 |
四、参考示例
(一)删除当前目录下有内容的子目录
删除当前目录下的子目录 test 及其所包含的内容:
[root@htlwk0001host test]# rm -r test
rm:是否删除目录 'test'? // 输入yes,即删除目录test及其包含的内容[root@htlwk0001host liaowenxiong]# rm -rf test // 不提示,直接删除
(二)删除当前目录下多个含有内容的子目录
删除当前目录下的两个子目录 dir1 和 dir2,同时删除它们所包含的内容:
[root@htlwk0001host liaowenxiong]# rm -rf dir1 dir2
(三)删除当前目录下以特定关键字开头的文件
使用通配符删除文件。
删除当前目录下全部以 jetbrains 开头的文件:
[root@htlwk0001host liaowenxiong]# rm -rf jetbrains*
(四)删除根目录
当然,删除根目录(/)是 Linux 用户最不想要的操作,这也就是为什么默认 rm 命令不支持在根目录上执行递归删除操作。 然而,如果你非得完成这个操作,你需要使用 --no-preserve-root 选项。当提供此选项,rm 就不会特殊处理根目录(/)了。
不给实例了,操作系统都被你删除了,牛逼!
(五)删除当前目录下除隐含文件外的所有文件和子目录(谨慎)
[root@linuxcool ~]# rm -rf *
(六)清空整个系统中除隐含文件外所有的文件(谨慎)
[root@linuxcool ~]# rm -rf /*
(七)删除多个文件时,只提示一次确认
选项 -I
,可保证在删除超过 3 个(含)文件时或递归删除时仅提示一次确认。
删除当前目录下的 file1、file2、file3:
[root@linuxcool ~]# rm -I file1 file2 file3
(八)将指定目录下的内容删除,但是保留指定目录本身
将当前目录下的子目录 www 下的内容清空,但是保留子目录 www
[root@linuxcool ~]# rm -rf www/*
(九)删除当前目录下的所有隐藏文件
rm -rf .*
当前目录下的当前目录 .
和上一个目录 ..
无法删除:
rm: "." and ".." may not be removed
(十)删除指定目录下的所有文件
另请参见:Linux 删除指定目录下的文件/删除文件
五、特别注意
删除文件可以直接使用 rm
命令,删除空的目录可以使用选项 -d
,若删除有内容的目录则必须使用选项 -r
。