Por que eu recebo “Directory not empty” quando tento remover um diretório vazio?

32

Eu tenho este diretório vazio, mas continuo recebendo a seguinte mensagem de erro:

Cannot remove test: Directory not empty

Eu sei que essa pergunta foi feita muitas vezes, mas nenhuma delas ajudou.

Eu tentei ls -la para ter certeza de que não havia arquivos ocultos e parece não haver:

Eu tentei sudo rmdir test , bem como sudo rm -rf test , e simplesmente não sei o que está errado.

Eu li que pode ser um problema com o sistema de arquivos, mas não tenho ideia de como eu resolveria isso.

    
por rbrick 29.12.2014 / 05:34

10 respostas

27

Eu tive o mesmo problema em um disco rígido externo, eu tentei de muitas maneiras usando a linha de comando, mas falhei todas as vezes. Isso é o que funcionou para mim:

  1. Clique com o botão direito na pasta
  2. Mover para o lixo
  3. Esvaziar lixeira

Sim, é bobo, mas funcionou para mim (eu realmente não sei como e por que, mas a maldita pasta não existe mais)

    
por Marco Ottina 19.02.2016 / 11:13
3

Você pode excluí-lo digitando sudo rm -rf {dir_name} . O diretório pode ter sido configurado para permissão somente leitura. Espero que o comando dado possa excluir a pasta.

    
por Wolverine 30.12.2014 / 00:32
3

Eu tive o mesmo problema não capaz de remover o diretório, pois não está vazio.

Esta sequência de operações funcionou para mim.

  1. Da linha de comando primeiro

    sudo rmdir  --ignore-fail-on-non-empty folder-name-to-be-deleted
    

O comando acima ajuda o diretório ignorado do ubuntu não está vazio.

  1. Depois, basta ir para a pasta e Shift + Del. Isso é tudo.
por Amit 15.04.2017 / 05:58
1

Se você estiver usando o btrfs, possivelmente é um diretório vazio com um i_size diferente de zero. Você pode verificar se este é o caso:

stat -c %s test

O i_size de uma pasta vazia no btrfs deve ser zero. No meu caso, eu tenho 6160 com ~/.config/chromium/Default .

A solução sugerida é desmontar o sistema de arquivos, executar btrfs check para confirmar o problema, verificar outros diretórios problemáticos e, finalmente, executar btrfs check --repair para corrigir. Essa operação é arriscada, por isso é uma boa ideia fazer backup dos arquivos primeiro.

Fonte: FAQ sobre problemas do Btrfs

    
por wzhd 14.02.2016 / 10:29
1

Eu ganhei 10 + sistema dual ubuntu instalado. E ambos os sistemas compartilham as paritições do Windows.

Recentemente, eu também corri para incapaz de apagar pastas vazias nessas partições no Ubuntu. Não consigo descobrir solução para resolvê-lo no linux.

No entanto, depois de mudar para o Windows e executar

chkdsk

via cmd para o disco de destino. Alguns erros foram verificados. e então eu corro

chkdsk /F

para corrigir o erro do disco.

Depois de terminar, posso excluir essas pastas agora.

    
por e-cloud 12.07.2017 / 04:31
1

Solução de GUI

  1. Mova ou corte & amp; cole a pasta na pasta de lixo
  2. esvazia a lixeira

está feito.

Solução de linha de comando

sudo mv folder_error/ .local/share/Trash

você pode limpar com trash-cli: trash-empty ou

sudo rm -fr ~/.local/share/Trash/*
    
por Kadir Y. 18.07.2017 / 15:09
0

Se o diretório fizer parte de um sistema de arquivos montado com o CIFS (também conhecido como samba) e ele contiver um arquivo que é um link simbólico quebrado, o ls não mencionará esse arquivo. (Observo esse bug em um cliente CIFS executando o 14.04.2 LTS e um servidor executando o 12.04.5 LTS.)

Então o diretório não está vazio , mas (por cima do CIFS) você não tem como ver isso. O arquivo só pode ser visto e, portanto, só pode ser excluído por um comando em execução no servidor de arquivos que hospeda esse sistema de arquivos.

    
por Camille Goudeseune 19.06.2015 / 22:10
0

Esse problema aparece quando essas pastas ou arquivos não são copiados completamente. É erro de entrada / saída. Eu tentei apagar com Shift + Del ou através de comandos, mas estes não funcionaram. Eu tentei clicar com o botão direito e "Move to Trash" e funcionou.

    
por lhodeniz 09.04.2016 / 06:28
0

Eu tive o mesmo problema no Ubuntu 16.04 e corrigi-lo por:

  1. esvaziando a pasta da lixeira
  2. reinicializando

Abrir e fechar o gerenciador de arquivos não funcionou - apenas a reinicialização funcionou.

    
por dale 02.08.2016 / 23:20
-1

experimente este comando:

sudo lsof | grep deleted 

Verifique na lista se o seu diretório ainda está em uso. : D

Se assim for, pare o serviço e você poderá excluir o diretório.

    
por ashwin2011 29.12.2014 / 11:49