主动回收是指通过工具将文件移动到回收站而非直接永久删除,方便后续恢复。常见方法如下:
trash-cli是一个命令行工具,将文件移动到系统回收站(类似Windows回收站),支持查看、恢复和清空回收站。
sudo yum install trash-clitrash /path/to/file(支持单个文件或目录,目录需用-r参数递归)trash-listtrash-restore(交互式选择需恢复的文件)trash-empty(可指定清空天数,如trash-empty 7清空7天前的文件)gvfs-trash是基于GVFS(GNOME虚拟文件系统)的工具,依赖图形环境,但也可通过命令行使用。
sudo yum install gvfsgvfs-trash /path/to/filegvfs-trash-emptygvfs-undelete(部分系统支持)若需完全自定义回收路径或规则,可手动创建回收站目录及脚本:
mkdir -p ~/.local/share/Trash/{files,info}trash):#!/bin/bash
if [ -z "$1" ]; then
echo "Usage: trash <file|directory>"
exit 1
fi
TARGET=$1
TRASH_DIR="$HOME/.local/share/Trash/files"
INFO_DIR="$HOME/.local/share/Trash/info"
mv "$TARGET" "$TRASH_DIR"
echo "[Trash Info]Path=$TARGET DeletionDate=$(date +%s)" > "$INFO_DIR/$(basename "$TARGET").trashinfo"
chmod +x trash./trash /path/to/file若使用GNOME、KDE等桌面环境,文件管理器(如Nautilus)内置回收站功能:
若文件已被rm -rf等命令彻底删除(未进入回收站),需使用数据恢复工具扫描磁盘剩余空间:
extundelete是专门用于恢复ext文件系统删除文件的工具,需立即停止对目标分区的写入(防止新数据覆盖)。
sudo yum install extundeletesudo extundelete /dev/sdXY --restore-all(/dev/sdXY为目标分区,如/dev/sda1)sudo extundelete /dev/sdXY --restore-file path/to/deleted/fileRECOVERED_FILES文件夹。TestDisk用于恢复分区表和文件系统结构,PhotoRec用于恢复丢失的文件(支持多种文件类型)。
sudo yum install testdisk(包含PhotoRec)sudo testdisk,按提示选择磁盘、分区,选择“Analyse”扫描。PhotoRec时,选择文件系统类型(如ext4),指定恢复目录即可。若有定期备份(如使用rsync、tar或第三方备份工具),可直接从备份介质(如外接硬盘、NAS)复制文件到原始位置,这是最可靠的恢复方式。
trash-cli或gvfs-trash,避免直接rm删除重要文件。cron定时任务),是防止数据丢失的关键。