在 CentOS(以及大多数 Linux 发行版)里,“recycle(回收站)”并不是系统默认功能,不像 Windows 那样有统一的回收站。通常我们说“CentOS 的 recycle 策略”,一般有以下几种常见场景,你可以按需选择:
rm 代替方案(最常见:回收站式删除)trash-cli(推荐)trash-cli 提供类似 Windows 回收站的功能。
yum install epel-release -y
yum install trash-cli -y
trash-put file.txt # 删除到回收站
trash-list # 查看回收站
trash-restore # 恢复
trash-empty # 清空回收站
trash-empty 30 # 清空30天前的
echo "alias rm='trash-put'" >> ~/.bashrc
source ~/.bashrc
✅ 优点:安全、可恢复
❌ 缺点:只对个人用户生效
如果你已经使用 trash-cli,可以加定时任务:
crontab -e
例如:每天清理 7 天前的回收站
0 2 * * * /usr/bin/trash-empty 7
lvcreate --size 1G --snapshot --name root-snap /dev/vg0/root
适合:
如果你在 CentOS 上搭建了 Samba 文件服务器,可以配置回收站:
[share]
path = /data/share
read only = no
vfs objects = recycle
recycle:repository = .recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:maxsize = 0
重启 Samba:
systemctl restart smb
✅ Windows 用户删除文件会进入 .recycle
如果不想装软件:
alias rm='mv -t ~/.recycle/'
mkdir -p ~/.recycle
定时清理:
find ~/.recycle -mtime +7 -delete
| 场景 | 推荐方案 |
|---|---|
| 个人服务器 | trash-cli |
| 多用户 | trash-cli + 权限管理 |
| 文件共享 | Samba recycle |
| 数据安全 | LVM 快照 |
| 简单防误删 | mv + 定时清理 |
如果你能说明 用途(个人 / 服务器 / 共享),我可以给你一套更精确的配置。