Comando rm do Linux: opções do rm -rf e como apagar sem confirmação

Aviso de afiliados v3.1
Aviso de afiliados v3.2 (somente celular)
Ambiente de testeFamília RHELAlmaLinux 9.8conta rootVerificado em 05/10/2026

Com o comando rm, os arquivos apagados somem na hora, sem passar pela lixeira. rm é a abreviação de remove e apaga arquivos e diretórios; este post traz o uso básico, as opções e por que o diretório raiz continua lá mesmo se você rodar [rm -rf /].

No AlmaLinux 9.8, a conta root vem com [alias rm='rm -i'] por padrão, por isso pede confirmação antes de apagar. Para sistemas Linux sem essa configuração, o post também mostra como adicionar o alias você mesmo.

✅ Uso básico

A sintaxe básica é a seguinte.

rm -opções alvo: Arquivo ou diretório
Com o comando rm

Um arquivo é apagado só pelo nome; um diretório só é apagado com a opção -r.

# apagar um arquivo
rm file1
# apagar vários arquivos
rm file1 file2
# apagar um diretório e todo o conteúdo
rm -r dir1/
# apagar um diretório vazio
rm -d dir1/
~]# rm dir1/
rm: cannot remove 'dir1/': Is a directory

Se você indicar um diretório sem opção, ele não é apagado, como acima.

Apagar um link simbólico remove só o link; o arquivo para onde ele aponta continua no lugar. Para conferir antes e depois de apagar, use também o comando ls.

✅ rm -rf: apagar sem confirmação

O comando rm pergunta [remove regular file] porque, na conta root, o rm roda pelo alias [rm -i].

~]# rm file1
rm: remove regular file 'file1'? y
~]# alias rm
alias rm='rm -i'

Apagar um diretório com a opção -r pede confirmação ao entrar em cada diretório e para cada arquivo, o que cansa quando há muitos arquivos.

~]# rm -r logs/
rm: descend into directory 'logs/'? y
rm: remove regular file 'logs/access.log'? y
rm: remove regular empty file 'logs/error.log'? y
rm: remove directory 'logs/'? y

Nesse caso, junte a opção -f: ela apaga sem confirmação e não dá erro mesmo que o arquivo não exista.

rm -rf logs/

Pôr uma barra invertida [\] antes do comando para pular o alias, ou pôr [yes |] na frente para que y seja digitado a cada pergunta, dá o mesmo resultado.

\rm -r logs/
yes | rm -r logs/

✅ Opções do comando rm & simulador

OpçãoDescrição
-f--forceApaga sem confirmação e não dá erro para arquivos inexistentes
-iPede confirmação ao usuário antes de cada exclusãoalias rm='rm -i'
-I(i maiúsculo)Pergunta só uma vez com quatro ou mais arquivos ou com -r
-r, -R--recursiveApaga um diretório com subdiretórios e arquivos
-d--dirApaga um diretório vazio
-v--verboseMostra cada arquivo e diretório apagado numa linha
--preserve-rootNão apaga o diretório raiz (/) (padrão)
--no-preserve-rootDesliga a proteção do diretório raiz (/)
Simulador do comando rmalias rm='rm -i'
[root@server work]#
Roda só no seu navegador e não mexe em arquivos reais. Digite rm com opções diferentes e confira o resultado com ls e cat. Os arquivos apagados voltam quando você clica em [Start over]. Use as teclas ↑↓ para recuperar comandos anteriores e digite uknew help para ver os comandos disponíveis.

✅ rm -rf /: proteger o diretório raiz

No trabalho com hospedagem, às vezes se apagam arquivos que não deviam ser apagados. A maioria dá para restaurar de um backup, mas depois que o diretório raiz é apagado, recuperar dá trabalho mesmo com um snapshot. Já ouvi várias vezes casos em que um rm -rf digitado errado não pôde ser desfeito.

O comando rm aplica a opção [--preserve-root] por padrão, então o diretório raiz não é apagado mesmo que você rode [rm -rf /].

~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

Mas ela não impede [rm -rf /*]. O shell troca [/*] por nomes de diretórios como /bin, /etc e /home antes de repassá-los, então o rm apaga cada um desses diretórios, e não [/].

Uma instalação nova do AlmaLinux 9.8 traz os aliases -i de rm, cp e mv em [/root/.bashrc], como abaixo. Contas de usuário comuns não têm esses aliases.

~]# grep alias /root/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Numa conta ou num sistema Linux sem o alias, adicione uma linha no fim do [~/.bashrc] e recarregue.

# adicione no fim do ~/.bashrc
alias rm='rm -i'
# recarregue
source ~/.bashrc
linux Free Software

ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.