Comando Linux rm
Nos sistemas operacionais do tipo Unix, o comando rm remove ( exclui ) arquivos.
Este documento cobre a versão GNU / Linux da rm .
Descrição
rm remove cada arquivo especificado na linha de comandos. Por padrão, ele não remove os diretórios.
Quando rm é executado com as opções -r ou -R , ele exclui recursivamente todos os diretórios correspondentes , seus subdiretórios e todos os arquivos que eles contêm. Consulte a remoção de diretórios abaixo para obter detalhes.
O processo de remoção desvincula um nome de arquivo em um sistema de arquivos dos dados associados e marca esse espaço no dispositivo de armazenamento como utilizável por gravações futuras . Em outras palavras, quando você remove um arquivo, os dados no arquivo não são alterados, mas não são mais associados a um nome de arquivo.
Os dados em si não são destruídos, mas depois de desvinculados da rm , tornam-se inacessíveis. Remova seus arquivos com sabedoria! Não é como colocar algo na Lixeira do Windows; depois de remover um arquivo ou diretório, não há como desfazê-lo.
NotaSe você deseja limpar completamente os dados no disco, use o comando shred . O shred substituirá o conteúdo do arquivo para que não possa ser reconstruído posteriormente.
Sintaxe
rm [ -f | --force ] {[ -i | --interativo [ = sempre ]] | [ -I | --interactive = uma vez ] | [ --interactive = never ]} [ --um sistema de arquivos ] [ --no-preserve-root | --preserve-root ] [ -r | -R | --recursivo ] [ -d | --dir ] [ -v | --verbose ] ARQUIVO ...
rm --help
rm --version
Opções
-f , –force | Ignore arquivos inexistentes e nunca solicite antes da remoção. |
-Eu | Avisar antes de cada remoção. |
-EU | Avise uma vez antes de remover mais de três arquivos ou ao remover recursivamente. Essa opção é menos invasiva que -i , mas ainda oferece proteção contra a maioria dos erros. |
–interativo [ = QUANDO ] | Prompt de acordo com QUANDO : nunca mais , uma vez que ( -I ), ou sempre ( -i ). Se WHEN não for especificado, solicite sempre. |
–um sistema de arquivos | Ao remover uma hierarquia recursivamente, pule qualquer diretório que esteja em um sistema de arquivos diferente daquele do argumento de linha de comando correspondente |
–no-preserve-root | Não trate ” / ” (o diretório raiz ) de nenhuma maneira especial. |
–preserve-root | Não remova ” / ” (o diretório raiz), que é o comportamento padrão. |
-r , -R , –recursivo | Remova diretórios e seu conteúdo recursivamente . |
-d , –dir | Remova diretórios vazios. Esta opção permite remover um diretório sem especificar -r / -R / –recursive , desde que o diretório esteja vazio. Em outras palavras, rm -d é equivalente a usar rmdir . |
-v , –verbose | Modo verboso ; explique sempre o que está sendo feito. |
–Socorro | Exiba uma mensagem de ajuda e saia. |
–versão | Exiba informações da versão e saia. |
Notas de uso
Se a opção -I / –interactive = once for fornecida e houver mais de três arquivos ou as opções -r / -R / –recursive forem especificadas, o rm solicitará antes de excluir qualquer coisa. Se o usuário não responder sim / y / Y para o prompt, o comando inteiro é abortada.
Se um arquivo for gravável, stdin é um terminal e a opção -f / –force não é fornecida, ou a opção -i ou –interactive = always é fornecida, rm solicita ao usuário que remova o arquivo. Se a resposta não é sim / y / Y , o arquivo será ignorado.
Removendo diretórios
Por padrão, o rm não remove os diretórios. Se a opção -r / -R / –recursive for especificada, no entanto, o rm removerá todos os diretórios correspondentes e seu conteúdo.
Se o diretório especificado estiver vazio, ele poderá ser removido com a opção -d / –dir .
Nomes de arquivos começando com um traço
Para remover um arquivo cujo nome começa com um traço (” – “), você pode especificar um traço duplo (” – “) separadamente antes do nome do arquivo. Esse traço extra é necessário para que a rm não interprete mal o nome do arquivo como uma opção.
Por exemplo, se houver um arquivo em seu diretório atual chamado ” -file.txt “, você poderá excluí-lo com o comando
rm - -file.txt
Ou, você pode excluí-lo consultando-o com um nome de caminho . Por exemplo, se o arquivo ” -file.txt ” estiver localizado no diretório ” / home / hope “, você poderá excluí-lo usando:
rm /home/hope/-file.txt
… ou, se / home / hope atualmente for seu diretório de trabalho ,
rm ./-file.txt
… vai funcionar também.
Qual a diferença entre “rm” e “desvincular”?
O comando unlink faz essencialmente o mesmo que rm , mas é definido de maneira muito estrita pelo padrão POSIX . Ele opera em apenas um arquivo por vez; não opera em diretórios; seu comportamento não é modificado por nenhuma opção de linha de comando. Ele faz uma coisa e apenas uma coisa: chama a chamada do sistema unlink () em um único arquivo.
A versão do rm usada pela maioria das versões do Linux ( GNU rm ) possui todas as opções e detalhes listados acima: verificações de segurança, solicitação interativa, exclusão condicional, operação recursiva. É semelhante ao desvincular porque faz a chamada do sistema unlink () , mas também pode chamar unlinkat () se um nome de caminho especificado for relativo e não absoluto.
Em outras palavras, rm é uma maneira muito mais amigável de usar o unlink .
Exemplos
rm myfile.txt
Remova o arquivo myfile.txt . Se o arquivo estiver protegido contra gravação, você será solicitado a confirmar que realmente deseja excluí-lo.
rm -f myfile.txt
Remova o arquivo myfile.txt . Você não será solicitado, mesmo se o arquivo estiver protegido contra gravação; se o rm puder excluir o arquivo, ele será excluído.
rm *
Remova todos os arquivos no diretório de trabalho. Se estiver protegido contra gravação, você será solicitado antes que a rm o remova.
rm -f *
Remova todos os arquivos no diretório de trabalho. A rm não solicitará nenhum motivo antes de excluí-los.
rm -i *
Tente remover todos os arquivos do diretório ativo, mas solicite a confirmação antes de cada arquivo.
rm -I *
Remova todos os arquivos no diretório de trabalho; solicitar confirmação se mais de três arquivos estiverem sendo excluídos.
rm -r mydirectory
Remova o diretório mydirectory e todos os arquivos e diretórios que ele contém. Se um arquivo ou diretório que a rm tentar excluir estiver protegido contra gravação, você será solicitado a certificar-se de que realmente deseja excluí-lo.
rm -rf mydirectory
O mesmo que o comando acima, mas você nunca será solicitado; se o rm puder excluir os arquivos, será.
Comandos relacionados
rmdir – Remove um diretório.
shred – sobrescreve o conteúdo de um arquivo, destruindo-o irrevogavelmente.