CentOS 默认没有像 Windows 那样自动开启的回收站机制,但可以通过 Trash 规范(FreeDesktop) 或 手动方案 来实现“回收站”功能。下面按常见场景给你讲清楚。
如果你用的是 CentOS 7/8/Stream + GNOME 等桌面环境:
rmDelete 键回收站位置:
~/.local/share/Trash/
结构:
Trash/
├── files/ # 被删除的文件
└── info/ # 删除时间、原路径
✅ 这是 FreeDesktop 标准回收站
服务器环境 rm 是直接删除,需要手动实现“回收站”。
trash-cli(最推荐)yum install -y epel-release
yum install -y trash-cli
trash 文件名
trash 目录名
恢复文件:
trash-restore
清空回收站:
trash-empty
查看回收站:
trash-list
✅ 符合标准回收站规范
✅ 安全、简单、可恢复
编辑:
vim ~/.bashrc
添加:
alias rm='mv -t ~/.trash --backup=numbered'
创建回收站目录:
mkdir -p ~/.trash
生效:
source ~/.bashrc
使用:
rm test.txt
文件会进入:
~/.trash/
⚠️ 缺点:
rm -rf 语义示例脚本:
#!/bin/bash
TRASH=~/.trash
mkdir -p $TRASH
mv "$@" $TRASH
使用:
chmod +x /usr/local/bin/trash.sh
trash.sh file
| 系统 | 说明 |
|---|---|
| CentOS 7 | 桌面默认有回收站 |
| CentOS 8 | 同 7 |
| CentOS Stream | 同 8 |
| 服务器 | 必须手动实现 |
❌ 不要在生产服务器上直接用 rm -rf
✅ 推荐组合:
trash-cli + 定期 trash-empty
CentOS 桌面版自带回收站,服务器版没有,推荐用
trash-cli替代rm。
如果你愿意,我可以:
直接说你的 CentOS 版本和使用场景即可 ✅