O que rm -rffaz quando usado para remover arquivos ou diretórios?
Como as opções -re -ffuncionam juntas?
O que rm -rffaz quando usado para remover arquivos ou diretórios?
Como as opções -re -ffuncionam juntas?
Respostas:
O comando rm -rfé o mesmo que rm -r -f.
Na rmpágina do manual (digite man rmum terminal para vê-lo) -r:
remove directories and their contents recursively
E -ffaz:
ignore nonexistent files and arguments, never prompt
Então, em combinação, eles fazem as duas coisas.
Por favor, use este comando com cuidado!
rm -rf /teoricamente excluirá todos os arquivos do seu computador que residam em um diretório para o qual você tenha permissão de gravação. Se você é root, isso significa acabar com o sistema inteiro. (Na prática, ele não funciona porque GNU rmtem um caso especial que se recusa a permitir que rm -r /a menos que você também dizem --no-preserve-root.)
rm -rf /ver se foi capturado corretamente.
Além da resposta correta anterior, eu gostaria de ensinar como pescar:
Quando você não tiver certeza de como um comando funciona, quais opções têm e o que faz, abra um terminal e digite
man <command>
Por exemplo:
man rm
Uma vez lá, você pode procurar a opção. Uma página de manual pode ser muito longa para ler, portanto, no tipo de terminal:
/<pattern>
Então, por exemplo, fazendo:
/-f
Você pode facilmente chegar a:
-f, --force
ignore nonexistent files and arguments, never prompt
Para -r do:
-r, -R, --recursive
remove directories and their contents recursively
Você pode alternar entre os resultados da pesquisa usando n(próximo) e N(anterior).
Se você precisar fazer algo, mas não souber o nome do comando, use apropospara pesquisar nas páginas do manual:
apropos <pattern>
Por exemplo:
apropos directory listing
rmé curto para remover. O rsinalizador é para remover diretórios e seu conteúdo recursivamente e os fmeios forçam, e substitui qualquer solicitação de confirmação.
r flag is to remove directories não é certo .. remove os diretórios junto com seu conteúdo, é uma operação recursiva .. de acordo com suas palavras, ele apenas removeria os diretórios, e quanto aos subdiretórios, arquivos sob ele? como entrada de diretório contém o mapeamento nome-inode somente, isso só não faz qualquer sentido ..
Como já foi mencionado, o rm -rf <ARG>objetivo é remover arquivos recursivamente à força, onde <ARG>há um diretório (embora possa ser um arquivo muito bem).
O ponto principal de -r(remoção recursiva) é que rmnão é possível remover diretórios se eles não estiverem vazios, simplesmente porque a chamada do sistema subjacente que rmusa ( desvincular ) opera apenas em diretórios vazios. Assim, o que o -rsinalizador faz é a pesquisa aprofundada, descendente nos diretórios e a remoção dos arquivos primeiro, e somente quando o diretório estiver vazio - ele será removido. Esse mesmo efeito é alcançado via findcomando com -deletesinalizador (quando você não especifica a filtragem por -type, mas isso é outra história).
Quanto a -fisso, ele faz duas coisas - uma evita perguntar se você deseja remover o arquivo ou não (como quando você está removendo um arquivo pertencente a outro usuário de dentro do seu diretório, ele não mostra rm: remove write-protected regular empty file 'f1'?o prompt de confirmação) e ignora arquivos inexistentes. Por exemplo, com um nome de arquivo inexistente, você deve receber um rm: cannot remove 'nonexistent': No such file or directoryerro.
Veja também: