Linux下回收站的备份方法
Linux系统没有统一的“回收站”界面,但文件管理器(如GNOME的Nautilus、KDE的Dolphin)会将删除的文件临时存储在用户主目录下的隐藏文件夹中。常见路径包括:
~/.local/share/Trash/files(存储实际文件)、~/.local/share/Trash/info(存储文件元数据,如删除时间、原路径);~/.Trash-1000(数字为 user ID,存储所有回收站文件)。手动备份是最基础的备份方式,适合临时或单次备份需求:
cd命令进入回收站目录(以GNOME为例):cd ~/.local/share/Trash/files
~/TrashBackup):mkdir -p ~/TrashBackup
cp -r ./* ~/TrashBackup/ # 复制文件
cp -r ~/.local/share/Trash/info/* ~/TrashBackup/info/ # 复制元数据(可选但建议)
执行后,回收站中的所有文件及元数据将存储到~/TrashBackup目录中。通过脚本可实现定期、批量的备份,减少手动操作:
backup_trash.sh):#!/bin/bash
# 定义回收站目录(适配GNOME)和备份目录
TRASH_DIR="$HOME/.local/share/Trash/files"
INFO_DIR="$HOME/.local/share/Trash/info"
BACKUP_DIR="$HOME/TrashBackup_$(date +%Y%m%d_%H%M%S)" # 按时间命名备份目录
# 创建备份目录
mkdir -p "$BACKUP_DIR/info"
# 复制文件及元数据
cp -r "$TRASH_DIR"/* "$BACKUP_DIR/"
cp -r "$INFO_DIR"/* "$BACKUP_DIR/info/"
echo "回收站备份完成,存储路径:$BACKUP_DIR"
chmod +x backup_trash.sh
./backup_trash.sh
脚本会自动创建带时间戳的备份目录(如~/TrashBackup_20251025_1430),并将回收站文件及元数据复制到该目录。若需要定期自动备份(如每天凌晨2点),可通过cron任务实现:
crontab文件:crontab -e
0 2 * * * /path/to/backup_trash.sh >> /path/to/backup.log 2>&1
其中:
0 2 * * *表示每天凌晨2点执行;/path/to/backup_trash.sh为脚本的绝对路径;>> /path/to/backup.log 2>&1将脚本输出(包括错误信息)追加到日志文件中,便于后续检查。ls ~/.local/share/Trash或ls ~/.Trash-*确认)。~/.local/share/Trash/info目录中的.trashinfo文件记录了文件的原始路径、删除时间等信息,备份时可保留以便后续恢复时还原到正确位置。