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

相关推荐
CDN3604 小时前
SDK 游戏盾接入闪退 / 初始化失败?依赖冲突与兼容修复
运维·游戏·网络安全
123过去4 小时前
hashid使用教程
linux·网络·测试工具·安全
C+++Python5 小时前
Linux/C++多进程
linux·运维·c++
最贪吃的虎5 小时前
GitHub推送又超时了?试试SSH
运维·ssh·github
XZY0285 小时前
如何使用grpc
运维·服务器
rleS IONS5 小时前
SQL2000在win10上安装的方法
运维·服务器
初生牛犊不怕苦5 小时前
与AI一起学习《C专家编程》:数组与指针
c语言·学习·算法
elseif1235 小时前
浅谈 C++ 学习
开发语言·c++·学习
Stack Overflow?Tan905 小时前
linux ubuntu22.04安装ROS2humble完整版的流程
linux·docker·ros2
zly35005 小时前
centos7 sshd无法启动
linux·运维·服务器