200字
rm
2025-10-10
2025-10-10

"Remove" 的缩写,是一个用于删除文件或目录的命令行工具。

该命令可以永久删除指定的文件或目录,是文件系统管理中常用的命令,但需谨慎使用,因为删除的文件通常难以恢复。

 rm [选项] <文件/目录1> <文件/目录2> ...

常用选项

  • -f:"force",强制删除,不提示确认(即使文件只读),也不显示不存在文件的错误信息,例如 rm -f temp.txt 强制删除 temp.txt 且不提示。

  • -i:"interactive",交互式删除,删除前逐一提示确认,例如 rm -i *.log 会询问是否删除每个 .log 文件,适合避免误删。

  • -r-R:"recursive",递归删除,用于删除目录及其包含的所有文件和子目录,例如 rm -r old_dir 删除 old_dir 及其内部所有内容。

  • -v:"verbose",显示删除过程的详细信息,例如 rm -v file1.txt 会输出 已删除 'file1.txt',便于确认删除操作。

  • --preserve-root:"preserve root directory",保护根目录(默认行为),防止 rm -r / 等危险操作删除整个系统,例如 rm -r / 会被阻止并提示错误。

参考示例

  • 示例1:删除单个文件 执行 rm report.txt,删除当前目录下的 report.txt 文件,系统会对只读文件提示确认,普通文件直接删除。

  • 示例2:强制删除多个文件 执行 rm -f *.tmp,强制删除当前目录下所有以 .tmp 结尾的临时文件,不提示确认,适合清理已知的无用文件。

  • 示例3:交互式删除目录 执行 rm -ri old_project,递归删除 old_project 目录时,逐一询问是否删除其中的文件和子目录,适合需要选择性保留部分内容的场景。

  • 示例4:静默删除目录及其内容 执行 rm -rf obsolete_data,强制、递归删除 obsolete_data 目录及其所有内容,且不输出任何提示,适合脚本中批量清理过期数据(需确保路径正确,避免误删)。

  • 示例5:删除指定类型的隐藏文件 执行 rm -v .*.bak,删除当前目录下所有以 . 开头且以 .bak 结尾的隐藏备份文件,并显示删除过程,便于核对是否误删重要文件。

  • 示例6:在脚本中安全删除临时文件 脚本中执行 if [ -f "/tmp/tempfile" ]; then rm -f "/tmp/tempfile"; fi,先判断临时文件是否存在,存在则强制删除,避免脚本执行时出现“文件不存在”的错误提示。

  • 示例7:删除空目录(配合rmdir思想) 虽然 rm 主要用于删除文件,但 rm -r empty_dir 也可删除空目录(效果等同于 rmdir),但更常用 rmdir 处理空目录,rm -r 多用于删除非空目录。

警告rm -rf 是危险操作,尤其是路径包含 /~ 时,例如 rm -rf /tmp/* 是安全的,但 rm -rf / tmp/*(多一个空格)会删除根目录下的所有文件,导致系统崩溃,请务必仔细检查路径。


评论