rm 是 Linux 系统中功能最强大、同时也最危险的命令之一,它的全称是 Remove,意为“移除”。它的主要功能是删除文件或目录。
1. 基础用法:删除文件
这是 rm 最基本的功能,用于删除一个或多个指定的文件。
rm file1.txt file2.txt file3.log
2. 核心参数:控制删除行为
rm 提供了多种参数来应对不同的删除场景,理解它们是安全操作的关键。
| | |
|---|
-r | | 删除目录及其所有内容。这是删除非空文件夹的必用参数。 |
-f | | 忽略不存在的文件,并且从不提示确认。即使文件是只读的也会直接删除。 |
-v | | 显示详细的删除过程,让你清楚地知道哪些文件被删除了。 |
常用组合示例:
rm -r my_folder # 递归删除 my_folder 目录及其下所有内容rm -f important.log # 强制删除,不进行任何提示(危险!)
3. 进阶技巧:安全删除与特殊场景
掌握这些技巧可以让你在应对复杂情况时更加得心应手。
删除以连字符 - 开头的文件
如果文件名以 - 开头(例如 -test.txt),rm 会误以为它是一个参数。此时需要使用 -- 来告诉命令“参数到此结束”,后面的都是文件名。
或者使用相对路径:
使用 rmdir 删除空目录
如果你确定要删除的是一个空目录,可以使用 rmdir 命令。它比 rm -r 更安全,因为它无法删除非空目录,可以有效防止误删。
安全删除的最佳实践
1. 先预览,后删除:在使用通配符(如 *)删除前,先用 ls 命令查看一下会匹配到哪些文件。
# 想删除所有 .log 文件ls *.log # 先执行这个,确认匹配的文件无误rm *.log # 再执行这个
2. 在脚本中使用引号:在 Shell 脚本中删除变量代表的文件时,务必给变量加上双引号,防止因变量为空或包含空格而导致误删。
# 错误示范:如果 MY_DIR 为空,可能导致灾难性后果rm -r MY_DIR# 正确示范rm -r "$MY_DIR"
4. 实用场景与常见问题
删除一个非空目录
这是 rm 最常见的用法之一,必须使用 -r 参数。
如果目录中有只读文件,系统可能会提示你。如果想强制删除整个目录,可以组合使用 -rf。
再次警告:rm -rf 是 Linux 中最具破坏性的命令组合之一,请务必确保路径正确!
常见错误