Wie kann ich den Müll leeren?

2067
Paul Tomblin

In meinem Papierkorb befindet sich eine seltsame Datei, die nicht verloren geht, wenn ich den Papierkorb entleere. Der Dateiname sieht folgendermaßen aus:

␀␀␀õ␀␀.õ␀ 

Die Datei befindet sich anscheinend in / Volumes / NO NAME / .Trashes / 501 / ("NO NAME" ist mein Bootcamp-Windows-Volume, daher bin ich mir nicht mal sicher, warum es ein .Trashes-Verzeichnis hat. Wenn ich versuche, "ls" diese Datei oder auch dieses Verzeichnis bekomme ich:

ls: \004␀␀␀õ\001␀␀.õ\001␀: File name too long 

Das gleiche passiert, wenn ich "sudo ls -le", "sudo ls -la" oder "sudo ls -i" probiere.

Und ähnliche Ergebnisse, wenn ich versuche, es zu rm oder sogar "find. -Type f -print0 | sudo xargs -0 rm"

Wie kann ich es loswerden?

2
wäre gut um die Berechtigungen dafür zu überprüfen, was bekommst du für ls -le? cobbal vor 15 Jahren 0
@cobbal, Sie werden feststellen, dass ich bereits erwähnt habe, dass Sie mit "sudo" versucht haben, es zu entfernen, oder? Paul Tomblin vor 15 Jahren 0

4 Antworten auf die Frage

3
cobbal

Eine Sache, die Sie ausprobieren könnten, wäre die Verwendung von Anrufen auf niedrigerer Ebene als ls, um das Verzeichnis aufzulisten

python -c 'import os; print repr(os.listdir("/Volumes/NO NAME/.Trashes/501/"))' 

und wenn das funktioniert, versuchen Sie es vielleicht mit der unlink()Funktion

edit: um die Verknüpfung aufzuheben versuchen

python -c 'import os; os.unlink("/Volumes/NO NAME/.Trashes/501/\x04\xe2\x90\x80\xe2\x90\x80\xe2\x90\x80o\xcc\x83\x01\xe2\x90\x80\xe2\x90\x80.o\xcc\x83\x01\xe2\x90\x80")' 
Das funktioniert, (gibt ['\ x04 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80 \ xe0 \ x80o \ xcc \ x83 \ x01 \ xe2 \ x90 \ x80 \ xe0 \ x90 \ x80.o \ xcc \ zurück. x83 \ x01 \ xe2 \ x90 \ x80 ']), aber ich kenne Python nicht, daher weiß ich nicht, wie ich die Datei mit der Verknüpfung aufheben soll. Ich denke, ich muss es in Perl probieren. Paul Tomblin vor 15 Jahren 0
Perl scheint es nicht zu tun. sudo perl -e 'opendir DIR, "."; while ($ line = readdir (DIR)) 'listet die Datei auf, löscht sie jedoch nicht. Paul Tomblin vor 15 Jahren 0
Ergebnis des Versuchs, es in Python zu löschen: Traceback (letzter Aufruf zuletzt): Datei "", Zeile 1, in OSError: [Errno 63] Dateiname zu lang: '/ Volumes / NO NAME / .Trashes / 501 / \ x04 \ xe2 \ x90 \ x80 \ xe0 \ x90 \ x80 \ xe0 \ x90 \ x80 \ xcc \ x83 \ x01 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80.o \ xcc \ x83 \ x01 \ xe2 \ x90 \ x80 ' Paul Tomblin vor 15 Jahren 0
3
mark4o

Diese Person hatte das gleiche Problem und es wurde durch eine Festplattenprüfung in Windows behoben.

Erstaunlich, dass sie fast den gleichen falschen Dateinamen hatten. Ich denke, es muss einen Fehler im Mac OS FAT32-Dateisystemtreiber geben, der es etwas erlaubt, eine Datei zu erstellen, die auf einem FAT32-Dateisystem nicht erstellt werden kann. Paul Tomblin vor 15 Jahren 0
2
Doug Harris

Haben Sie versucht, per Inode zu löschen?

ls -i 

zeigt die Dateien und ihre Inode-Nummern

$ ls -i *.log 694197 alf.log 694719 mb.log 694181 fsck_hfs.log 24190 secure.log 802696 hdiejectd.log 694195 system.log 1094966 install.log 694396 windowserver.log 24189 ipfw.log 

Dann verwenden Sie find zum Entfernen von Inode (sagen wir, dass ich mb.log von oben löschen wollte):

find . -inum 694719 -exec rm {} \; 
Leider hat "ls -i" dasselbe Problem: ls -i ls: \ 004␀␀␀õ \ 001␀␀.õ \ 001␀: Dateiname zu lang Paul Tomblin vor 15 Jahren 0
1
jwaddell

Sie könnten versuchen, in Windows zu booten und zu prüfen, ob die Datei gelöscht werden kann (vorausgesetzt, sie kann sie tatsächlich sehen).

Windows kann die HFS + -Partition nicht ohne Hilfe von proprietären Tools lesen. Um die Verletzung zu beleidigen, ist es auch nur lesen. LiraNuna vor 15 Jahren 0
Er sagte, es sei sein Bootcamp-Volume, also sollte es von Windows lesbar sein. mark4o vor 15 Jahren 1