Ich habe versucht, ein Verzeichnis zu löschen, aber
$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty
Aber die Auflistung seines Inhalts gibt keinen zurück
$ ls DE.aspx_files
$
Hinzugefügt: Eigentlich
$ ls -la DE.aspx_files
total 4
drwx------ 1 ting ting 4096 Sep 14 20:48 .
drwx------ 1 ting ting 0 Sep 13 22:34 ..
-rw------- 1 ting ting 0 Sep 13 22:34 .fuse_hidden0001d4bf00000006
Wenn ich es versuche, rm .fuse_hidden0001d4bf00000006
wird es gelöscht, aber ein anderes neu .fuse_hidden0001d4bf00000007
erstellt.
Ich frage mich also, was passiert ist und wie das Problem behoben werden kann.
Hinweis: Es handelt sich um eine neu gekaufte externe tragbare Festplatte, auf die ich nur einige Dateien mithilfe eines Datenwiederherstellungsprogramms kopiere.
Betriebssystem: Ubuntu 12.04
Vielen Dank!
mount | fgrep fuse
Sie, es zu finden undfusermount -u <mountpoint>
die Bereitstellung aufzuheben, bevor Sie versuchen, Ihr Verzeichnis zu löschen.Antworten:
Versteckte Dateien
Möglicherweise haben Sie Dateien versteckt. Sie können sie mit finden
ls -la
, um sicherzustellen, dass Sie damit einverstanden sind, sie zuerst wirklich zu löschen. Anschließend können Sie die Dateien vor dem Ausführenrm -r
oderrmdir
nach Bedarf löschen .Erzwingen des rekursiven Löschens
Sie können auch einfach
rm -rf
das rekursive Löschen erzwingen, selbst wenn das Zielverzeichnis Dateien enthält. Es gelten alle üblichen Warnungen, aber der Job wird ausgeführt, unabhängig davon, was in Ihrem Verzeichnis enthalten ist - vorausgesetzt, Sie haben die Berechtigung, die Dateien und Verzeichnisse zu löschen.quelle
find DE.aspx_files -exec ls -la {} \;
, um versteckte Dateien oder Dateien mit Sonderzeichen zu identifizieren.Dateien des Formulars
.fuse_hidden*
werden von FUSE- Dateisystemen erstellt, wenn eine Datei gelöscht wird, aber noch irgendwo verwendet wird und noch einen Verzeichniseintrag haben muss. Dies ähnelt.nfs*
Dateien in Verzeichnissen, die über NFS exportiert wurden .Führen
df -T .
Sie den Befehl aus, um den Typ des Dateisystems anzuzeigen, das im aktuellen Verzeichnis und dessen Einhängepunkt eingebunden ist. Bei einer externen Festplatte handelt es sich wahrscheinlich um ein NTFS-Dateisystem, das über den auf FUSE basierenden NTFS-3G- Treiber bereitgestellt wird.Der Name ist ein falscher Name, den der Dateisystemtreiber für eine gelöschte Datei erfindet. Sie können die Datei nicht löschen (oder, wenn Sie die Datei erstellen, wird sie erneut unter einem anderen Namen angezeigt). Sie können das Verzeichnis auch nicht löschen, da es nicht leer ist. Sie müssen herausfinden, was diese Datei verwendet. Die wahrscheinlichste Ursache für die Verwendung ist, dass sie von einer Anwendung geöffnet wird. Führen Sie aus,
lsof /media/mount-point
wo/media/mount-point
sich der Mount-Punkt des Dateisystems befindet, und suchen Sie in diesem Verzeichnis nach einer geöffneten Datei.quelle
Für externe Festplatten könnte dieses Problem gelöst werden durch:
Move to Trash
Es hat bei mir funktioniert, auch wenn
rm -rf
es nicht funktioniert hat.quelle
Achten Sie auf dem Mac auch auf * .localized-Dateien, die selbst für 'ls -la', 'find' und ihre Art auf einem FUSE-Dateisystem unsichtbar werden können. [Dies wurde mithilfe eines von ConnectedData Transporter erstellten FUSE-Dateisystems auf einem MacBook Pro festgestellt.]
quelle
Dies kann passieren, wenn Sie eine Datei auch in einem Torrent-Client einlesen. Stellen Sie einfach sicher, dass Sie den Torrent-Client ausschalten oder den Seeding-Torrent entfernen.
quelle