Ich habe einen Musikordner auf meinem externen Laufwerk gelöscht und ein Verzeichnis gefunden, das ich nicht löschen kann, egal was ich versuche.
Wenn ich es per GUI in den Papierkorb lege
Der Vorgang kann nicht abgeschlossen werden, da das Element „Ordner“ verwendet wird.
Wenn ich rm -rf
es über das Terminal entferne
$ rm -rf folder/
rm: folder/: Directory not empty
Wenn ich benutze ls -la
, um seinen Inhalt zu überprüfen
$ ls -la
total 512
drwxrwxrwx 1 user staff 131072 Jan 3 2017 .
drwxrwxrwx 1 user staff 131072 Jan 3 2017 ..
Wenn ich rm -i *
innerhalb des Ordners verwende
$ rm -i *
rm: 03 - Ēlusion.mp3: No such file or directory
Wenn ich verwende sudo lsof +D folder/
, um zu überprüfen, ob Dateien geöffnet sind
Beim Beenden des Programms kehrt nichts zurück.
Wenn ich das Festplattendienstprogramm verwende, um Festplatte und Volume zu reparieren (Erste Hilfe).
Zustandsprüfung bestanden, daher wurde keine Reparatur eingeleitet.
Wenn ich macOS neu starte
Das Problem besteht weiterhin.
Zusätzliche Information:
Ich kann den Ordner innerhalb des Laufwerks verschieben, aber nicht auf ein anderes Laufwerk.
Ich kann den Ordner umbenennen.
ls -i *.mp3
kehrt zurück ls: 03 - Ēlusion.mp3: No such file or directory
, genauso wie rm -i *.mp3
.
Die Datei wird nicht im Finder angezeigt, das ist ein verwirrender Teil, was auch immer für ein Problem mit der Anzeige von Dateinamen Terminal haben könnte (ich stelle es immer auf use ein Unicode - UTF-8
), ich denke, es ist mehr Kraft im Spiel.
Als Antwort auf Fragen, nein, ls -ib
gibt nichts zurück.
$ ls -i
$ ls -ib
$ ls -laib
total 512
2762318 drwxrwxrwx 1 user staff 131072 Jan 3 2017 .
2685260 drwxrwxrwx 1 user staff 131072 Jan 3 2017 ..
Anscheinend ist also etwas darin, konnte es aber ls -la
nicht sehen, während rm -i
es mit dem Dateinamen komisch ist?
get info
über das GUI-Kontextmenü hat bestätigt, dass sich 1 Element im Ordner befindet, jedoch mit null Byte, und es wird sicherlich nicht im Finder angezeigt.
Ich bin mir nicht sicher, was ich an dieser Stelle tun soll. Hilfe sehr geschätzt!
(Mit 10.13.4 + ExFAT auf externem Laufwerk)
Das Problem scheint durch eine Datei namens 03-Ēlusion.mp3 verursacht zu werden, die sich im Verzeichnis folder befindet .
Da Terminal.app keine diakritischen Zeichen in Dateinamen wiedergeben kann – nun, das ist es, aber das würde den Rahmen sprengen, die einfachste Lösung für Sie bereitzustellen –, verbirgt es seinen Fehler, indem es den Dateinamen verbirgt (etwas, von dem ich bisher noch nichts gehört habe ; vielleicht die Änderungen von High Sierra in /.file, /.volfs und 64-Bit-Inodes? Warten Sie - egal; Ihre Bearbeitung Ihrer Frage sagt mir, dass ich Sie missverstanden habe.) Wie auch immer, die Existenz der Datei ist bekannt, zusammen mit der Ironie Behauptung des Finders, dass es nicht existiert. Offensichtlich tut es das. So ändern Sie das:
Ermitteln Sie zunächst die Inode-Nummer der Datei. Wechseln Sie in Terminal.app cd
in das Verzeichnis „Ordner“ und geben Sie diesen Befehl ein:ls -i *.mp3
Kopieren Sie die Nummernzeichenfolge des Inodes, die in der linken Spalte der Antwort angegeben ist, was so etwas wie sein wird
12345678 03 - E ̄lusion.mp3
--und fügen Sie es in diesen Befehl ein, der es in etwas umbenennt, das das Terminal korrekt wiedergeben kann:
find . -inum 12345678 -exec mv {} deletemenow \;
-- Ihnen die Datei "deletemenow" im Ordner "folder" geben, die Sie beide nach Belieben entsorgen können.
$ ls -i *.mp3
, es kehrt zurück ls: 03 - Ēlusion.mp3: No such file or directory
.ls -i
innerhalb des Verzeichnisses laufen, um zu verhindern, dass die Shell-Wildcard-Erweiterung stört?ls -ib
, ich werde die Frage aktualisieren.test.mp3
. Und es wird im macOS Finder/Terminal korrekt angezeigt. Ich werde dies an ein exFAT-Kompatibilitätsproblem unter macOS anheften.dot_clean
. Kommt Ihnen der Ausdruck „Error 36“ bekannt vor? Nein, beantworte das nicht; Wasser unter der Brücke. Erwägen Sie jedoch, die Überschrift in Ihrem Beitrag so zu bearbeiten, dass sie „exFAT Drive“ enthält, um Personen mit ähnlichen Problemen zu helfen.Ich habe lange gebraucht, um zu dieser Zusammenfassung zu kommen, aber ich denke, es ist die endgültige Antwort.
Die Ursache meines Problems ist bekannt :
OS X ist das Seltsame, da es sowohl Dateinamen normalisiert als auch NFD anstelle des gebräuchlicheren NFC verwendet .
Historisch (nicht so alt, vor 10.11) erzwingt OS X + HFS+ das NFD-Formular für alle Dateinamen , und Sie erhalten NFD-Ergebnisse nur von Befehlen und Systemaufrufen.
Dann beginnen sich die Dinge zu ändern, in 10.11 werden einige Ergebnisse von Systemaufrufen auf NFC normalisiert , was es in Einklang mit Windows und Linux bringt, aber auf Kosten einiger Programme, die NFD unter OS X erwarten.
Aber seit der Einführung von macOS 10.13 + AFPS ändert sich das Verhalten erneut: Apple entscheidet, dass es bei Anzeige und Systemaufrufen auf NFD normalisieren möchte , aber die ursprünglichen Dateinamen unverändert belässt (sodass sowohl NFC als auch NFD unterstützt werden, aber wenn Sie auswählen den Dateinamen im Finder oder kopieren ls
Sie das Ergebnis im Terminal, Sie erhalten das NFD-Formular).
Das ist alles großartig, bis Sie eine Datei mit NFD-Dateinamen mit exFAT auf einem externen Laufwerk ablegen (da es das einzige macOS/Windows-übergreifende Format mit Unterstützung für 4 GB+ Dateigröße ist): macOS 10.13 glaubt irgendwie, dass Ihre Datei im NFC-Format sein muss, also es hat gestunken.
Tatsächlich, hier ist ein schneller Test, ich habe einen Ordner in Windows auf meinem exFAT-Laufwerk mit 3 Dateien:
test.mp3
Ēlusion.mp3
( Ē
in NFC)03 - Ēlusion
( Ē
im NFD)(Sie können den genauen Unicode hier kopieren )
Wenn ich sie auf meinem macOS mounte, sehe ich Folgendes:
und ls -laib
Ergebnis:
$ ls -laib
total 46592
2762318 drwxrwxrwx 1 user staff 131072 Jan 3 2017 .
2685260 drwxrwxrwx 1 user staff 131072 Jan 3 2017 ..
1572961 -rwxrwxrwx 1 user staff 11672464 Aug 23 2014 Ēlusion.mp3
1572871 -rwxrwxrwx 1 user staff 11672464 Aug 23 2014 test.mp3
Wie Sie sehen können, ist die NFC-Datei vorhanden, aber die NFD-Datei fehlt.
Selbst wenn Sie sich des NFC/NFD-Problems unter OS X bewusst sind , erwarten Sie möglicherweise nicht, dass das externe exFAT-Laufwerk dieses Problem auf die entgegengesetzte Weise angeht (NFC ist in Ordnung, aber NFD ist Feuer und Flamme).
Aber was könnte dazu geführt haben, dass meine Musikdatei überhaupt den NFD-Dateinamen verwendet hat:
Ich hätte die Datei über ein Netzwerklaufwerk oder TeamViewer kopieren können, und es wäre in Ordnung, aber exFAT löst diesen Fehler unter macOS aus.
Unterricht:
Error 36
und führen Sie eine Websuche nach etwas wie "Dateien hin und her verschieben, Windows Mac-Fehler 36" durch. Dies ist ein (weiteres) bekanntes Dateibenennungsproblem von MacOS / OS X seit System 10.6. Zwischen der Unicode-Normalisierung und der Trennung des dot_underscore-Attributs haben Sie einen doppelten Fehler erlebt. Ich bezweifle, dass der Befehl dot_clean eine Chance hatte.
Solar-Mike
Reid
ls -b
die Datei an? Wenn ja, könnenls -bi
Sie den Inode abrufen und der folgenden Antwort folgen oder alternativ einfach den Dateinamen in die-b
Ausgabe kopieren.bitinn
ls -bi *.mp3
Zeigen Sie das gleiche Ergebnis wie in OP.