Administração de Linux
medium

Administração de Linux Question #019e3987

Question Statement
Administração de Linux
#mtime
#file-command
#redirection
#touch
#sed-inplace
Medium

Qual dos seguintes comandos NÃO atualizará o carimbo de data/hora de modificação do arquivo /tmp/myfile.txt?

A

file /tmp/myfile.txt

Correct
B

echo "Hello" >/tmp/myfile.txt

C

sed -ie "s/1/2/" /tmp/myfile.txt

D

echo -n "Hello" >>/tmp/myfile.txt

E

touch /tmp/myfile.txt

Official Explanation / Community Explanations

O comando file é usado para determinar o tipo de um arquivo. Ele lê o conteúdo ou os metadados do arquivo para classificá-lo (por exemplo, texto ASCII, binário ELF), mas não modifica o arquivo de forma alguma. Portanto, ele não atualiza o carimbo de data/hora de modificação (mtime) de /tmp/myfile.txt.

Como funciona

  • Modificar carimbo de data/hora (mtime): Atualizado quando o conteúdo do arquivo é alterado (gravado ou truncado).
  • Alterar carimbo de data/hora (ctime): Atualizado quando os metadados do arquivo (permissões, propriedade) ou o conteúdo são alterados.
  • Carimbo de data/hora de acesso (atime): Atualizado quando o arquivo é lido.

Por que a opção correta está certa?

O comando file /tmp/myfile.txt apenas lê o arquivo para determinar seu tipo; ele não escreve no arquivo nem altera seus metadados. Portanto, o mtime permanece inalterado.

Por que as opções incorretas estão erradas?

  • echo "Hello" >/tmp/myfile.txt: O redirecionamento > trunca o arquivo e grava um novo conteúdo, atualizando o mtime.
  • sed -ie "s/1/2/" /tmp/myfile.txt: O comando sed com -i (in-place) edita o arquivo, modificando seu conteúdo e atualizando o mtime.
  • echo -n "Hello" >>/tmp/myfile.txt: O redirecionamento >> anexa conteúdo ao arquivo, alterando seu conteúdo e atualizando o mtime.
  • touch /tmp/myfile.txt: O comando touch atualiza explicitamente os registros de data e hora de acesso e modificação para a hora atual (ou uma hora especificada).