Linux怎么查谁删了文件/目录

Linux怎样查看回收站历史记录

Linux 实际上没有预制的回收站,您可以打开它并检查以前删除的项目。
但是,命令行工具可以提供帮助,并且可以恢复文件,但您需要快速完成。
我们来谈谈如何做到这一点。

1 .使用 lsof 命令查找已删除且尚未关闭的文件。
如果一个文件刚刚被删除但仍在被进程使用,您可以使用 lsof 再次查看它。
命令是: 异丙酚| grep '(已删除)' 这列出了所有已删除但未释放的文件,以及它们占用的进程的PID。
例如,如果您看到 /path/to/file(deleted) 并且 PID 为 1 2 3 4 ,则意味着有一个进程仍在使用该文件。
如何恢复: 1 .首先使用kill -9 1 2 3 4 终止进程(如果您认为不应该使用该文件)。
2 . 然后使用 cp /proc/1 2 3 4 /fd/3 /recovery/path/file 复制文件内容。
您实际上可能需要根据命令输出更改数字 fd/3
但是,必须在用新数据覆盖文件之前执行此方法。
否则就太晚了。

2 使用 extundelete 从 ext3 /ext4 系统恢复文件 该工具专门处理 ext3 和 ext4 分区。
您必须首先安装:
Debian/Ubuntu sudo apt-get install extundelete
RHEL/CentOS 使用 sud yum install extundelete
安装。
使用以下命令扫描分区以查看可以恢复的内容。
sudo extundelete /dev/sdXY --list-deleted-files (将 /dev/sdXY 替换为您的实际分区,例如 /dev/sda1 )
您将看到一个列表。
要恢复单个文件: sudo extundelete /dev/sdXY --restore-file /path/to/deleted/file 要恢复一切可能: sudo extundelete /dev/sdXY --restore-all 默认情况下,恢复的项目保存在 RECOVERED_FILES 文件夹中。

3 使用testdisk恢复各种文件系统文件 这个工具功能非常强大,支持ext、NTFS、FAT等,还可以恢复分区表。
安装方法:
对于 Debian/Ubuntu,请使用 sudo apt-get install testdisk。

RHEL/CentOS使用sud yum install testdisk。

大致步骤如下: 1 . 运行 sudo testdisk 并选择磁盘和分区表类型(例如 Intel/PC)。
2 . 选择一个分区(例如ext4 分区)并进入高级菜单。
3 . 选择取消删除并按照说明检索和恢复文件,不要忘记将它们保存在安全的地方。

4 注意事项 1 . Linux没有回收站接口,所以必须使用工具来查找。
你想看历史吗?没有这样的功能。
2 . 忘记已被新数据覆盖的文件,因为它们无法恢复。
因此,您必须快速工作并避免记录任何新数据。
3 、工具也是按文件系统来划分的。
例如,extundelete 仅处理 ext3 /ext4 不同的系统需要不同的工具。
4 .最好的办法是定期备份。
如果数据丢失,您可以使用 rsync 或云存储来恢复数据。

5 另一种方法:安装图形回收站 如果你想有一个类似Windows的回收站,你可以安装GNOMETrash或KDETrash。
不过必须桌面环境支持,而且没有办法直接查看记录。
不存在。
它仅提供文件管理界面。

综上所述,Linux没有回收站历史记录功能,但是使用lsof、extundelete和testdisk可以帮助您恢复未被覆盖的文件。
但是,最好的选择是自行备份数据。