O que significa a opção -rd no comando cp?

6

Eu encontrei uma referência usando o seguinte comando

cp -rd  *  /folder_1/

e outro como

cp -dr * /folder_2/

Você pode, por favor, informar quais são essas opções "rd" ou "dr"?

    
por moibrahim 12.07.2016 / 11:09

2 respostas

17

O pedido não importa - você pode dar as opções em qualquer ordem

Esta combinação copia diretórios recursivamente (incluindo todo o conteúdo) e copia links simbólicos como links simbólicos em vez de copiar os arquivos para os quais eles apontam.

-d é necessário apenas ao usar -r : ele é usado para sobrescrever o comportamento padrão, que não é seguir links simbólicos ao copiar recursivamente

de info cp

  

"- r" "- recursivo"        Copie diretórios recursivamente. Por padrão, não siga simbólico        links na origem, a menos que sejam usados em conjunto com o ‘--link’ (‘-l’)        opção; ver o ‘--arquivo’ (‘-a’), ‘-d’, ‘--dereferência’ (‘-L’),        Opções "--no-dereference" ("-P") e "-H".

     

"d"        Copie links simbólicos como links simbólicos em vez de copiar os arquivos        que eles apontam e preservam os links entre os arquivos de origem        as cópias. Equivalente a "--no-dereference --preserve = links".

    
por Zanna 12.07.2016 / 11:16
10

Em muitos utilitários de linha de comando, as opções de uma única letra podem ser escritas juntas. No seu caso, o formulário mais longo seria

cp -r -d  *  /folder_1/

que pode ser encurtado para

cp -rd  *  /folder_1/

A outra versão

cp -dr  *  /folder_1/

é o mesmo que

cp -d -r  *  /folder_1/
    
por Mark H 12.07.2016 / 11:23