Linux 回收站数据备份指南
一、先确认回收站位置
二、手动备份与恢复
mkdir -p ~/TrashBackupcp -r ~/.local/share/Trash/files/* ~/TrashBackup/cp -r ~/.local/share/Trash/info ~/TrashBackup/infocp -r ~/TrashBackup/* ~/.local/share/Trash/files/cp -r ~/TrashBackup/info ~/.local/share/Trash/info三、自动化定时备份
#!/usr/bin/env bash
TRASH_DIR="$HOME/.local/share/Trash/files"
BACKUP_DIR="$HOME/TrashBackup/$(date +%F_%H-%M-%S)"
mkdir -p "$BACKUP_DIR"
if [ -d "$TRASH_DIR" ] && [ "$(ls -A "$TRASH_DIR")" ]; then
cp -r "$TRASH_DIR"/* "$BACKUP_DIR/"
echo "回收站已备份至:$BACKUP_DIR"
else
echo "回收站为空或目录不存在:$TRASH_DIR"
fi
赋予执行权限:chmod +x backup_trash.shcrontab -e0 2 * * * /path/to/backup_trash.sh四、进阶做法与风险控制
rm 的风险:
sudo apt-get install trash-cli(或发行版对应包管理器)trash-put <file>、trash-list、trash-restoremount --bind /mnt/usb/.local/share/Trash/files ~/.local/share/Trash/filesgsettings get org.gnome.desktop.interface trash-max-agegsettings set org.gnome.desktop.interface trash-max-age 30inotifywait -m -r ~/.local/share/Trash/files --format '%w%f' | while read f; do echo "变动:$f"; donerm 直接删除且未启用回收站/未使用 trash-cli,需转向文件恢复工具(如 extundelete、testdisk),成功率取决于文件系统与后续写入情况。