rm · 删除文件
上游:ls(删之前先 ls 确认文件名)· pwd(确认在对的目录里再删) 下游:find(批量删除时用 find 精准定位文件)
一句话是什么
rm 删除文件或目录——
Linux 里没有回收站,删了就是删了。
为什么需要它
备份积累太多,磁盘快满了,要清理旧备份:
rm ~/mc-backups/mc-worlds-20260101.tar.gz
# 删了,磁盘腾出来了核心用法
公式
rm [选项] 文件名
常用命令
| 命令 | 说明 | 风险等级 |
|---|---|---|
rm 文件名 | 删除一个文件 | 低 |
rm a.txt b.txt | 同时删多个文件 | 低 |
rm *.tar.gz | 删除所有 .tar.gz 文件 | 中(注意范围) |
rm -r 目录名 | 递归删除目录和里面所有内容 | 高 |
rm -rf 目录名 | 强制递归删除,不提示确认 | 极高 |
rm -i 文件名 | 删之前逐个确认 | 最安全 |
⚠️ 删除前必做两步
# 第一步:pwd 确认自己在哪
pwd
# /home/aaron/mc-backups ← 确认是备份目录,不是其他地方
# 第二步:ls 确认要删的文件
ls mc-worlds-20260101.tar.gz
# mc-worlds-20260101.tar.gz ← 确认文件存在
# 第三步:再删
rm mc-worlds-20260101.tar.gzLinux 笑话
互联网上最著名的 Linux 事故之一:
# 本来想删当前目录下的某个目录
rm -rf ./temp/
# 但 temp 变量没设置或设成了空
rm -rf /$temp/
# 等价于
rm -rf /
# 删光了整个系统!真实事故,真的发生过。
规律:rm -rf 是最危险的命令之一,
加 / 或者空变量就可能删掉整个系统。
用之前三次确认目标路径。
例题精讲
📗 初探 Starter — 删除一个旧备份
# 确认位置
pwd
# /home/aaron/mc-backups
# 看有哪些备份
ls
# mc-worlds-20260101.tar.gz mc-worlds-20260102.tar.gz
# 删掉最旧的那个
rm mc-worlds-20260101.tar.gz
# 确认删了
ls
# mc-worlds-20260102.tar.gz ← 只剩一个📘 应用 User — 批量清理旧备份
# 查看所有备份(按时间排序)
ls -lt ~/mc-backups/
# 删除超过 30 天的备份
# (实际生产用 find,这里用通配符演示)
rm ~/mc-backups/mc-worlds-202601*.tar.gz
# 确认删除结果
ls ~/mc-backups/📙 管理 Admin — 安全删除目录
# 要删一个废弃的测试目录
ls -la ~/test-server/ # 先看里面有什么
# 确认没有要保留的东西,再删
rm -r ~/test-server/
# 如果目录里有只读文件(没有写权限),加 -f 强制
rm -rf ~/test-server/
# 更安全的做法:-i 逐个确认
rm -ri ~/test-server/
# rm: remove regular file 'test-server/config.json'? y官方文档参考
man rm # 完整手册
rm删除无法撤销;-r删目录;-f强制;-i逐个确认;删前 pwd + ls 确认两步不能省。
节点链接
上游(rm 之前要用这些确认)
下游
- find ← 批量精准删除用 find -name … -delete
实战
- shell-script ← backup.sh 里用 xargs rm -f 清理旧备份
- cron ← 定时清理旧文件
节点版本:v1.0 · 2026-04-20 Tier 1 基础节点——Linux 里没有回收站