在 Linux 系统中,通常使用 rm
命令删除文件后,文件会被直接从系统中移除,难以恢复。但是,可以通过以下几种方法来尝试找回误删的文件:
~/.local/share/Trash/files
目录中。ls ~/.local/share/Trash/files/
mv
命令将其恢复到原来的位置:mv ~/.local/share/Trash/files/被删除的文件路径 目标路径
trash
的 Shell 脚本,替代系统默认的 rm
命令。该脚本将文件移动到回收站目录,并为文件添加时间戳以防止重名。#!/bin/bash
TRASH_DIR="$HOME/.trash"
if [ ! -d "$TRASH_DIR" ]; then
mkdir -p "$TRASH_DIR"
fi
if [ $# -eq 0 ]; then
echo "Usage: $0 file_or_directory"
exit 1
fi
for FILE in "$@"; do
if [ -e "$FILE" ]; then
TIMESTAMP=$(date +%Y%m%d%H%M%S)
BASENAME=$(basename "$FILE")
NEW_NAME="$BASENAME-$TIMESTAMP"
mv "$FILE" "$TRASH_DIR/$NEW_NAME"
else
echo "'$FILE' does not exist!"
fi
done
extundelete
是一个用于恢复已删除文件的命令行工具,适用于 ext2、ext3 和 ext4 文件系统。extundelete
:sudo apt-get install extundelete # Debian/Ubuntu
sudo yum install extundelete # CentOS/RHEL
extundelete
恢复单个文件:extundelete /dev/vdb1 --restore-file 22.txt
extundelete
恢复全部删除的文件:extundelete /dev/vdb1 --restore-all
sudo apt-get install testdisk # Debian/Ubuntu
sudo yum install testdisk # CentOS/RHEL
rsync
或其他工具定期将文件夹备份到其他存储介质或远程服务器上。请注意,数据恢复的成功率取决于文件被删除后的时间长短以及磁盘上是否有新数据写入。因此,建议在日常工作中养成良好的备份习惯,以防止误删文件。