Comandos cp e rm – Copiando e excluindo arquivos no Linux

Comandos cp e rm – Copiando e excluindo arquivos no Linux

Uma das tarefas mais básicas e importantes que realizamos no dia-a-dia usando o terminal do Linux é realizar a cópia de arquivos e diretórios de um local para outro dentro do sistema de arquivos.

Nesta lição vamos mostrar como isso pode ser realizado usando o comando cp, que é um dos comandos mais utilizados no sistema. Vamos também mostrar como excluir arquivos e diretórios usando o comando rm.

Comando cp – copiando arquivos

O comando cp permite realizar a cópia de arquivos e diretórios. Sua sintaxe é descrita abaixo:

Sintaxe

cp [opções] origem destino

onde origem é o local de origem dos arquivos, e destino é o local-alvo para onde esses arquivos serão copiados.

Opções

–attributes-only
Não copiar os dados do arquivo, apenas os atributos (cria arquivo vazio)

-i, –interactive
perguntar antes de sobrescrever arquivos já existentes

-l, –link
criar hard links em vez de copiar os arquivos

-n, –no-clobber
não sobrescrever arquivos já existentes

-R, -r, –recursive
Copiar diretórios recursivamente

-s, –symbolic-link
criar links simbólicos em vez de copiar arquivos

-u, –update
copiar apenas quando o arquivo de origem for mais novo do que o arquivo de destino ou quando o arquivo de destino não existir

-v, –verbose
modo verboso; explica o que está sendo feito durante a cópia

Vejamos alguns exemplos do uso de cp no Linux:

Exemplos

1 – Copiar o arquivo /etc/passwd para o diretório atual:

$ cp /etc/passwd .

copiar arquivos no linux

2 – Copiando o arquivo /etc/passwd já existente no destino, e perguntando se desejamos sobrescrevê-lo:

$ cp -i /etc/passwd .

comando cp no Linux

3 – Criando um link simbólico para o arquivo /etc/group no subdiretório Documentos do diretório atual (usando caminho completo):

$ cp -s /etc/group /home/fabio/Documentos

copiar arquivos com cp no Linux

4 – Copiar recursivamente todo o conteúdo do diretório /var para o subdiretório Documentos:

$ cp -r /var ./Documentos/

copiando arquivos no linux com comando cp

Comando rm – excluindo arquivos

Com o comando rm podemos excluir arquivos do sistema, e também podemos utilizar este comando para excluir diretórios que não estejam vazios – lembre-se de que o comando rmdir somente remove diretórios que estejam vazios.

Sintaxe do comando rm

rm [opções] arquivos

Opções principais

-f, –force
ignorar arquivos e argumentos não existentes, e nunca perguntar se desejamos remover um item

-i
perguntar antes de cada remoção

-I
perguntar uma vez antes de remover mais de três arquivos, ou ao remover recursivamente. É uma opção menos intrusiva do que a opção -i.

-r, -R, –recursive
remover diretórios e seu conteúdo recursivamente (ou seja, mesmo diretórios não-vazios)

-d, –dir
remover apenas diretórios vazios

–v, –verbose
modo verboso, explicando o que está acontecendo durante a remoção de itens.

Em alguns casos é possível recuperar arquivos que foram removidos com o uso do comando rm. Caso seja prioritário que os arquivos sejam permanentemente removidos e sem chance de recuperação, use outro utilitário, como o shred.

Exemplos:

1 – Remover o arquivo passwd do diretório atual:

$ rm passwd

remover arquivos com rm no Linux

2 – Remover recursivamente todo o conteúdo do diretório ./Documentos/var/, que foi copiado anteriormente:

$ rm -r ./Documentos/var/

Exemplo especial

O comando a seguir permite remover todo o conteúdo de seu sistema – isso mesmo, todos os arquivos e diretórios do Linux, caso seja executado com privilégios de superusuário. NÃO O EXECUTE em uma máquina de produção. Caso queria testá-lo, use uma máquina virtual para estudos.

$ rm -rf /

O propósito de apresentar este comando é para alertar sobre os perigos em potencial que alguns utilitários e comandos possuem caso não sejam usados de forma consciente.

É isso aí! Até a próxima lição!.

 

Sobre Fábio dos Reis (1273 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica 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.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*