Eu tenho um diretório dentro de si. Como faço para excluí-lo.
~/.local/share/Trash/files$ ls devices/
reg-dummy
~/.local/share/Trash/files$ ls devices/reg-dummy/
subsystem
~/.local/share/Trash/files$ ls devices/reg-dummy/subsystem/
devices
Além disso
~/.local/share/Trash/files$ find devices/ | head -n 20
devices/
devices/reg-dummy
devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
Além disso, embora meu cérebro não consiga resolver o problema da parada, parece que sudo rm -rf devices
continua para sempre sem produzir resultados.
~/.local/share/Trash/files$ sudo rm -rf devices
^C~/.local/share/Trash/files$
A mesma coisa para perl -e 'use File::Path qw(remove_tree); remove_tree("$ENV{HOME}/.local/share/Trash/files/devices")'
. A mesma coisa para du -s devices/
. A mesma coisa para du -sch ~/.local/share/Trash/
outros comandos
$ cd ~/.local/share/Trash/files/devices/reg-dummy/subsystem/devices/
$ ls -ldi
8131921 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ cd reg-dummy/subsystem/devices/
$ ls -dli
8131926 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ find .local/share/Trash/files/ -maxdepth 1 -delete
find: cannot delete `.local/share/Trash/files/devices': Directory not empty
find: cannot delete `.local/share/Trash/files/': Directory not empty
Não quero que fique preso no meu lixo para sempre!
Nota: Eu estava fazendo um backup bruto de um computador simplesmente usando scp
, mas fiquei sem espaço e isso aconteceu.
filesystem
PyRulez
fonte
fonte
rm -rf devices
faz?ls -dli devices
els -dli devices/reg-dummy/subsystem/devices/
ls -ldi devices
, nãodevice
. Estou tentando ver se esses são realmente links físicos (o mesmo inode). No entanto, esteja ciente de que, se este for um diretório grande,rm -rf
levará muito tempo, mas eventualmente funcionará. Se o problema aqui for links circulares, você receberá uma mensagem de erro sobre recursão infinita. Se não houver mensagem de erro, bastarm -rf
seguir seu curso.Respostas:
A saída de
ls -ldi
mostrará o número do inode do diretório. Se o diretório dentro do diretório realmente tiver o mesmo número de inode que seu ancestral, em vez de apenas o mesmo nome, seu sistema de arquivos está corrompido e você precisará inicializar no modo de recuperação e fsck.fonte
Eu ainda acho que
rm -rf
funcionará se você der tempo suficiente, mas se não, um ou os dois devem:Você pode garantir que algo esteja acontecendo se você usar
rm -rfv ~/.local/share/Trash/files/devices
pelo menos isso para saber que os arquivos estão sendo excluídos.De qualquer forma, isso não pode ser um problema de hardlink (apesar do meu comentário muito errado), porque os diretórios não podem ser hardlinked no Linux. Em geral, quando você tem uma recursão infinita, como pode acontecer com os softlinks, você receberá uma mensagem nesse sentido, que parece não acontecer.
A outra possibilidade em que posso pensar é que a pasta Lixeira é um sistema estranho. Realmente não sei como funciona, nunca o uso. No entanto, é melhor você excluir os arquivos de nível superior diretamente, em vez de direcionar o diretório problemático:
Você também deve tentar esvaziar a pasta Lixeira da GUI, basta selecionar Lixeira e clicar em "Esvaziar Lixeira", para ver se isso funciona.
fonte
rm
produzirão qualquer saída. Por quanto tempo eles correram? Eu também atualizei ofind
comando, o anterior estava errado, desculpe. Dê uma olhada na resposta atualizada. Finalmente, estamos trabalhando cegos aqui. Atualize sua pergunta com a saída dels -l
onde você usouls
, também mostre o resultadodu -sch ~/.local/share/Trash/
para sabermos o tamanho.du -sch ~/.local/share/Trash/
que lhe dará o tamanho. Adicione todas as informações solicitadas pelos vários comentários, necessárias para que possamos entender o que está acontecendo.(Estou confiante de que isso funcionará e, como vou viajar agora, deixarei isso como uma resposta que posso excluir no futuro, se não funcionar.)
Primeiro, para estar seguro, corra
Segundo, se a saída "1" não mostrar nenhum arquivo importante, execute
O passo final seria
fonte