Beheben Sie das Problem beim Löschen von Dateien unter Linux

2

Dies ist ein interessantes Rätsel, bei dem alle normalen Lösungen nicht funktionieren.

Gestern habe ich mehrere Movieclips mit der Dateierweiterung wmv und avi heruntergeladen, als ich nach dem Ruhezustand meiner Win7-Installation in Ubuntu gebootet habe. Ich verwende eine NTFS-formatierte Partition, um allgemeine Dateien für die unabhängige Betriebssystemnutzung zu speichern, und hier wurden die Clips heruntergeladen. Während die Videos heruntergeladen wurden, habe ich mir eines angesehen, indem ich die .part-Dateierweiterung auf VLC gestreamt habe. Das Video kam gut durch und ich hatte keine Probleme damit.

Heute habe ich versucht, den zweiten zu laden, und ich habe immer wieder ungelöste Fehler gemeldet. Nach einem Blick auf die Dateigrößen stellte ich fest, dass eine 46 KB und die zweite 336 KB groß war, wobei die tatsächlichen Größen 480 MB bzw. 1,2 GB betragen sollten. Diese Dateien werden einfach nicht gelöscht.

Folgendes habe ich bisher versucht

  • rm -f FILE.wmv
  • rm -i ./FILE.wmv
  • mv FILE.wmv File2.wmv

In allen Fällen habe ich den Fehler gehabt cannot remove file: no such file or directory found

Eine ls -lÜberprüfung zeigt jedoch, dass die Dateien vorhanden sind und die entsprechenden Lese- / Schreibberechtigungen festgelegt sind.

Irgendwelche Lösungen in den Sinn kommen?

Jason
quelle

Antworten:

3

Wenn Windows Zugriff auf eine NTFS-Partition hat (dh diese ist gemountet) und in den Ruhezustand versetzt wurde, wird davon ausgegangen, dass die Partition im Ruhezustand unverändert bleibt. Sie wird dort fortgesetzt, wo sie aufgehört hat. Gleiches gilt für Linux in die andere Richtung.

Wenn Sie also Linux nach dem Windows-Ruhezustand booten, den Inhalt der Partition ändern und dann Windows fortsetzen, führt dies mit ziemlicher Sicherheit zu beschädigten Dateien.

Während Sie dies unter ntfsfixLinux oder chkdskWindows beheben können , gehen am Ende Daten verloren.

Paul
quelle
0

Versuchen Sie, Ihre NTFS-Partition zu überprüfen.

Sie können ntfsfix (Teil der ntfs-3g- Suite) verwenden.

jap1968
quelle
0

Hast du ein Sudo rm ausprobiert? Ich hatte seltsame berechtigungsbasierte Probleme beim Zugriff auf eine Nicht-Ext4-Partition auf meinem eigenen System (Quad-Boot von Win7, WinXP, Ubuntu Studio und Linux Mint) und in einigen Fällen beim Ausführen eines Befehls rm, mv oder cp mit Mit sudo konnte ich das Problem beheben.

Und bevor jemand für Relevanz abstimmt, möchte ich sagen, dass ich dies nur erwähne, weil der Fehler "Datei nicht gefunden" bei der Interaktion mit einer einwandfreien Windows-Partition unter Linux aufgetreten ist.

Hoffentlich hilft das...

BMB
quelle
0

Dateien / Ordner, die von einem PC oder Macintosh auf ein Unix / Linux-Konto übertragen wurden und deren Namen das enthalten, was Unix (Linux & c) als Metazeichen ansieht, verursachen allzu oft Probleme wie diese.

Metazeichen (zB Bindestriche, Schrägstriche, Semikolons, Leerzeichen, Dollarzeichen, Frage- / Ausrufezeichen und Sternchen) werden unter Unix als Befehle oder Anweisungen interpretiert . Obwohl diese Zeichen unter anderen Betriebssystemen möglicherweise keine Probleme verursachen, können ihre speziellen C / C ++ - Interpretationen Probleme unter Unix- und Linux-Betriebssystemen verursachen.

Einige Techniken zum Löschen seltsamer Dateien und Ordner:

• Versuchen Sie es mit dem Befehl rm, während Sie den problematischen Dateinamen in Anführungszeichen setzen.
Dies kann das Problem des Löschens von Dateien mit Leerzeichen im Namen lösen, zum Beispiel:
rm "Dateiname"

Einige andere Sonderzeichen können auf diese Weise gelöscht werden, zum Beispiel:

rm "filename; #" ==> Die Anführungszeichen verhindern, dass das Semikolon als Stapelbefehl interpretiert wird. Befehle werden durch Semikolons aneinander gereiht. Wenn also kein Semikolon in Anführungszeichen gesetzt wird, interpretiert die C-Sprache von Unix- und Linux-Maschinen es als Stapelbefehl und macht die Datei selbst so unsichtbar.

• Auch möglich, indem Sie die fehlerhafte Datei oder den fehlerhaften Ordner umbenennen und dabei Anführungszeichen um den ursprünglichen Dateinamen setzen. Beispiel:
mv " filename ; #" new_filename Wenn dieser Befehl die Datei erfolgreich umbenennt, löschen Sie die jetzt neu benannte Datei mit dem Befehl rm benutze diesen neuen Namen dafür.

• Wenn diese Methoden nicht funktionieren, fügen Sie vor dem Metazeichen im Dateinamen einen Backslash (\) ein. Der umgekehrte Schrägstrich bewirkt, dass das folgende Zeichen wörtlich interpretiert wird . Geben Sie beispielsweise Folgendes ein, um die Datei mit dem Namen my $ pecial-folder zu entfernen:
rm my \ $ pecial-folder

• Um eine Datei zu entfernen, deren Name mit dem Bindestrich (-) beginnt, beziehen Sie sich auf die Datei mit der folgenden Syntax:
rm ./-Dateiname 
 Wenn Sie die redundanten ./ -Verzeichnisinformationen verwenden, wird verhindert, dass die Bindestrichmarkierung am Anfang des Dateinamens auftritt andernfalls als Option des Befehls rm interpretiert werden.

• Es gibt einige Zeichen, die mit den oben genannten Methoden nicht entfernt werden können, z. B. Schrägstriche, die von C / C ++ als Verzeichnisseparatoren interpretiert werden. Um eine Datei mit solchen Metazeichen zu löschen, führen Sie einen FTP- Vorgang in das Konto aus, in dem sich die zu löschende Datei befindet, und geben Sie den folgenden Befehl ein:
mdel

Beantworten Sie n (für Nein) für jede Datei - mit Ausnahme der Datei, deren problematisches Zeichen gelöscht werden soll: Löschen Sie diese Datei, indem Sie y (für Ja) eingeben, wenn Sie dazu aufgefordert werden. Nachdem die schwierige Datei entfernt wurde, drücken Sie: Strg-c, um den mdel-Prozess abzubrechen.

• Eine Telnet-Sitzung zusammen mit einem grafischen FTP-Client kann auch dazu verwendet werden, sich remote bei einem Konto anzumelden, und dann kann eine problematische Datei einfach wie das Löschen einer normalen Datei gelöscht werden.

• Einige Emacs-Editoren ermöglichen das direkte Bearbeiten eines Verzeichnisses. eine andere Entfernungsmethode für Dateien, die einen paranormalen Charakter besaßen.

///

Das ". \" (Punkt-umgekehrter Schrägstrich) wird verwendet, um sich auf einem Windows-Computer anzumelden.

Das Punktsymbol ist die Abkürzung für "diese Maschine"
und das Backslash-Symbol dient als Trennzeichen (auch als Trennzeichen bezeichnet) zwischen Hostname und Benutzername,
wenn der Authentifizierungsstil [Host] {Backslash} [Benutzer] für eine Windows-Maschine verwendet wird. dh das. \ steht für
anglebracket dieses Computer anglebracet Backslash anglebracket Benutzername anglebracket

Ed Pendowski
quelle