在 CentOS 里没有像 Windows 那样的“回收站(Recycle Bin)”机制,文件一旦被删除(尤其是用 rm)就直接消失。不过可以通过几种常见方式实现“回收”或“防误删”操作。下面按使用场景给你说明。
trash-cli(推荐,最接近回收站)trash-cli 是一个命令行回收站工具,删除的文件会进入 ~/.local/share/Trash。
yum install -y epel-release
yum install -y trash-cli
trash 文件名
trash 目录名
trash-list
restore-trash
会列出文件,输入编号即可恢复。
trash-empty
✅ 这是 CentOS 下最接近“回收站”的做法
rm 删除extundelete(ext4 文件系统)yum install -y extundelete
extundelete /dev/sda1 --restore-file /home/user/test.txt
extundelete /dev/sda1 --restore-directory /home/user/data
恢复的文件会放在:
RECOVERED_FILES/
⚠️ 成功率不是 100%,越早操作越好
rm 加安全别名编辑:
vi ~/.bashrc
添加:
alias rm='rm -i'
生效:
source ~/.bashrc
每次删除都会提示确认。
mkdir -p ~/.trash
vi /usr/local/bin/myrm
内容:
#!/bin/bash
mv $@ ~/.trash/
chmod +x /usr/local/bin/myrm
以后用:
myrm 文件名
lvcreate --size 1G --snapshot --name snap /dev/vg00/lv_root
误删后:
mount /dev/vg00/snap /mnt
cp /mnt/原路径/文件 /原路径
| 场景 | 推荐方案 |
|---|---|
| 想要回收站 | ✅ trash-cli |
| 误删 ext4 文件 | extundelete |
| 防止误删 | rm -i 或自定义 mv |
| 企业环境 | LVM / 备份 |
如果你说的是 “某个软件里叫 recycle 的功能”(如 Ceph、Kubernetes、数据库、某些 Web 面板),可以把完整上下文发我,我可以给你精确命令。