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)就能安全高效地删除文件 / 目录,避免因误操作导致数据丢失。

相关推荐
GeW3 小时前
红帽RHCE从挂科边缘到一次过,我做对了什么
linux
时空自由民.4 小时前
WSL解决USB 串口连接问题与linux串口权限问题
linux·单片机
OpenPomeloxCommunity4 小时前
Linux驱动基础(三):firmware的声明与加载
linux·操作系统
2601_949950634 小时前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
云计算练习生4 小时前
什么是系统调用?为什么程序访问硬件必须经过它
linux·windows·操作系统·系统调用·操作系统原理
别动我齐刘海4 小时前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
闲云野鹤在人间5 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算
亚川楼宇自控系统数据中心厂家5 小时前
IBMS 集成如何打通数据中心的子系统数据孤
运维
玄芯散人5 小时前
【筑基·059】Linux命令行入门:工程师的操作系统
linux·操作系统·命令行
半仙白桑5 小时前
内核篇第二讲:Linux exec 函数族详解
linux·linux驱动