在Linux系统中,默认情况下没有像Windows那样的统一回收站,但不同桌面环境(如GNOME、KDE等)会提供自己的回收站功能,而命令行删除的文件通常需要依赖工具或手动配置才能恢复。以下是不同场景下的回收站位置和恢复方法:
GNOME/KDE/XFCE等桌面环境:
bash
~/.local/share/Trash/
bash
~/.local/share/Trash/
├── files/ # 被删除的文件实际存储在这里
├── info/ # 记录文件的原始路径和删除时间(.trashinfo文件)
└── expunged/ # (某些系统可能不存在)
通过图形界面:
直接点击桌面环境的“回收站”图标即可查看/恢复文件。
rm
命令删除的文件不会进入回收站,而是直接永久删除。rm
:
trash-cli
(推荐):
bash
sudo apt install trash-cli # Debian/Ubuntu
sudo yum install trash-cli # CentOS/RHEL
bash
trash-put file.txt # 删除到回收站
trash-list # 查看回收站文件
trash-restore # 交互式恢复文件
trash-empty # 清空回收站
gvfs-trash
(部分系统内置):
bash
gvfs-trash file.txt # 删除到回收站
如果你希望命令行删除的文件也进入回收站,可以创建自定义别名:
bash
echo 'alias rm="trash-put"' >> ~/.bashrc # 用trash-cli替代rm
source ~/.bashrc
或者直接绑定到 ~/.local/share/Trash/files/
:
bash
alias rm='mv -t ~/.local/share/Trash/files/'
rm
直接删除且未备份,可尝试用工具恢复:
extundelete
(ext文件系统):
bash
sudo extundelete /dev/sdX --restore-file /path/to/file
testdisk
(通用工具):
bash
sudo testdisk # 按向导操作
~/.local/share/Trash/
)。trash-cli
替代 rm
。如有其他使用场景,可以进一步补充说明!