Como copiar arquivos no Linux com o comando cp

Copiar arquivos e diretórios pode ser rápido e fácil no Linux se você utilizar o comando cp. Aprenderemos como usar o cp e aproveitaremos suas opções práticas que tornarão seus trabalhos de cópia mais seguros.

O que é o comando cp no Linux?

Um utilitário de linha de comando para sistemas Unix e Linux capaz de copiar arquivos e pastas, cp está disponível essencialmente em todas as distros Linux. Você o verá frequentemente mencionado em guias para realizar tarefas de gerenciamento de arquivos no Linux.

Você não precisa ser um gênio do terminal para usá-lo. Sua sintaxe é simples e é mais fácil de usar se você abrir o terminal no (ou cd para) o diretório que contém os arquivos que deseja copiar.

Sintaxe cp

A sintaxe para cp é muito semelhante ao comando mv , exigindo que você simplesmente especifique uma fonte ou fontes (os arquivos ou pastas que deseja copiar) e um destino (o diretório ou nome de arquivo para as cópias).

 cp [options] >source>... >destination>

Seu comando pode conter várias fontes, mas só pode haver um destino. O destino pode ser outro diretório, um novo nome de arquivo ou ambos.

Copiando arquivos com cp

Se você deseja produzir uma cópia de um único arquivo no mesmo diretório, mas com um nome diferente, use um comando como este:

 cp file.txt newfile.txt

Para fazer a mesma coisa, mas em um subdiretório, use um comando como este:

 cp file.txt Backup/newfile.txt

O comando acima pressupõe que você tenha uma pasta chamada Backup em seu diretório atual.

Se você não quiser um novo nome para o arquivo, basta especificar o diretório e não o nome do arquivo no destino:

 cp file.txt Backup

Para copiar vários arquivos com cp, basta escrever todos os arquivos que deseja copiar, separados por um espaço, antes de fornecer o destino.

 cp file1.txt file2.txt file3.txt Backup

Para economizar tempo na cópia de vários arquivos, você pode usar a tag curinga , um asterisco (*), para copiar automaticamente todos os arquivos do diretório com a mesma extensão, usando algo como o exemplo abaixo:

 cp *.txt Backup

O comando acima encontrará todos os arquivos que terminam com .txt no diretório atual e os copiará para o diretório Backup.

Claro, isso só é útil se todos ou a maioria dos arquivos que você deseja copiar têm a mesma extensão, ou algo mais em comum no nome do arquivo.

Usando cp para copiar uma pasta / diretório

Se você quiser que um diretório e todo o seu conteúdo sejam copiados para um novo local, você precisará especificar a opção -R . Aqui está um exemplo:

 cp -R Files Backup

O comando acima irá copiar a pasta Arquivos e colocar a cópia dentro de uma pasta chamada Backup .

Se quiser que o conteúdo de uma pasta seja copiado, mas não a pasta em si, você precisará usar a opção -T :

 cp -RT Files Backup

Opções cp úteis

Essas opções comumente usadas para o comando cp são úteis principalmente se você estiver preocupado com possíveis substituições ou conflitos de atributo de arquivo.

Você notará nos comandos anteriores que não recebe nenhuma mensagem do terminal confirmando que algo aconteceu. Para ver o que está acontecendo, use a opção detalhada, -v :

 cp -v file.txt newfile.txt

Se estiver preocupado com uma substituição acidental, você pode definir a opção -i para sempre pedir confirmação quando houver um conflito de nome de arquivo. Por exemplo:

 cp -i file.txt newfile.txt

Com o comando acima, se já houver um arquivo chamado newfile.txt presente, o cp perguntará se você tem certeza de que deseja sobrescrevê-lo.

Você também pode preservar os atributos do arquivo, como propriedade do usuário, modo de arquivo e datas de modificação, com a opção -p :

 cp -v file.txt newfile.txt

A opção preservar é útil se você tiver vários usuários em seu sistema ou se tiver outra operação de sincronização que é sensível às datas de modificação do arquivo.

Confiança de cópia da linha de comando

Agora você sabe como usar cp para copiar arquivos com facilidade e segurança e deu um passo importante para se tornar confortável e versátil usando a linha de comando do Linux.

Se você precisar criar grandes backups de seus arquivos, existem várias ferramentas disponíveis para usuários do Linux que você pode querer considerar.