Linux学习四之 rm 命令详解

rm 是 Unix/Linux/macOS 系统中删除文件 / 目录 的核心命令,这节介绍 rm 的用法、常见参数和安全注意事项(避免误删)。

一、rm 核心语法

bash 复制代码
rm [参数] 目标文件/目录
  • 核心作用:删除文件或目录(默认仅能删除文件,删除目录需加参数);
  • 注意:rm 删除的文件默认无法恢复(无回收站),操作需谨慎!

二、最常用参数(必记)

参数 含义 示例 适用场景
-f 强制删除(忽略不存在的文件,无提示) rm -f test.txt 确定要删除,不想被提示打断
-r/-R 递归删除(删除目录及目录下所有内容) rm -r mydir 删除非空目录
-rf 强制递归删除(最常用,无提示删除目录) rm -rf node_modules 快速删除项目依赖目录、日志目录等
-i 交互式删除(删除前逐一确认) rm -i test.txt 谨慎操作,避免误删

三、高频使用场景

场景 1:删除单个文件
bash 复制代码
# 删除普通文件(会提示确认,输入 y 确认)
rm test.txt

# 强制删除文件(无提示)
rm -f .env.local
场景 2:删除目录(你最常用的场景)
bash 复制代码
# 删除空目录(直接删)
rm -r empty-dir

# 删除非空目录(如 Vue 项目的 node_modules)
rm -rf node_modules

# 强制删除 yarn.lock 锁定文件
rm -f yarn.lock
场景 3:批量删除指定类型文件
bash 复制代码
# 删除当前目录下所有 .log 日志文件
rm -f *.log

# 删除当前目录下所有 .txt 文件(交互式,逐一确认)
rm -i *.txt

四、安全注意事项(避坑!)

1. 绝对禁止执行的高危命令
复制代码
# !!!切勿执行!!!删除根目录所有文件,系统直接报废
rm -rf /

# !!!切勿执行!!!删除当前用户所有文件
rm -rf ~

✅ 防护:执行 rm -rf 前,先执行 pwd 确认当前目录,避免删错!

2. 避免误删的小技巧
  • 加 -i 参数:删除前确认(适合重要文件);
  • 先备份:删除重要目录前,先压缩备份(如 tar -zcf node_modules.tar.gz node_modules);
  • 用 ls 预览:删除前先查看要删的内容(如 ls node_modules)。
3. 误删后的补救(仅参考,成功率低)
  • macOS 可尝试从「访达 → 废纸篓」恢复(仅当文件是通过访达删除,rm 删除的不会进废纸篓);
  • 专业数据恢复工具:如 Disk Drill(macOS)、TestDisk(Linux),但耗时且不一定能恢复。

五、与 rm 相关的实用命令

命令 作用 示例
rmdir 仅删除空目录(比 rm -r 安全) rmdir empty-dir
trash 将文件移到废纸篓(替代 rm,可恢复) brew install trash && trash test.txt

总结

关键点回顾

  1. 核心用法 :
    • 删除文件:rm 文件名 / rm -f 文件名;
    • 删除目录:rm -rf 目录名(你操作 Vue 项目的核心用法);
  2. 安全原则 :
    • 执行 rm -rf 前先 pwd 确认目录;
    • 重要文件删除前加 -i 确认,或先备份;
  3. 高危禁止 :绝对不要执行 rm -rf / 或 rm -rf ~。

掌握 rm 的核心参数(-r/-f)就能安全高效地删除文件 / 目录,避免因误操作导致数据丢失。

相关推荐
在角落发呆7 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
_upupup8 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
百度一下吧8 小时前
Nginx 使用手册:从安装配置到实战部署
运维·nginx
JeJe同学8 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR9 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
回眸&啤酒鸭9 小时前
【回眸】自动化白盒测试落地实战指南
运维·自动化·log4j
闲云野鹤在人间9 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
李日华大战鸡红10 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
一个风轻云淡10 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛11 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法