Eu quero copiar um diretório de um lugar para outro através da linha de comando

97

Eu quero copiar um diretório de um lugar para outro.

sudo cp é o comando, mas depois disso o que devo digitar? O destino ou fonte primeiro?

    
por pradeep 17.11.2011 / 05:19

4 respostas

161

A -a flag é provavelmente o que você está procurando:

cp -a /path/from /path/to

O -a sinalizador ativa o comportamento recursivo (que também pode ser feito com o -R flag) e também tenta preservar metadados como propriedade de arquivo, permissões, registros de data e hora, links, etc.

Você só precisará usar sudo se estiver copiando para um local não pertencente ao usuário atual, se o usuário atual não tiver permissões de leitura para os arquivos que estão sendo copiados ou se quiser preservar a propriedade arquivos não pertencentes ao usuário atual.

    
por James Henstridge 17.11.2011 / 05:57
22

Se você deseja copiar o diretório, por favor use o comando abaixo:

sudo cp -R Source_Folder Destination_Folder

Este comando também pode ser usado para copiar arquivos, apenas removendo o "-R" que é usado para copiar a estrutura recursiva de pastas internas (se houver alguma no caminho Source_Folder que mencionamos.)

Mais um exemplo:

sudo cp -R /var/www/* /home/test_user/

Por favor, fique à vontade para deixar um comentário em caso de qualquer problema.

    
por Hrish 12.02.2013 / 17:54
2

Acho que a melhor maneira é usar o comando gksu nautilus e você pode copiar o que quiser com a GUI comum como de costume.

    
por Af Vtr 18.06.2016 / 04:46
2

Para a pasta de cópia via terminal, você pode usar

cp -a /source/. /dest/

A opção -a é uma opção recursiva aprimorada, que preserva todos os atributos de arquivo e também preserva links simbólicos.

no final do caminho de origem há uma sintaxe específica do cp que permite copiar todos os arquivos e pastas, incluindo os ocultos.

Uma alternativa é rsync

rsync -r source/ destination
    
por shail 11.07.2017 / 13:02