Removendo arquivos e diretórios

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

1 Response to “Removendo arquivos e diretórios”


  1. 1 Felix 18/08/2008 às 2:58 PM

    Céus! O temido “rm”!

    Só uma dica: apesar de você ter dado bastante destaque a não fazer o rm -rf / eu aconselho adicionar um alias no arquivo .bashrc dessa forma

    alias rm=’rm -i’

    dessa forma o comando sempre pedirá confirmação antes de excluir algum arquivo/diretório.

    Ps.: Já tive a infelicidade de fazer isso em um servidor da empresa pensando estar do diretório da lixeira😦


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
agosto 2008
S T Q Q S S D
« jul   set »
 123
45678910
11121314151617
18192021222324
25262728293031

Flickr Photos

Fast-flying Falcon

Mais fotos

%d blogueiros gostam disto: