名称
rm - 删除文件或目录
简介
rm [选项]... [文件]...描述
rm 命令用于删除指定的文件或目录。默认情况下,它不会删除目录,需要使用 -r 或 -R 选项递归删除目录及其内容。一旦文件被删除,通常无法恢复,除非使用专门的数据恢复工具。
该命令主要用于:
删除不再需要的文件。
清空目录内容或删除整个目录树。
结合通配符批量删除文件。
选项
退出状态
0 – 所有指定文件成功删除。
>0 – 发生错误(例如文件不存在但未使用
-f、权限不足、尝试删除目录但未使用-r等)。
常用示例
1. 删除单个文件
rm file.txt2. 强制删除文件(不提示)
rm -f file.txt3. 交互式删除(每次询问)
rm -i file.txt4. 删除多个文件
rm file1.txt file2.jpg file3.log5. 递归删除目录及其内容
rm -r old_directory/6. 强制递归删除目录(常用清理操作)
rm -rf temp/注意: rm -rf 是非常危险的命令,请务必确认路径正确。
7. 删除前提示,并显示详细信息
rm -iv *.tmp8. 删除空目录(相当于 rmdir)
rm -d empty_dir/9. 保护根目录的示例(即使使用 -rf 也无法删除 /,除非加上 --no-preserve-root)
rm -rf / # 默认会提示错误,不会真正删除根目录10. 使用通配符删除所有 .log 文件(谨慎)
rm *.log11. 删除文件名包含特殊字符的文件
rm -- -filename.txt # 文件名以破折号开头,需用 -- 表示选项结束
# 或者使用相对路径 ./--filename.txt12. 限制在同一文件系统内递归删除
rm -rf --one-file-system /mnt/data这会在删除 /mnt/data 时,不会跨越到其他挂载点(如 /mnt/data/other_disk)。
注意事项
rm删除的文件通常无法恢复,请务必谨慎操作。考虑使用-i选项或别名alias rm='rm -i'来增加安全性。使用
-rf组合时,尤其是以 root 身份执行,极易造成系统损坏。建议在执行前先用ls确认要删除的内容。对于重要文件,可以考虑使用
trash-cli(如trash-put)将文件移动到回收站,而不是直接删除。如果要删除文件名以
-开头的文件,需要使用--选项结束符,例如rm -- -filename,或使用路径rm ./-filename。默认情况下,
rm会保护根目录/,即使执行rm -rf /也会报错(除非使用--no-preserve-root)。但依然要小心路径拼写错误,例如rm -rf /home/user /中的空格可能导致灾难。在脚本中使用
rm时,应确保变量展开后不会意外删除根目录或重要文件。可以使用--来防止以-开头的文件名被解释为选项。递归删除目录时,如果目录内有大量文件,可能会花费较长时间。可以考虑使用
rsync --delete等工具清空目录。
相关命令
rmdir– 删除空目录。unlink– 删除单个文件(底层调用)。shred– 安全删除文件(覆盖内容以防恢复)。trash– 将文件移至回收站(需安装trash-cli)。ls– 列出目录内容,用于确认要删除的文件。find– 结合-delete或-exec rm {} \;可以更灵活地删除文件。