Boa tarde galera eu quero saber qual a real diferença entre usar o:
cp -a e o cp -p
Qual a diferença?
Eu sei que os dois preservam os atributos do arquivo, mas qual é o mais aconselhável na hora de copiar um arquivo sem perder a data de criação, modificação?
Eu uso o cp -a, porém fico na dúvida se não deveria usar o cp -p. Posso usar os dois juntos?
Já o cp -p preserva “somente” três coisas, sendo elas: modo, proprietário e a data e hora -p same as --preserve=mode,ownership,timestamps
Peço ajuda ao “universitário” @RuKsu nessa discussão
Se você quiser fazer um “backup” perfeito, cp -a é a melhor opção. Ele conserva a maior quantidade de coisas possíveis, e copia pastas sem reclamar.
Indo por partes nas opções ao qual o cp -a usa:
-R → copia pastas. Por padrão, o cp ignora pastas (e cp -p vai fazer o mesmo se você não especificar cp -pR).
-d → copia links simbólicos (“atalhos”) em si, e não o arquivo ao qual o “atalho” faz referência. Exemplo prático:
$ touch arq1
$ ln -s arq1 link1
$ ls -l
total 0
-rw-r--r-- 1 carlos carlos 0 jul 4 23:33 arq1
lrwxrwxrwx 1 carlos carlos 4 jul 4 23:33 link1 -> arq1
$ cp link1 arq2
$ cp -d link1 link2
$ ls -l
total 0
-rw-r--r-- 1 carlos carlos 0 jul 4 23:33 arq1
-rw-r--r-- 1 carlos carlos 0 jul 4 23:33 arq2
lrwxrwxrwx 1 carlos carlos 4 jul 4 23:33 link1 -> arq1
lrwxrwxrwx 1 carlos carlos 4 jul 4 23:33 link2 -> arq1
Veja que o arquivo criado pelo cp -d é um atalho para o arq1, enquanto o criado pelo cp “puro e simples” é um arquivo mesmo.
--preserve=all é o mais chato de explicar, mas resumidamente, ele copia todos os metadados do arquivo. O -p sozinho copia apenas o que foi citado pelo @JG22.
Primeiro, @JG22 obrigado por me chamar nesta investigação
Eu fiquei na dúvida também… o atributo -a pega tudo e o -p parece que não pega links simbólicos.
Mas é melhor aguardarmos mais detalhes.
Eu estou preferindo usar o rsync -av --progress. Porém usando o cp ou rsync a data de criação do arquivo muda para a data em que a cópia foi feita. Me parece que mesmo usando a opção -a dos comandos as datas de modificação, criação não são preservadas.