O comando rm é utilizado para apagar arquivos, diretórios e subdiretórios que estejam vazios ou que contenham arquivos.
Este comando deve ser utilizado com cuidado, pois quando removemos algo com rm, “foi-se”… e essa remoção pode custar um passada no RH e não vai ser para ganhar aumento de salário
!
Exemplo:
# cd /tmp
# touch teste.txt
Acima, entramos no diretório /tmp e criamos um arquivo vazio chamado teste.txt. Mas decidimos que não queremos mais esse arquivo. Então, para removê-lo:
# rm teste.txt
Assim como no comando cp, o rm também pode utilizar a opção -i, que é o modo interative, para perguntar se queremos remover ou não um determinado arquivo ou diretório.
Exemplo:
# cd /tmp
# echo “Novo teste do rm” > teste.txt
# cat teste.txt
Novo teste do rm
# rm teste.txt
rm: remove regular file `teste.txt’? y
Vejam a sequência dos comandos executados:
Primeiro, entramos no /tmp; em seguida, criamos um arquivo… para isso, usamos o comando echo para jogar a mensagem dentro desse arquivo! Lembram do comando echo? Ele foi comentado há alguns posts atrás!
Depois, checamos o conteúdo do arquivo com o comando cat! Daí, resolvemos apagar o arquivo, mas pedindo uma confirmação. Então, entra em ação o comando rm, com a opção -i para perguntar se realmente queremos remover
.
Como queremos… basta responder y e ele vai remover! Se depois do arquivo removido executarmos:
# cat teste.txt
cat: teste.txt: No such file or directory
Vejam… eu tentei ver o conteúdo do arquivo que apaguei, mas como não existe mais, ele reclamou que não achou o arquivo ou diretório!
Outro teste:
# ls teste.txt
ls: teste.txt: No such file or directory
Vejam que com o ls é a mesma coisa! Removi o arquivo… então ele não vai achar para listar!
Agora, para remover diretórios! Aqui, para o rm, vale a mesma regra do cp, quando eu quero copiar diretórios!!!
Ou seja, no cp, eu preciso da opção -r; e aqui, também vamos usar o -r que vai nos ajudar a remover diretórios que estejam cheios (que contenham arquivos dentro!
Exemplo:
# cp -r /etc /tmp
Copiamos o /etc para dentro do /tmp… e agora vamos removê-lo:
# cd /tmp
# rm -r etc
Vejam que não tem “/” na frente desse etc, pois é o que está dentro do diretório /tmp!
Mais uma vez, fica a dica: Tenham muita atenção ao usar o comando rm, pois uma uma vez que os arquivos e diretórios são removidos não podem mais ser recuperados, e um arquivo apagado incorretamente, pode danificar o sistema.
Vejam um exemplo – mas atenção:
NÃO FAÇAM ISSO EM CASA OU NO SERVIDOR DA EMPRESA!!!!!!!!!!!!
# rm -rf /
O comando acima, irá apagar todo o diretório / recursivamente… e ainda foi combinado com a opção f, que é force, para que ele remova sem perguntar nada. Ou seja, ele irá apagar todo o seu sistema!
Caso esse comando seja executado, é importante que você tenha um backup e repense nas políticas de acesso ao seu servidor para que ninguém saia executando esse comando
!
Para finalizar o post, caso você tenha um diretório que esteja vazio, pode usar o comando rmdir. Esse comando, remove diretórios que estejam vazios, isto é, que não tenham arquivos dentro.
Exemplo:
# mkdir /tmp/lixo
# cd lixo
# cp /etc/passwd lixo
# ls lixo
passwd
# rmdir lixo
rmdir: lixo: Diretório não vazio
Na sequência de comandos acima, criamos um diretório chamado lixo dentro do /tmp e em seguida, entramos no diretório e copiamos um arquivo para dentro dele e listamos.
Quando fomos tentar remover o diretório lixo com o comando rmdir, ele não permitiu, pois o diretório contém arquivos. Para usar o comando rmdir, primeiro vamos ter que apagar os arquivos que estão dentro do diretório lixo e, ai sim, utilizar o rmdir:
# rm lixo/passwd
# ls lixo
# rmdir lixo
Agora que o diretório está vazio, o rmdir conseguiu apagar!
Para saber mais…
# man rm
# man rmdir