Wie kann ich eine Datei löschen, die nicht vorhanden ist?
Wie kann ich eine Datei löschen, die nicht vorhanden ist?
Antworten:
Ich hatte das gleiche problem Es war ein Problem in Indexeinträgen der Partition. Ich habe es gelöst, indem ich Windows gestartet habe, wenn Ihr System Dual Boot ist, oder eine Live-CD von Windows XP oder Windows 7 eingelegt habe, und dann die folgenden Schritte ausgeführt habe:
cmd
rechten Maustaste -> Als Administrator ausführen . chkdsk /f/x D:
(wobei D Ihr Laufwerksbuchstabe ist). 100% arbeiten
Warnung: Für diese Anweisungen muss eine verwendet werden
debugfs
. Sie können zu Datenverlust führen.Sie sind auf das ursprüngliche Problem zugeschnitten und sind möglicherweise für zukünftige Besucher auf dieser Seite nicht korrekt. Jeglicher Datenverlust kann irreparabel sein oder sogar durch verschlimmert werden
fsck
.
Es kann eine verlorene Inode sein. Führen Sie den Befehl aus ls -li
, um eine Liste der Inode-Nummern abzurufen. Anschließend können Sie versuchen, den referenzierten Inode zu sichern. Zum Beispiel, wenn Sie ls -li
wie folgt aussehen:
rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin 4096 Sep 23 18:45 panorama.jpg
---SNIP---
dann ist die Inode-Nummer 4980758, wie in der Liste als erste Spalte gezeigt.
Sie können dann versuchen, die Inode zu sichern. Bitte lesen Sie den gesamten Beitrag, bevor Sie etwas tun .
Beginnen Sie debugfs
als root:
rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
[sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
und geben Sie den Befehl open /dev/sda1
mit dem richtigen Blockgerät für Ihre Partition ein.
Geben Sie dann den Befehl ein, um die Inode zu sichern, deren Nummer Sie zuvor erhalten haben:
cat <4980758>
mit <
und >
um die Inode-Nummer.
Wenn zufälliger Text angezeigt wird, schließen Sie das Terminal und öffnen Sie es erneut. Führen Sie debugfs
den open
Befehl erneut aus und geben Sie ihn erneut ein.
Jetzt können Sie versuchen, die Datei zu löschen. Dies kann zu einer schweren Beschädigung des Dateisystems führen.
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
Beachten Sie, dass dies auch dann möglich ist, wenn sich herausstellt, dass die Datei nie einen Inode hatte. Probieren Sie die Befehle einzeln in der oben angegebenen Reihenfolge aus. Beenden Sie debugfs und prüfen Sie, ob die Datei existiert. Wenn nicht, beginnen Sie erneut, aber folgen Sie den nächsten Anweisungen.
debugfs
ist nur für die Dateisystemtypen ext2, ext3 und ext4 vorgesehen.
Ich weiß, dass dies alt ist, aber ich hatte das gleiche Problem wie bei Ihnen, nur mit einem Ordner, nicht mit einer Datei. Keine der hier vorgeschlagenen Methoden hat funktioniert.
Es gelang mir, das Problem zu lösen, indem ich einen Ordner an derselben Position und mit demselben Namen erstellte wie den, den ich nicht löschen konnte. Der Ordner wurde korrekt erstellt und ersetzt den nicht vorhandenen Ordner. Dann habe ich einfach den neuen Ordner entfernt und das Problem war weg. Einfach so.
zeig uns das Terminal .... mach ein ll | grep panorama
und zeig uns das; füge es deiner Frage hinzu ...
Mein Vorschlag ist, als root zu tun rm -f panorama.jpg
.
im mann von rm habe ich folgendes gefunden:
-f, --force
ignore nonexistent files, never prompt
Melden Sie sich zuerst als root mit an sudo -s
Sie können dies versuchen rm -v <file>
und die ausführliche Ausgabe überprüfen, um zu sehen, was gerade passiert, während Sie versuchen, die Datei zu entfernen. Überprüfen Sie die Optionen für den folgenden Befehl.
Wenn dies fehlschlägt, können Sie die Force-Option verwenden, wie alle anderen sagten. Sie können auch versuchen, das gesamte Verzeichnis zu entfernen, indem Sie eine rekursive Entfernung erzwingen:rm -rfv **full directory address here**
Aus dem UNIX Command Guide:
ZUSAMMENFASSUNG
rm [OPTION]... FILE...
BESCHREIBUNG
rm removes each file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or
--force option is not given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.
OPTIONEN
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never prompt
-i, --interactive
prompt before any removal
--no-preserve-root do not treat '/' specially (the default)
--preserve-root
fail to operate recursively on '/'
-r, -R, --recursive
remove directories and their contents recursively
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.
Wenn Sie sich Ihre Screenshots ansehen, sehen Sie, dass Sie die Gruppe als root festgelegt haben. Ich würde versuchen, chown zu verwenden und zu sehen, ob es das Problem behebt.
sudo chown -hR [username]:[username] /home/[username]
Ersetzen Sie [Benutzername] durch Ihren Benutzernamen.
Du wirst ein paar Fehler bekommen.
Das Nichtdrucken von Zeichen in Dateinamen kann zu solchen Problemen führen - beispielsweise zu einem Leerzeichen. Versuchen Sie, die interaktive Möglichkeit , rm, und sagen , ‚Y‘ auf die Datei , die Sie „löschen möchten
rm -i‚* pan *‘Beachten Sie die Verwendung von * s jede (auch nicht-printint) Zeichen übereinstimmen.
Könnte die Inode sein muss Versuchen Sie ls -i, um die Inodes zu sehen. Überprüfen Sie das Dateisystem, um dieses Problem zu beheben.
Versuchen Sie diesen Weg:
cd dir-to-delete
find ./ -exec rm -rf {} \;
Ich hatte das gleiche Problem mit der Datei, die mit der benutzerdefinierten Webbasis EMR (Electronic Medical Record) unter Chrome erstellt wurde. sudo touch /forcefsck
gefolgt von Neustart funktionierte für mich und aromatisch gelöschte Datei. Hilfe von folgenden Seiten übernommen
Linux Mint 18.3 Meine nicht existierende Datei war "Dateiname.pdf.crdownload". Sie erschien auf meinem Desktop als Paket, dh als Zip-Datei in Windows. Zum Teufel habe ich mit der rechten Maustaste auf "Eigenschaften" und "Öffnen mit" geklickt, wobei keine Apps angezeigt wurden. Daher habe ich "Öffnen mit" in "Archiv-Manager" geändert. Sofort verschwand die Datei von meinem Desktop. kb