Pesquisa de site

Exemplos de comandos rmdir do Linux para iniciantes


Como usuários do Linux, interagimos regularmente com os arquivos e diretórios. Uma operação comum que os usuários realizam é a remoção de diretórios do sistema de arquivos. No entanto, temos que ter cuidado extra ao remover os diretórios. Porque operações de remoção realizadas de forma descuidada podem resultar em perda de dados.

Neste artigo para iniciantes, aprenderemos sobre o comando rmdir. Também discutiremos alguns dos exemplos práticos que podem ser usados no dia a dia.

A sintaxe do comando rmdir é semelhante a outros comandos do Linux. Em alto nível, está dividido em duas partes – opções e argumentos:

rmdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...

Aqui, os colchetes ([]) representam os argumentos opcionais, enquanto os colchetes angulares (<>) representam os argumentos obrigatórios.

Uso básico do comando rmdir no Linux

Como o nome sugere, o comando rmdir é usado para remover o diretório. No entanto, é importante observar que ele só pode remover diretórios vazios. Nesta seção, veremos o uso básico do comando rmdir.

Exclua um diretório vazio no Linux

Primeiro, crie alguns diretórios vazios:

mkdir dir1 dir2 dir3 dir4

Vamos verificar se os diretórios necessários foram criados:

ls -l

Agora, vamos remover o diretório dir1 e verificar se ele foi removido:

rmdir dir1
ls -l

De forma semelhante, podemos usar o comando rmdir para remover vários diretórios vazios de uma vez.

Vamos remover os diretórios restantes:

rmdir dir2 dir3 dir4

Por fim, verifique se todos os diretórios foram removidos:

ls -l

Aqui podemos ver que o comando ls não mostra nenhum diretório.

rmdir Modo detalhado

Na seção anterior, usamos o comando ls para verificar a remoção do diretório. Porém, não faz sentido executar mais um comando apenas para verificar as ações dos comandos anteriores.

Nesses casos, podemos ativar o modo detalhado usando a opção -v, que fornece diagnóstico para cada diretório processado.

Vamos criar a mesma estrutura de diretórios que criamos anteriormente:


mkdir dir1 dir2 dir3 dir4

Agora, vamos remover os diretórios com o modo detalhado habilitado:

rmdir -v dir1 dir2 dir3 dir4
ls -l

A partir do resultado acima, podemos concluir que todos os diretórios foram removidos.

Remover subdiretórios vazios no Linux

Freqüentemente criamos subdiretórios em um sistema de arquivos, o que nos permite organizar nossos dados de maneira adequada. Vamos ver como trabalhar com subdiretórios vazios.

Conforme discutido no primeiro exemplo, podemos remover vários diretórios usando o comando rmdir. No entanto, a situação se torna complicada quando os subdiretórios são numerosos.

Nesses casos, podemos usar a opção -p, que remove o diretório e todos os seus ancestrais. Vamos entender isso com um exemplo.

Primeiro, crie uma estrutura de subdiretórios:

mkdir -p dir1/dir2/dir3/dir4/dir5

Neste exemplo, usamos a opção -p com o comando mkdir para criar uma estrutura de subdiretório.

Vamos remover todos esses diretórios de uma só vez:

rmdir -p -v dir1/dir2/dir3/dir4/dir5

rmdir: removing directory, 'dir1/dir2/dir3/dir4/dir5'
rmdir: removing directory, 'dir1/dir2/dir3/dir4'
rmdir: removing directory, 'dir1/dir2/dir3'
rmdir: removing directory, 'dir1/dir2'
rmdir: removing directory, 'dir1'

Aqui, o modo detalhado remove o diretório dir5 e todos os seus diretórios ancestrais.

Lidar com falha de diretório não vazio

Já sabemos que o rmdir pode remover apenas diretórios vazios. Qualquer tentativa de remover um diretório não vazio resultará em erro. Embora isso forneça proteção contra perda de dados, em alguns casos raros pode criar um problema.

Por exemplo, se tentarmos remover um diretório não vazio do script que está sendo executado pelo Jenkins, o trabalho reportará uma falha.

Para simular isso, vamos tentar remover o diretório não vazio:

mkdir -p dir1/dir2/dir3/dir4/dir5
rmdir dir1

rmdir: failed to remove 'dir1': Directory not empty

Para tais casos de erro, podemos usar a opção --ignore-fail-on-non-empty, que ignora todas as falhas que aconteceram devido a um diretório não vazio.

Vamos usar esta opção com o comando e verificar o valor de retorno:

rmdir --ignore-fail-on-non-empty dir1
echo $?

0

Neste exemplo, podemos ver que o comando não relatou nenhum erro e o valor de retorno zero indica a execução bem-sucedida do comando. Porém, é importante observar que esta opção apenas suprime o erro e não remove o diretório não vazio.

Use expressões regulares no comando rmdir

Semelhante a outros comandos do Linux, podemos usar expressões regulares com o comando rmdir. Vamos ver o uso das duas expressões regulares a seguir:

  • ? – Corresponde exatamente a um caractere.
  • * – Corresponde a zero ou mais ocorrências dos caracteres anteriores.

Primeiro, crie alguns diretórios vazios:

mkdir dir1 dir2 dir-01 dir-02

Agora, vamos usar a expressão regular '?' com a string 'dir' para remover dir1 e dir2 diretórios:

rmdir -v dir?

rmdir: removing directory, 'dir1'
rmdir: removing directory, 'dir2'

Aqui podemos ver que o comando removeu os diretórios corretos.

Em seguida, use a expressão regular '*' para remover os outros dois diretórios:

rmdir -v dir-*

rmdir: removing directory, 'dir-01'
rmdir: removing directory, 'dir-02'

Neste exemplo, podemos ver que os outros dois diretórios foram removidos.

Nesta seção, discutimos o uso de apenas duas expressões regulares. No entanto, também podemos usar outras expressões regulares avançadas com o comando rmdir.

Neste artigo, primeiro vimos o uso básico do comando rmdir. Em seguida, discutimos o modo detalhado e a remoção dos subdiretórios. A seguir, vimos como lidar com falhas quando um diretório não está vazio. Finalmente, discutimos como usar expressões regulares.