Comandos cp e mv – Como copiar e mover arquivos no Linux

Comandos cp e mv – Como copiar e mover arquivos no Linux

Estudaremos neste artigo o uso de dois comandos muito úteis para gerenciamento de arquivos no Linux: cp e mv.

Comando cp

Permite copiar arquivos ou diretórios para outro local.

Se o destino fornecido for o nome de um diretório existente, os arquivos serão copiados para esse diretório, com o mesmo nome. Caso indiquemos um nome de arquivo no caminho de destino, o arquivo de origem será copiado e essa cópia renomeada também.

Sintaxe

$ cp [opções] arquivos_origem local_destino

Opções mais comuns

-i, –interactive
Pergunta se desejamos sobrescrever um arquivo de destino já existente.

-l, –link
Cria hard links para os arquivos em vez de copiá-los.

-n, –no-clobber
Não sobrescrever um arquivo já existente

-p
Preserva as permissões originais do arquivo, incluindo proprietário, grupo, stuid, setgid, tempos da última modificação e acesso.

-r, -R, –recursive
Copia diretórios de forma recursiva.

-s, –symbolic-link
Cria links simbólicos (symlinks) para os arquivos em vez de copiá-los

-u, –update
Copia apenas quando os arquivos de origem forem mais novos que os de destino, ou quando os arquivos de destino estiverem faltando.

-v, –verbose
Modo verboso; explica o que está sendo feito no momento.

–help
Mostra a ajuda básica do comando e sai.

–version
Mostra informações sobre a versão do comando e sai.

Exemplos

1. Copiar o arquivo passwd do diretório /etc para o diretório /home/fabio/.

$ cp /etc/passwd /home/fabio/

Caso o diretório de trabalho atual já seja o /home/fabio, podemos também usar o ponto (.) para indicá-lo como local de destino, como a seguir:

$ cp /etc/passwd .

2. Copiar o arquivo passwd do diretório /etc/ para o diretório /home/fabio/ renomeando a cópia como usuarios.txt:

$ cp /etc/passwd /home/fabio/usuarios.txt

3. Copiar todos os arquivos cujo nome se inicia com a letra l do diretório /lib/ para o diretório atual:

$ cp /lib/l* .

4. Criar um link simbólico no diretório atual para o arquivo /etc/group:

$ cp -s /etc/group .

Copiar arquivos com o comando cp no Linux

5. Fazer uma cópia de backup de um arquivo no mesmo diretório, com outro nome (muito útil quando precisamos alterar arquivos de configuração do sistema):

$ cp passwd passwd.bkp

Como copiar arquivos no Linux com o comando cp

6. Copiar o diretório /home/fabio/Documentos e todo o seu conteúdo recursivamente para o diretório /home/fabio/backup/:

$ cp -r /home/fabio/Documentos /home/fabio/backup/

Comando mv

O comando mv pode ser usado para mover ou renomear arquivos.

Sintaxe

$ mv [opções] arquivos_origem local_destino

Opções principais

-b, –backup
Cria um backup de cada arquivo de destino existente.

-f, –force
Apaga destinos existentes sem perguntar ao usuário.

-i, –interactive
Pergunta se desejamos sobrescrever um arquivo de destino já existente.

-n, –no-clobber
Não sobrescrever um arquivo já existente

-u, –update
Move apenas quando os arquivos de origem forem mais novos que os de destino, ou quando os arquivos de destino estiverem faltando.

-v, –verbose
Modo verboso; explica o que está sendo feito no momento.

–help
Mostra a ajuda básica do comando e sai.

–version
Mostra informações sobre a versão do comando e sai.

Exemplos

1. Mover o arquivo passwd do diretório atual para o subdiretório Documentos:

$ mv passwd ./Documentos/

2. Mover o arquivo passwd do diretório atual para o subdiretório Documentos, o qual já contém um arquivo com o mesmo nome – nesse caso, queremos fazer um backup do arquivo de destino:

$ mv --backup passwd ./Documentos/

Como mover arquivos no Linux com o comando mv

Neste caso o arquivo de backup criado tem o caractere ~ (til) no final de seu nome.

3. Também podemos renomear arquivos com o uso do comando mv. Vamos renomear o arquivo curriculum.odt para curriculum.txt:

$ mv curriculum.odt curriculum.txt

como renomear arquivos no Linux com o comando mv

Veja que não indicamos um destino diferente – mandamos mover o arquivo para o próprio local de origem, apenas trocando seu nome.

Existem muitos outros comandos muito úteis para lidarmos com arquivos no Linux, como comandos para excluir, criar e copiar, os quais estudaremos nas próximas lições.

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

2 Comentários em Comandos cp e mv – Como copiar e mover arquivos no Linux

  1. como copio as informações (nome, tamanho, permissões etc) de todos os arquivos do diretório /etc para um arquivo qualquer, exemplo.txt

    • Você pode listar e aí redirecionar tudo para um arquivo txt.
      ls -lh > arquivo.txt

      Se vc quiser infos específicas, ex só quer permissões, nome e tamanho, você pode usar: (substitua -f pelas colunas que você desejar)
      ls -lh | tail -n +2 | tr -s ‘ ‘ | cut -d ‘ ‘ -f1,5,9 > arquivo.txt

Escreva um comentário

Seu e-mail não será divulgado


*