Questão Como manter a data de 'última modificação' de um arquivo?


Estou copiando arquivos e pastas de um sistema de arquivos para outro (ambos são ext3) via cp no terminal. A 'data de modificação' em todos os arquivos está sendo alterada para a hora atual, embora eu não esteja modificando a pasta ou os arquivos. Eu gostaria que eles mantivessem a 'data da última modificação' existente, que varia nos últimos 5 anos.

eu não sou interessado em alterá-los para uma data específica, conforme descrito nesta pergunta anterior, mas para manter a data 'última modificação' existente.

EDIT: isso ainda é aplicável para versões do ubuntu 12.04 + e mais recente


4
2018-06-24 16:30


origem




Respostas:


cp --preserve=timestamps <source> <destination>

Se você estiver recursivamente copiando, poderá usar:

cp -a <source> <destination>

De cp  página de manual:

-a, --archive
       same as -dR --preserve=all

-d     same as --no-dereference --preserve=links

-R, -r, --recursive
       copy directories recursively

--preserve[=ATTR_LIST]
       preserve  the specified attributes (default: mode,ownership,timestamps),
       if possible additional attributes: context, links, xattr, all

4
2018-06-24 16:33



Obrigado, eu li novamente a página do manual do cp e encontrei-a também! Irá marcar isto como resposta assim que eu for elegível. Para qualquer outra pessoa interessada, o parâmetro p, um atalho de --preserve também faz isso, assim como o modo e a propriedade. - Will.
'cp -p' funciona e é mais simples. Da página man: -p é o mesmo que --preserve = mode, ownership, timestamps. Também rsync -a para o modo de arquivo. - gaoithe