O que significa alterar um arquivo / diretório?

6

De man ntfsundelete

Look for deleted files altered in the last two days

ntfsundelete /dev/hda1 -t 2d

Eu me pergunto o que arquivos de alteração / diretórios significam?

  1. Excluir alguns arquivos / diretórios conta como alterá-los?

    Por exemplo, se eu criei um arquivo há mais de dois dias, e não o mudei até ontem quando eu apaguei. O comando poderá recuperar? isso?

  2. Faz com que alguns arquivos / diretórios fiquem sob um diretório para estar sob outro diretório contar como alterá-los, mesmo quando os arquivos / diretórios sendo movidos não foram mudados por si mesmos?

Espero encontrar uma maneira de especificar e desfazer a exclusão dos diretórios (com arquivos internos) que excluí ao mesmo tempo da última vez.

Obrigado!

    
por Tim 23.08.2012 / 03:05

1 resposta

3

Vou tentar responder às suas perguntas em uma ordem diferente. O que significa alterar um arquivo?

Alterar significa sempre que você modificar e atualizar o conteúdo do arquivo (modificar no linux). Se olharmos para o código fonte do ntfsundelete , podemos ver claramente o que os autores marcaram como alter :

ntfsundelete.h linha 72:

time_t         date_a;    /*  altered */

ntfsundelete.c linha 1002, 1045:

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

last_data_change_time também é explicado em linux / fs / ntfs / inode.c < linha 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);

Pergunta nr. 2:

Lista de ações que alteram um horário de modificação do diretório:

Linux

Windows

Pergunta nr.1:

Não, excluir um arquivo não conta como alterá-lo. Portanto, se você criou um arquivo há mais de dois dias e não o alterou até ontem, quando o excluiu, o comando não poderá recuperá-lo.

Aqui está um teste na minha partição NTFS. Eu tinha três arquivos .jpg com o mtime da seguinte forma:

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

Eu modifiquei o IMG_2001.JPG com o MSPaint e salvei-o para que o tempo de modificação fosse alterado para hoje: 2012-08-26. Eu então deletei (SHIF + DELETE) todos os três arquivos e reiniciei no Linux.

Rodar ntfsundelete sem o interruptor - time (tempo alterado não levado em consideração) exibe uma longa lista de arquivos que começam com os três arquivos acima:

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

Executando ntfsundelete com o comutador - time d1 (assim, para arquivos alterados no último 1 dia) imprime apenas um arquivo, o que eu acabei de modificar antes excluindo todos os três:

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
    
por 13.04.2017 / 14:13