Se eu copiar algum arquivo de um lugar para outro usando cp
, o registro de data e hora no arquivo copiado será definido como o horário da cópia.
Existe alguma maneira de evitar isso?
Preciso copiar arquivos sem alterar os carimbos de data e hora.
cp -p
faz o truque. Para Linux :
-p
igual a--preserve=mode,ownership,timestamps
-p
Faça com que o cp preserve os seguintes atributos de cada arquivo de origem na cópia: hora da modificação, hora do acesso, sinalizadores de arquivo, modo de arquivo, ACL, ID do usuário e ID do grupo, conforme permitido pelas permissões.
E para o OS X :
-p
Faça com que o cp preserve os seguintes atributos de cada arquivo de origem na cópia: hora da modificação, hora do acesso, sinalizadores de arquivo, modo de arquivo, ID do usuário e ID do grupo, conforme permitido pelas permissões. As listas de controle de acesso (ACLs) e os atributos estendidos (EAs), incluindo bifurcações de recursos, também serão preservados.
cp -p
não apenas preserva o registro de data e hora, mas também o modo e a propriedade, e no FreeBSD, além do tempo de modificação, também preserva »tempo de acesso, sinalizadores de arquivo, modo de arquivo, ACL, ID do usuário e ID do grupo, conforme permitido por permissões. «e no OS X adicionalmente» Atributos estendidos, incluindo bifurcações de recursos «.Ao usar a
cp
partir do GNU Coreutils , para preservar apenas os carimbos de data e hora, e não os atributos como ID do usuário, ID do grupo ou modo de arquivo, existe um atalho--preserve
que permite especificar explicitamente uma lista de atributos a serem preservados.Esteja ciente de que essa sintaxe provavelmente não é suportada em outros Unices. Uma alternativa poderia ser usar o
--times
parâmetrorsync
que deve estar disponível na maioria das instalações.fonte
-p
não é a resposta correta.-p
mantém a propriedade e o modo também. O que pode não ser desejado .. e não foi perguntado.Há três vezes em um sistema de arquivos Unix, o tempo de acesso (atime), o tempo de modificação (mtime) e o tempo de alteração do inode (ctime). Você pode alterar o tempo de acesso e o tempo de modificação com o programa de toque, por exemplo
No entanto, você não pode alterar o tempo de alteração do inode.
fonte
Recentemente, eu precisava fazer algo semelhante, mas usando o link simbólico. Para criar um link simbólico e preservar o carimbo de data / hora original:
cp -ps src_file dst_symlink
fonte