如何查找最近在Linux中删除了哪些文件和文件夹?


23

我有一个特定的文件夹(/home/sam/officedocuments),其中有数百个文件夹和文件。我想我误删除了一些文件和文件夹,但不确定。

如何查找哪些文件/文件夹是:

  • 最近在Linux中删除了?
  • 最近在Linux中更改了?

我只想知道删除了哪些文件和文件夹。恢复那些已删除的文件和文件夹对我而言并不重要。

操作系统:CentOS


1
您应该告诉我们您正在使用什么文件系统。例如,对于ext2,ext3和ext4,您可能会使用ext3grep实用程序来查找有关已删除文件的信息。使用某些脚本,应该可以将简单的应用程序放在一起,该应用程序根据特定目录列出已删除的文件。但是,这些实用程序需要对磁盘的原始访问,因此,如果使用不正确,则将极其危险(如果您记得同时写入磁盘会导致当前操作返回损坏的/错误的数据,则非阻塞只读操作应该是完全安全的)。
GoFundMonica-codidact.org

Answers:


3

…最近在Linux中进行了更改?

用于find按修改时间搜索。例如,要查找最近3天接触过的文件:

find /home/sam/officedocuments -mtime -3

对于“超过3天”,请使用+3

…最近在Linux中删除了?

几乎是不可能的。删除文件后,它就消失了。在大多数系统上,这不会记录在任何地方。


谢谢。3天之内,我需要使用3...最后一30分钟需要使用什么?
Sumit Gupta

Linux是否总是在删除任何文件/文件夹之前要求确认?
Sumit Gupta

16
“几乎不可能”这是很明显的错误,因此我不得不对此表示反对。删除时间存储在某些文件系统中,此类fs的示例是ext3文件系统。ext3grep可能有助于解决问题。我得到了superuser.com/a/433785/132604,其中包含一些信息以及指向实用程序的链接,这些实用程序可用于查找(也可能会恢复)已删除的文件以及有关它们的信息。在大多数文件系统中,删除文件时,实际上并没有将其删除,而是将其标记为可以按需覆盖的空间。
GoFundMonica-codidact.org

您可能能够从备份中还原文件,并将这些文件的列表与文件系统上的文件进行比较。这将产生丢失和新创建的文件的列表。Grawity的答案已经显示您可以按时过滤,因此可以将其限制为仅删除的文件。
海恩斯

11

您可能应该安装Inotify工具。那么您可以使用该inotifywait命令侦听指定目录中发生的事件。

特别是如果您要监视已删除的文件和文件夹,请使用此选项

inotifywait -m -r -e delete dir_name

并将此输出记录在某个文件中。

希望这能解决您的问题


1
听起来这是最好的方法。您可能希望在答案中包含一个名为iwatch的有希望的cli-app / daemon 。+1使用正确的工具解决问题。
GoFundMonica-codidact.org

ravi,@ SampoSarrala-如果要在/根目录中查看文件,并考虑到安装/卸载驱动器,这是否适用?我猜想,在那种情况下,保留删除日志的唯一可行方法是挂接到其中的内核模块unlink(请参阅stackoverflow.com/questions/8588386/…);还man inotifywait指出:“-递归:警告:...此选项在观看...一棵大树时,可能要花相当长的时间。而且... ...将达到每个用户的最大手表监测量。默认最大值为8192;
sdaau,2015年

dmesg [| tail]如果您要的是@sdaau,则应该向您显示[最近]的安装/卸载。
SeldomNeedy

我想知道是否还有一种方法可以找出在适用的情况下哪个进程删除了该文件(例如cron作业)。有一箱文件神秘地消失了……
Nagev

0

假设您rm从命令行使用Linux,Linux通常不会在删除文件之前要求确认。

要查找最近30分钟内修改过的文件,请使用touch --date="HH:MM" /tmp/reference创建具有30分钟前时间戳的参考文件(其中HH:MM对应30分钟前)。然后使用find /home/sam/officedocuments -newer /tmp/reference查找比参考更新的文件。

如果使用GUI工具删除了文件,则文件可能仍处于某种“垃圾箱”中。这取决于您用于桌面环境的内容。如果您rm是从命令行使用的,请尝试此答案中提到的实用程序之一。(有关该链接的@Sampo提示)。


只是不要说“永远消失” ...请参阅其他答案的评论。现在我感觉像这样:xkcd.com/386 :)
GoFundMonica-codidact.org
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.