在Linux系统中,没有像Windows那样的图形化回收站功能。但是,你可以使用一些命令行工具来查找和恢复已删除的文件。以下是一些建议的方法:
lsof
命令:
lsof
(List Open Files)是一个显示当前系统打开文件的实用程序。当文件被删除但仍被某个进程使用时,可以使用lsof
来找到它。安装lsof
(如果尚未安装):
sudo apt-get install lsof # 对于基于Debian的系统,如Ubuntu
sudo yum install lsof # 对于基于RPM的系统,如Fedora
查找已删除但仍被使用的文件:
sudo lsof | grep '(deleted)'
找到文件后,你可以决定是否要恢复它。如果需要恢复,请找到使用该文件的进程并重新启动它,以便将文件从内存中恢复到磁盘上。然后,你可以使用cp
命令将文件复制到其他位置以进行恢复。
extundelete
工具:
extundelete
是一个用于恢复已删除文件的实用程序,适用于ext3和ext4文件系统。首先,你需要安装extundelete
:sudo apt-get install extundelete # 对于基于Debian的系统,如Ubuntu
sudo yum install extundelete # 对于基于RPM的系统,如Fedora
接下来,找到包含已删除文件的文件系统设备。你可以使用df
命令来查找:
df -h
假设你要恢复的文件位于/dev/sda1
设备上,你可以使用以下命令尝试恢复已删除的文件:
sudo extundelete /dev/sda1 --restore-file path/to/deleted/file
或者,如果你想恢复整个目录:
sudo extundelete /dev/sda1 --restore-directory path/to/deleted/directory
恢复的文件将被保存在当前目录下的RECOVERED_FILES
文件夹中。
请注意,这些方法并不能保证100%恢复已删除的文件。文件恢复的成功取决于许多因素,如文件系统类型、文件被删除后的时间以及磁盘上的写入操作。因此,定期备份数据是一个很好的习惯。