algumas pessoas estão procurando uma explicação melhor para as páginas de manual, porque nem sempre é claro o que a descrição significava. Eu tive que cavar muitas vezes e testar / experimentar para descobrir o que realmente está acontecendo com um comando específico. A página de manual do grep pode me confundir a qualquer dia.
Joe
2
Entendo sua frustração, mas, na maioria das vezes, a melhor maneira de aprender é testar e experimentar.
Triplicou em 8/08/12
37
OU aprenda fazendo perguntas aqui, obtendo a resposta da maneira que entender e, em seguida, tenha uma melhor noção do que e como testar e experimentar. Tenha em mente que funciona para você muitas vezes não funciona para mim, etc. etc.
Will Lanni
Respostas:
198
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.).
Basicamente, a menos que você queira algo especial, nunca precisará, -rporque -a(para o archive) é sempre o mais seguro e provavelmente o que você esperava que acontecesse.
8282
2
@ams Sim, esse é um bom resumo. O único motivo comum de usar -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.
Gilles
às vezes as permissões permitem -r mas não -a
DrCord 19/15/15
Não -r, não -R não funciona no Ubuntu 18
Arkady
16
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.
Respostas:
Recursivo significa que
cp
copia o conteúdo dos diretórios e, se um diretório tiver subdiretórios, eles também são copiados (recursivamente). Sem-R
, ocp
comando ignora diretórios.-r
é idêntico ao-R
Linux, difere em alguns casos extremos em outras variantes do Unix.Por padrão,
cp
cria 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-p
opçã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
-a
opção significa-R
e-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.).fonte
-r
porque-a
(para oa
rchive) é 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ê usariacp -rp
. Orrsync -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.
fonte