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

相关推荐
Dxy12393102162 分钟前
Linux 如何关闭关不掉的进程
linux·运维·chrome
小徐敲java23 分钟前
Linux读取串口实时数据
linux·运维·服务器
辰_砂42 分钟前
国产服务器操作系统编译nginx生成rpm包
运维·nginx
YOLO数据集集合1 小时前
配电站智能运维|变电一次设备识别|高压电气构件目标检测数据集|电力巡检
运维·人工智能·深度学习·yolo·目标检测·视觉检测
keyipatience1 小时前
25.Linux静态动态库全解析
linux·运维·服务器
爱睡觉1111 小时前
在 Android 模拟器 Shell 下运行 ncnn 推理的性能排查记录
linux·shell
MartinYeung51 小时前
[论文学习]基于梯度迭代上下文优化的 LLM 隐私越狱攻击框架
学习·区块链
开开心心_Every2 小时前
多连接方式的屏幕共享工具推荐
运维·服务器·pdf·电脑·excel·tornado·dash
落羽的落羽2 小时前
【项目】JsonRpc框架——开发实现1(细节功能、字段定义、抽象层、具象层)
linux·服务器·网络·c++·人工智能·算法·机器学习
shixuzhimeng2 小时前
FTP服务器项目
linux·网络·ftp