rm
在 Linux 系统中用来删除文件和目录。这是一个比较常用的命令,但同时也是一个在使用时需要特别小心的命令。如果粗心大意,或是熟悉了它的用法以后眼神跟不上手速,很容易就会导致一些数据误删除的情况。
用 rm
命令删除的文件没有进回收站的流程,一旦执行完命令即表示已经从磁盘抹去了指定的文件,想要还原只能依靠专业的数据还原软件或专业的数据还原人员。曾经无数人都因为误操作此命令导致删除了重要数据;喜欢用 root
账号的人,甚至还导致删除了整个系统。现在这样的事情依然在发生,相信将来这样情况也不会少见。
鉴于此命令的危险性,在此给 Linux 新人朋友的建议有两点:
- 日常操作不要使用
root
用户。 - 使用此命令时务必让自己节奏慢下来,核对要输入的要删除路径后再按回车键。
- 每次使用时都用
-i
选项进行交互式提示操作。也可以通过alias
命令把这个选项加进去,免得每次都要自己输入。
rm 命令格式
rm [选项]... 文件列表...
默认 GUN 版本的 rm
命令只能移除文件,无法删除目录。
rm 命令示例
删除 test.txt 文件:
rm test.txt
删除多个文件:
rm 1.txt 2.txt
删除 test 目录:
rm -r test
执行删除操作前进行确认提示:
rm -i -r test
rm 命令选项
缩写 | 完整名称 | 说明 |
---|---|---|
-f |
--force |
忽略不存在的文件和参数,从不提示。 |
-i |
在每次删除前提示。 | |
-I |
在进行递归删除或删除多于三个文件之前提示用户一次,与 -i 相比较更少干扰用户。 |
|
--interactive [=WHEN] |
根据 WHEN 确定提示用户的频率: never (从不)、once (-I )、或者 always (-i );如果没有给定 WHEN 参数,则总是提示用户。 |
|
--one-file-system |
在递归地删除一个目录结构时,跳过与对应命令行参数不在同一个文件系统中的所有目录。 | |
--no-preserve-root |
不对 / 做特殊处理。 |
|
--preserve-root [=all] |
不要删除 / (默认行为);如添加了 all 参数,将拒绝处理与父目录位于不同设备上的命令行参数。 |
|
-r , -R |
--recursive |
递归地移除目录及它们的内容。 |
-d |
--dir |
删除空目录。 |
-v |
--verbose |
解释正在发生的情况。 |
--help |
显示此帮助信息并退出。 | |
--version |
显示版本信息并退出。 |