rm 删除目录及文件

rm 删除目录及文件

功能:rm 命令,删除一个目录中的一个或多个文件或目录(文件夹)。

它也可以将某个目录及其下的所有文件及子目录均删除。
对于链接文件,只是删除了链接,原有文件均保持不变。
文件一旦被删除,它不能被恢复。
提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的,一旦删除就永远找不回来了。尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

语法:rm [选项] 文件
短选项 长选项 含义
-f –force 忽略不存在的文件,强制删除,无任何提示。
-i –interactive 进行交互式删除
-r –recursive 递归式删除(本目录下)全部文件和目录
-v –verbose 详细显示进行的步骤

常用参数

格式:rm file
删除文件file,系统会先询问是否删除。

格式:rm -f file
强行删除file,系统不再提示。

格式:rm -rf dir
强行删除目录dir下的所有文件、子目录下的所有文件和目录、删除dir本身。

格式:rm -f .LOG
删除日志文件。

rm 文件名
删除文件,系统会先询问是否删除。
[root@localhost test1]# ls -l
总计 4
-rw-r–r– 1 root root 56 10-26 14:31 log.log
root@localhost test1]# rm log.log
rm:是否删除 一般文件 “log.log”? y
root@localhost test1]# ls -l
总计 0[root@localhost test1]#
说明:输入rm log.log命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。

rm -f 文件名
强行删除文件,系统不再提示。
[root@localhost test1]# ls -l
总计 4
-rw-r–r– 1 root root 23 10-26 14:40 log1.log
[root@localhost test1]# rm -f log1.log
[root@localhost test1]# ls -l
总计 0[root@localhost test1]#

rm -i 文件名
删除任何文件,删除前逐一询问确认
[root@localhost test1]# ls -l
总计 8
-rw-r–r– 1 root root 11 10-26 14:45 log1.log
-rw-r–r– 1 root root 24 10-26 14:45 log2.log
[root@localhost test1]# rm -i *.log
rm:是否删除 一般文件 “log1.log”? y
rm:是否删除 一般文件 “log2.log”? y
[root@localhost test1]# ls -l
总计 0[root@localhost test1]#

rm -r 目录名
将子目录及子目录中所有档案删除
[root@localhost test]# ls -l
总计 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxr-xr-x 2 root root 4096 10-26 14:51 test1
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]# rm -r test1
rm:是否进入目录 “test1”? y
rm:是否删除 一般文件 “test1/log3.log”? y
rm:是否删除 目录 “test1”? y
[root@localhost test]# ls -l
总计 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]#

rm -rf 目录名
把子目录及子目录中所有档案删除,并且不用一一确认
[root@localhost test]# rm -rf test2
[root@localhost test]# ls -l
总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]#

rm – -f
删除以 -f 开头的文件
[root@localhost test]# touch – -f
[root@localhost test]# ls – -f
-f[root@localhost test]# rm – -f
rm:是否删除 一般空文件 “-f”? y
[root@localhost test]# ls – -f
ls: -f: 没有那个文件或目录
[root@localhost test]#

也可以使用下面的操作步骤:
[root@localhost test]# touch ./-f
[root@localhost test]# ls ./-f
./-f[root@localhost test]# rm ./-f
rm:是否删除 一般空文件 “./-f”? y
[root@localhost test]#

### Linux `rm` 命令删除文件目录的方法 #### 删除单个文件 在 Linux 中,可以通过简单的 `rm` 命令来删除指定的文件。例如,要删除名为 `example.txt` 的文件,可以运行以下命令: ```bash rm example.txt ``` 此操作不会提示任何警告,默认情况下直接删除目标文件[^1]。 #### 批量删除多个文件 如果需要一次性删除多个文件,可以在命令后面列出这些文件名,中间用空格分隔。例如: ```bash rm file1.txt file2.txt file3.log ``` 上述命令将会删除 `file1.txt`, `file2.txt` 和 `file3.log` 这三个文件[^2]。 #### 删除目录及其内容 对于目录的操作,必须使用 `-r` 或者 `-R` 参数(表示递归删除)。如果不加该参数尝试删除目录,则会报错。例如,要删除名为 `mydir` 的整个目录连同其内部所有子文件和子目录,可执行如下命令: ```bash rm -r mydir ``` 为了防止误删重要数据,在实际应用中通常建议加上交互模式选项 `-i` ,这样每次删除前都会请求用户的确认。比如: ```bash rm -ri mydir ``` 这将在删除每一个项目之前询问用户是否继续[^4]。 #### 强制无提示删除 当希望快速完成清理工作而不被频繁打扰时,可以选择强制删除方式通过添加 `-f` (force)标志实现无需确认即刻移除对象的功能。需要注意的是这种做法风险较高因为一旦失误可能造成不可逆的数据丢失情况发生所以务必谨慎行事。下面的例子展示了怎样利用这一特性彻底清除某个路径下的全部内容包括隐藏项在内的每一样东西。 ```bash rm -rf .* ``` 这里特别强调一点就是单独依靠 `rm -rf *` 并不足以处理那些以前缀点号开头命名的对象;而上面提到的形式则涵盖了它们[^3]。 ### 注意事项 - **慎重对待带有 `-f` 选项的指令**:因为它绕过了所有的安全机制从而可能导致意外的重大损害。 - 确认当前所在的工作区再下达有关销毁类别的决定以免波及其他无关区域内的资料结构遭到破坏。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值