
Eu estava trabalhando com muitos arquivos pequenos (cerca de 1 milhão) e por um motivo ou outro tive que criar vários links físicos para eles. Agora estou tentando excluir todos esses dados, mas não consigo. Após a remoção dos arquivos 'originais', os links físicos permanecem e não podem ser alterados:
bash-3.2$ rm -rf a
rm: a: Directory not empty
bash-3.2$ sudo rm -rf a
Password:
rm: a: Directory not empty
bash-3.2$ cd a
bash-3.2$ ls -la
[...]
ls: 82395-8.jpg.txt: No such file or directory
ls: 82395-9.jpg.txt: No such file or directory
ls: 824-1.jpg.txt: No such file or directory
ls: 824-10.jpg.txt: No such file or directory
ls: 824-2.jpg.txt: No such file or directory
ls: 824-3.jpg.txt: No such file or directory
ls: 824-4.jpg.txt: No such file or directory
ls: 824-5.jpg.txt: No such file or directory <-
total 0
drwxrwxrwx 32114 ma staff 1091876 4 Mai 11:13 .
drwxrwxrwx 3 ma staff 102 4 Mai 11:04 ..
bash-3.2$ vim 824-5.jpg.txt
~
~
~
~
"824-5.jpg.txt" [New File] <-
-> enter some text
:wq!
bash-3.2$ vim 824-5.jpg.txt
-> text was saved
bash-3.2$ rm -rf 824-5.jpg.txt
bash-3.2$ ls -la
ls: 824-3.jpg.txt: No such file or directory
ls: 824-4.jpg.txt: No such file or directory
total 8
drwxrwxrwx 32115 ma staff 1091910 4 Mai 11:23 .
drwxrwxrwx 3 ma staff 102 4 Mai 11:22 ..
-rw-r--r-- 1 ma staff 7 4 Mai 11:23 824-5.jpg.txt <-
bash-3.2$ rm -rf 824-5.jpg.txt <-
ls: 824-4.jpg.txt: No such file or directory
**ls: 824-5.jpg.txt: No such file or directory**
total 0
drwxrwxrwx 32114 matthi staff 1091876 4 Mai 11:24 .
drwxrwxrwx 3 matthi staff 102 4 Mai 11:22 ..
bash-3.2$ ls
Usar o localizador apenas causa um erro quando tento esvaziar a lixeira. O que posso fazer? Isso está ocupando mais de 100 GB do meu disco rígido e eu realmente gostaria de recuperar o espaço.
Responder1
É difícil dar uma explicação sem mais detalhes, mas a remoção de uma entrada de um hardlink não deve deixar outras entradas de arquivo vinculadas ao mesmo arquivo em um estado tão corrompido.
Sugiro usar o Utilitário de Disco para verificar e possivelmente reparar sua unidade.