Como copiar uma pasta usando o comando de instalação

2

Estou corrigindo um pacote no Arch Linux e ainda não consigo entender como o comando install funciona.

Eu verifiquei o man e é bastante vago.

A minha pergunta é : como posso copiar uma pasta usando install ? Não é possível entender como funcionam -D e -d flags.

O install é a ferramenta certa para isso ou devo me ater a mkdir e cp ?

    
por Marcs 08.09.2016 / 07:46

1 resposta

3

de man install :

-d, --directory
   treat all arguments as directory names; create all components of the specified directories

-D     
   create all leading components of DEST except the last, then copy SOURCE to DEST

Demonstração:

  • install -d flag:

    $ install -d foo bar
    $ ls -l
    drwxr-xr-x 2 root   root  6 Sep  8 15:55 foo
    drwxr-xr-x 2 root   root  6 Sep  8 15:55 bar
    

Veja como ele criou dois diretórios chamados foo & bar

  • install -D flag:

    $ touch test{1..3}
    $ ls -l
    -rw-r--r-- 1 root   root   0 Sep  8 16:11 test1
    -rw-r--r-- 1 root   root   0 Sep  8 16:11 test2
    -rw-r--r-- 1 root   root   0 Sep  8 16:11 test3
    $ install -D test1 test2 test3 bar
    $ ls -l bar/
    -rw-r--r-- 1 root   root   0 Sep  8 16:11 test1
    -rw-r--r-- 1 root   root   0 Sep  8 16:11 test2
    -rw-r--r-- 1 root   root   0 Sep  8 16:11 test3
    

Copiou arquivos test1..3 para o diretório bar

Conclusão

Eu não acho que install suporte a cópia de árvores inteiras de diretório; é normalmente usado em arquivos. Você provavelmente precisará usar cp ou rsync .

    
por 08.09.2016 / 08:19