Estou procurando a diferença entre cp -re cp -a. O que significa "recursivo" em termos de cópia de arquivos de uma pasta?
Estou procurando a diferença entre cp -re cp -a. O que significa "recursivo" em termos de cópia de arquivos de uma pasta?
Respostas:
Recursivo significa que cpcopia o conteúdo dos diretórios e, se um diretório tiver subdiretórios, eles também são copiados (recursivamente). Sem -R, o cpcomando ignora diretórios. -ré idêntico ao -RLinux, difere em alguns casos extremos em outras variantes do Unix.
Por padrão, cpcria um novo arquivo que possui o mesmo conteúdo que o arquivo antigo e as mesmas permissões, mas restrito pelo umask ; a cópia é datada do momento da cópia e pertence ao usuário que está fazendo a cópia. Com a -popção, a cópia tem o mesmo horário de modificação, o mesmo horário de acesso e as mesmas permissões que o original. Ele também possui o mesmo proprietário e grupo que o original, se o usuário que está fazendo a cópia tiver permissão para criar esses arquivos.
A -aopção significa -Re -p, além de algumas outras opções de preservação. Ele tenta fazer uma cópia o mais próximo possível do original: a mesma árvore de diretórios, os mesmos tipos de arquivo, o mesmo conteúdo, os mesmos metadados (horários, permissões, atributos estendidos etc.).
-rporque -a(para o archive) é sempre o mais seguro e provavelmente o que você esperava que acontecesse.
-ré porque você está em alguma variante unix diferente do Linux que não possui -a, e geralmente você usaria cp -rp. Or rsync -a.
A opção -r ou -R para "recursivo" significa que ele copiará todos os arquivos, incluindo os arquivos dentro das subpastas.
A opção -a listada é igual a -dR, o que significa que preservará os links e copiará o conteúdo dos subdiretórios. O que significa preservar links é que ele não seguirá os links, pois está copiando recursivamente.