Header Ads

Como excluir arquivos e diretórios no terminal Linux

Os comandos rm e rmdir excluem arquivos e diretórios no Linux, macOS e outros sistemas operacionais semelhantes ao Unix. Eles são semelhantes aos comandos del e deltree no Windows e no DOS. Esses comandos são muito poderosos e têm algumas opções.

É importante observar que os arquivos e diretórios excluídos usando rm e rmdir não são movidos para a Lixeira. Eles são imediatamente removidos do seu computador. Se você acidentalmente excluir arquivos usando esses comandos, a única maneira de restaurá-los é a partir de um backup.

Como remover arquivos com rm

O caso mais simples é excluir um único arquivo no diretório atual. Digite o comando rm, um espaço e, em seguida, o nome do arquivo que você deseja excluir.

 rm arquivo_1.txt 

Se o arquivo não estiver no formato atual de trabalho diretório, forneça um caminho para a localização do arquivo.

 rm ./path/to/the/file/file_1.txt

Você pode passar mais de um nome de arquivo para rm . Isso exclui todos os arquivos especificados.

 rm arquivo_2.txt arquivo_3.txt 

Caracteres curinga podem ser usados ​​para selecionar grupos de arquivos a serem excluídos. O * representa vários caracteres e o? representa um único caractere. Esse comando excluiria todos os arquivos de imagem png no diretório de trabalho atual.

 rm * .png 

Este comando excluiria todos os arquivos que possuem uma única extensão de caractere. Por exemplo, isso excluiria File.1 e File.2, mas não File.12.

 rm *.? 

Se um arquivo estiver protegido contra gravação, ser avisado antes que o arquivo seja excluído. Você deve responder com y ou n e pressionar "Enter".

Para reduzir o risco de usar rm com curingas, use a opção -i (interativa). Isso requer que você confirme a exclusão de cada arquivo.

 rm -i * .dat 

IMAGEM_2

A opção -f (forçar) é o oposto de interativo. Ele não solicita confirmação mesmo que os arquivos estejam protegidos contra gravação.

 rm -f filename 

Como remover diretórios com rm

Para remover um diretório vazio, use a opção -d (diretório). Você pode usar curingas (* e?) Em nomes de diretório, assim como pode fazer com nomes de arquivos.

 Diretório rm -d 

Fornecer mais de um nome de diretório exclui todos os nomes. diretórios vazios especificados.

 rm -d diretório1 diretório2 / caminho / para / diretório3 

Para excluir diretórios que não estejam vazios, use a opção -r (recursiva). Para ser claro, isso remove os diretórios e todos os arquivos e subdiretórios contidos neles.

 rm -r diretório1 diretório2 diretório3 

Se um diretório ou um arquivo for gravado -protegido, você será solicitado a confirmar a exclusão. Para excluir diretórios que não estejam vazios e suprimir esses prompts, use as opções -r (recursiva) e -f (força) juntas.

 rm -rf diretório 

Cuidado é necessário aqui. Cometer um erro com o comando rm -rf pode causar perda de dados ou mau funcionamento do sistema. É perigoso e a cautela é a melhor política. Para entender melhor a estrutura de diretório e os arquivos que serão deletados pelo comando rm -rf, use o comando tree.

Use o apt-get para instalar este pacote no seu sistema se você estiver usando Ubuntu ou outra distribuição baseada no Debian. Em outras distribuições Linux, use a ferramenta de gerenciamento de pacotes da sua distribuição Linux.

 sudo apt-get install tree 

Rodar o comando tree produz um diagrama simples de entender o diretório estrutura e arquivos abaixo do diretório do qual ele é executado.

Árvore

 

Você também pode fornecer um caminho para o comando tree para causar para iniciar a árvore a partir de outro diretório no sistema de arquivos.

Caminho da árvore

 / para / diretório 

O comando rm também possui --one-file-system, - -no-preserve-root, - preservar-root opções, mas essas são recomendadas apenas para usuários avançados. Se você conseguir algo errado, você pode excluir acidentalmente todos os seus arquivos de sistema. Consulte a página de manual do comando para obter mais informações.

Como remover diretórios com rmdir

Há outro comando, chamado rmdir, que você pode usar para excluir diretórios. A diferença entrerm andrmdir é thatrmdir só pode excluir diretórios que estão vazios. Ele nunca excluirá arquivos.

O caso mais simples é excluir um único diretório vazio. Como com rm, você pode passar vários nomes de diretório para rmdir ou um caminho para um diretório.

Exclua um único diretório no diretório atual passando seu nome para rmdir:

 diretório rmdir 

Exclua vários diretórios passando uma lista de nomes para rmdir:

 rmdir diretório1 diretório2 diretório3 

Excluir um diretório não no diretório atual, especificando o caminho completo para esse diretório:

 rmdir / caminho / para / diretório 

Se você tentar excluir uma pasta que não está vazia , rmdir lhe dará uma mensagem de erro. No exemplo a seguir, rmdir com êxito e silenciosamente, exclui o diretório de clientes, mas ele se recusa a excluir o diretório de projetos porque contém arquivos. O diretório de projetos é deixado exatamente como estava e os arquivos nele são intocados.

Quando rmdir dá um erro de "Diretório não vazio", ele pára de processar os diretórios que estavam passou para ele na linha de comando. Se você tiver solicitado a exclusão de quatro diretórios e o primeiro tiver arquivos, o rmdir fornecerá a mensagem de erro e não fará mais nada. Você pode forçá-lo a ignorar esses erros com a opção --ignore-fail-on-non-empty para que outros diretórios sejam processados.

No exemplo a seguir, duas pastas foram passadas para rmdir, estas são trabalho / relatórios e trabalho / citações. A opção --ignore-fail-on-non-empty foi incluída no comando. A pasta work / reports possui arquivos, portanto o rmdir não pode excluí-la. A opção --ignore-fail-on-non-empty força o rmdir a ignorar o erro e passa para a próxima pasta que precisa processar, que é trabalho / aspas. Esta é uma pasta vazia, e rmdir a exclui.

Este foi o comando usado.

 rmdir --ignore-fail-on-não-vazio work / reports / work / quotes 

Você pode usar a opção -p (parents) para excluir um diretório e também para excluir seus diretórios-pais. Esse truque funciona porque rmdir começa com o diretório de destino e, em seguida, executa as etapas anteriores para o pai. Esse diretório deve estar vazio, portanto, ele pode ser excluído por rmdir, e o processo se repete, retornando o caminho que foi fornecido para rmdir.

No exemplo a seguir, o comando que é passado para rmdir é:

 rmdir - trabalho / faturas 

As faturas e os diretórios de trabalho são excluídos, conforme solicitado. [HR ]

Se você estiver usando Bash ou qualquer outro shell, o Linux fornece comandos flexíveis e poderosos para você excluir diretórios e arquivos diretamente da linha de comando do terminal. Algumas pessoas preferem ter um fluxo de trabalho que gira em torno do terminal. Outros podem não ter escolha no assunto. Eles podem estar trabalhando em servidores sem uma GUI instalada ou em uma sessão remota em um sistema sem cabeça, como um Raspberry Pi. Esses comandos são perfeitos para esse grupo de pessoas.

Mas qualquer que seja o tipo de fluxo de trabalho que você preferir, esses comandos se prestam muito bem a serem incluídos em scripts de shell. Se um script for acionado por uma tarefa cron, ele poderá ajudar a automatizar tarefas rotineiras de limpeza, como limpar arquivos de log indesejados. Se você investigar esse caso de uso, lembre-se do poder desses comandos, teste tudo com cuidado e sempre mantenha um backup recente.

Via: How to Geek

Nenhum comentário