更改文件/目录是什么意思?

更改文件/目录是什么意思?

man ntfsundelete

查找最近两天更改的已删除文件

ntfsundelete /dev/hda1 -t 2d

我想知道更改文件/目录是什么意思?

  1. 删除某些文件/目录是否算作更改?

    例如,如果我两天前创建了一个文件,直到昨天删除时才更改它。该命令能够恢复它吗?

  2. 将某些文件/目录从一个目录下移动到另一个目录下是否算作更改它们,即使被移动的文件/目录本身没有更改?

我希望找到一种方法来指定和取消删除我上次删除的目录(其中包含文件)。

谢谢!

答案1

我将尝试以不同的顺序回答您的问题。更改文件意味着什么?

更改意味着每当您修改和更新文件的内容(在linux中修改)。如果我们看一下ntfsundelete源码中我们可以清楚的看到作者标注的内容改变:

ntfsundelete.h第 72 行:

time_t         date_a;    /*  altered */

ntfsundelete.c第 1002、1045 行:

name->date_a     = ntfs2timespec(attr->last_data_change_time).tv_sec;

last_data_change_time 也有解释linux/fs/ntfs/inode.c第 674 行:

      * mtime is the last change of the data within the file. Not changed
      * when only metadata is changed, e.g. a rename doesn't affect mtime.
      */
      vi->i_mtime = ntfs2utc(si->last_data_change_time);

问题编号。 2:

更改目录修改时间的操作列表:

Linux

视窗

问题 1:

不,删除文件不算作更改。因此,如果您在两天前创建了一个文件,并且直到昨天删除它时才更改它,则该命令将无法恢复它。

这是对我的 NTFS 分区的测试。我有三个带有 mtime 的 .jpg 文件,如下所示:

  • brr.jpg 2012-05-21
  • IMG_2001.JPG 2012-05-21
  • s640x480.jpg 2011-03-18

我用MSPaint修改了IMG_2001.JPG并保存,所以修改时间改为今天:2012-08-26。然后我删除了(SHIF+DELETE)所有三个文件并在 Linux 中重新启动。

跑步ntfsundelete没有- 时间switch(不考虑更改的时间)打印出以上述三个文件开头的一长串文件:

ntfsundelete /dev/sda1 -m '*.jpg'

Inode    Flags  %age  Date           Size  Filename
---------------------------------------------------------------
72801    FN..   100%  2012-05-21   1055334  brr.JPG
72822    FN..   100%  2012-08-26   1034072  IMG_2001.JPG
72826    FN..   100%  2011-03-18     52333  s640x480.jpg
.....    ....   ....  ..........   .......  ............

Files with potentially recoverable content: 1631

跑步ntfsundelete--时间 d1switch(因此对于最近 1 天内更改的文件)仅打印出一个文件,即我在删除所有三个文件之前刚刚修改的文件:

ntfsundelete /dev/sda1 -m '*.jpg' -t 1d

Inode    Flags  %age  Date           Size  Filename
---------------------------------------------------------------
72822    FN..   100%  2012-08-26   1034072  IMG_2001.JPG

Files with potentially recoverable content: 1

相关内容