Como posso alterar o tempo de criação de todos os arquivos de uma pasta para a hora atual?

2

Em um shell Linux, como posso alterar o tempo de criação de todos os arquivos de uma pasta para a hora atual?

    
por tomy 19.06.2011 / 02:40

3 respostas

4

Navegue até a pasta em questão, digamos, ~ / Documents / myfiles.

$ cd ~/Documents/myfiles

Então faça:

$ touch *

Isso mudará o tempo de modificação para sempre que você executar esse comando.

Obviamente, você pode tornar isso mais específico, dependendo do seu caso de uso, por exemplo,

$ touch *.doc

só alterará o tempo de modificação dos arquivos com a string '.doc' em seu nome.

    
por 19.06.2011 / 02:52
3

No Linux, se você quiser fazer alguma coisa recursivamente no diretório, ou você quiser aplicar algumas ações em arquivos que atendem a alguns critérios, você deve tentar find e xargs

Toque em todos os arquivos em ~ / Documents / myfiles (incluindo arquivos no subdiretório)

find ~/Documents/myfiles -type f -print0 | xargs -0 touch
    
por 19.06.2011 / 05:39
2

O OP solicitou o tempo de criação , mas Ian Yang e boehj baseiam-se no comando touch definindo a modificação , acesso e < strong> mudar vezes para a hora atual.

Como boehj disse (em seu comentário) não há criação tempo de um arquivo ... Isto é verdade para a maioria dos sistemas de arquivos, mas em alguns sistemas de arquivos modernos (como ext4 ) a criação (ou nascimento ) o tempo de um arquivo é armazenado dentro do inode .

Portanto, podemos dar uma resposta mais correta respeitando escrupulosamente o título da pergunta:

cp -a  your-folder tmp-folder
rm -rf your-folder
mv tmp-folder your-folder

Isso mudará o tempo de criação ( nascimento tempo) para a hora atual. Isso também atualiza o horário de alteração , mas mantém inalteradas as alterações de modificação e acesso .

Para obter informações, o horário de alteração às vezes é abreviado como ctime e pode ser confundido com o tempo de criação ( crtime ou btime ). De fato, o tempo de alteração de um arquivo é o tempo modificação de seu correspondente. inode . Portanto, os comandos que modificam inode content como chmod ou chattr também definem a hora change para a hora atual.

    
por 26.08.2013 / 18:12