rm命令使用指南

rm(remove)命令用于删除文件和目录,是 Linux 中非常强大也很危险的命令之一。以下是 rm 命令的使用大全,涵盖常见用法和注意事项。


🔧 基本语法

rm [选项] 文件/目录

📁 常见用法示例

1. 删除文件

rm file.txt

删除当前目录下的 file.txt 文件。


2. 删除多个文件

rm file1.txt file2.txt

同时删除多个指定的文件。


3. 强制删除(跳过确认)

rm -f file.txt

即使文件受保护(只读)也删除,不会提示确认。


4. 交互式删除(每个文件都确认)

rm -i file.txt

系统会询问是否删除每个文件。


5. 删除空目录(不推荐使用 rm,推荐用 rmdir

rm -d emptydir

删除空目录(等同于 rmdir)。


6. 递归删除目录及其内容(危险操作

rm -r myfolder/

递归删除 myfolder 目录及其中所有内容。


如果遇到的错误信息:

rm: cannot remove 'go/': Is a directory

说明你尝试使用 rm -i go/ 删除一个目录,但默认的 rm 不能删除目录,除非加上 -r(递归)选项。


✅ 正确做法:

方法一:交互式递归删除目录(推荐)

rm -ri go/
  • -r:递归删除目录及其内容;

  • -i:每个文件都要你确认是否删除;

  • 比较安全,适合初学者。


方法二:直接强制删除目录及其内容(⚠️危险)

rm -rf go/
  • 无任何确认,立刻删除,请确保操作正确!


🔒 建议:

如果你只是想查看将被删除的文件列表,可以先运行:

ls -R go/

这会列出 go 目录中的所有内容,让你更安心地确认后再删除。


7. 强制 + 递归删除目录及其所有文件

rm -rf myfolder/

极其危险,无提示地删除整个目录树。使用前请三思。


⚙️ 常用组合选项

选项 含义说明
-f 强制删除,不提示
-i 交互式确认
-I 若一次删除多个文件时才提示
-r 递归删除目录及其内容
-d 删除空目录
-v 显示正在删除的文件(verbose)

🧠 安全使用技巧

🔒 防止误删的建议

  1. 别用 rm -rf /,哪怕是测试也不要尝试。

  2. 使用 -i-I 增加确认步骤。

  3. 设置别名增强安全性(建议加到 ~/.bashrc~/.zshrc):

    alias rm='rm -i'
    
  4. 使用 trash-cli 工具,把文件移动到回收站而不是直接删除。

    sudo apt install trash-cli
    trash-put file.txt
    

🧪 示例练习命令

mkdir testdir
touch testdir/a.txt testdir/b.txt
rm -i testdir/*.txt   # 逐个确认删除
rm -rf testdir        # 递归强制删除整个目录

❗ 常见误区与坑

  • rm *:删除当前目录所有文件(不包括目录)

  • rm -rf .*危险,可能会删除 ...git 目录

  • rm -- --filename:文件名以 - 开头时需用 -- 区分参数

    rm -- -filename.txt
    

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享