Wie entferne ich eine Datei, die 'ls' findet, 'rm' aber nicht? [Duplikat]

1

Ich habe eine seltsame Situation mit einer Datei, die in meinem Dateisystem steckt, und anscheinend kann ich nichts tun, um sie zu entfernen. Es befindet sich eine Datei im Ordner "Papierkorb" meiner externen Festplatte, die nicht gelöscht werden kann. Beim Versuch mit dem Mac "Papierkorb leeren" heißt es, dass die Datei verwendet wird:

"The operation can’t be completed because the item “Funny Film” is in use."

Ich habe versucht, die Datei / Ordner von der Kommandozeile zu entfernen:

$ pwd
Volumes/My Book/.Trashes/501/Clip old/Funny Film

$ ls
000␀0000.␀P4

$ rm 000␀0000.␀P4
rm: 000␀0000.␀P4: No such file or directory

$ ls -i
ls: 000␀0000.␀P4: No such file or directory

$ ls -l 
ls: 000␀0000.␀P4: No such file or directory

$ stat ./000␀0000.␀P4
stat: ./000␀0000.␀P4: stat: No such file or directory

Ich hatte dieses Problem seit einiger Zeit. Ich habe verschiedene Dinge ohne Erfolg versucht. Die externe Festplatte wurde über FTP mit Windows-, Ubuntu- und Mac-Betriebssystemen verwendet. Wie ist es möglich, dass 'ls' die Datei findet, während 'ls -l' fehlschlägt? Was noch wichtiger ist, wie kann ich die Situation beheben und die Datei löschen?

Pejman Habashi
quelle
Wie ist Ihr My Book formatiert, welches Dateisystem wird verwendet?
user3439894
Was ist das Dateisystem des externen Laufwerks (wenn es auch mit Win / Ubu verwendet wurde, wahrscheinlich ExFAT) und die OS X-Systemversion?
klanomath
Der Fehler wurde auf macOS 10.12
behoben
Das externe Laufwerk "My Book" ist eine externe 1-TB-MS-DOS-Festplatte (FAT), die ich unter Windows, Ubuntu und MAC verwendet habe. Die Ordnerstruktur, die derzeit nicht gelöscht werden kann, wurde unter Windows erstellt. Ich habe OSX El Capitan 10.11.6
Pejman Habashi

Antworten:

0

Verwenden ls -iSie für das gesamte Verzeichnis. Verwenden Sie dann den Befehl find, um die Inode an rm zu übergeben.

bmike
quelle
Ich habe dies, aber ls -i kann die Datei nicht finden. Sie können das Ergebnis von ls -i in dem von mir bereitgestellten Beispiel sehen.
Pejman Habashi
Ich habe versucht, wie im angegebenen Link angefordert auszuführen:rm: ./Funny Film: is a directory; find: ./Funny Film/000␀0000.␀P4: No such file or directory
Pejman Habashi
-2

Am einfachsten ist es, El Capitan Cache Cleaner (kostenlos) zu verwenden, mit der Option "Leeren Papierkorb erzwingen". Da der Befehl rm die Datei nicht löscht, wird er höchstwahrscheinlich mit dem Dateinamen verwechselt, der nur sehr schwer einzugeben ist. Es gibt mindestens drei Möglichkeiten, damit umzugehen. Erstens ist durch Anführungszeichen oder Schrägstriche mit im Dateinamen um Sonderzeichen zu bekommen, ist die andere mit einem Stern (*) verwenden alle Dateien zu erhalten, und die dritte ist die verwenden -delete Option im find Befehl zu finden und löschen gefundene Dateien. Hoffe das hilft.

boris42
quelle