GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Entfernen Sie eine Datei unter Linux mithilfe der Inode-Nummer

Einige andere Methoden umfassen:

Maskieren der Sonderzeichen:

[~]$rm \"la\*

Verwenden Sie den Befehl find und durchsuchen Sie nur das aktuelle Verzeichnis. Der Find-Befehl kann nach Inode-Nummern suchen und hat einen praktischen -delete Schalter:

[~]$ls -i
7404301 "la*

[~]$find . -maxdepth 1 -type f -inum 7404301
./"la*

[~]$find . -maxdepth 1 -type f -inum 7404301 -delete
[~]$ls -i
[~]$

Vielleicht übersehe ich etwas, aber...

rm '"la*'

Wie auch immer, Dateinamen haben keine Inodes, Dateien schon. Wenn Sie versuchen, eine Datei zu entfernen, ohne alle darauf verweisenden Dateinamen zu entfernen, wird Ihr Dateisystem beschädigt.


Wenn Sie wirklich Wenn Sie dies tun möchten - und Ihr Anwendungsfall nicht wirklich so aussieht, als müssten Sie dies tun, können Sie Debugging-Tools für das Dateisystem ausprobieren. Das heißt, wenn Sie bereit sind, alles zu verlieren.

Zum Beispiel für ext2/3/4 die debugfs Der Befehl hat eine "kill_file"-Option, die einen Inode zu nehmen scheint. Wie in anderen Antworten erwähnt, wird dies wird Ihr Dateisystem beschädigen, da Verzeichniseinträge auf eine nicht vorhandene Datei verweisen. Ausführen von fsck danach kann man das vielleicht reparieren. Es ist unwahrscheinlich, dass Sie dies auf einem gemounteten Dateisystem tun können.

Aber ich würde es dringend empfehlen Sie verwenden einfach entsprechende Escapezeichen/Zitate und löschen solche Dateien mit dem regulären rm Befehl wie in einer früheren Antwort erwähnt - und verwenden Sie rm -i für zusätzliche Sicherheit beim Umgang mit Dateinamen, die Globbing-Zeichen wie *

enthalten
Linux
  1. Verwenden der Kraft in der Linux-Befehlszeile

  2. Verwenden des mkfs-Befehls in Linux zum Formatieren des Dateisystems auf einer Festplatte oder Partition

  3. Erstellen Sie Dateien mithilfe der Befehlszeile in Linux

  4. 4 Tools zum Herunterladen einer beliebigen Datei über die Befehlszeile in Linux

  5. Wie lautet der Befehl zum Kopieren, Lesen und Entfernen von Dateien unter Linux

So verwenden Sie den Touch-Befehl unter Linux

So verwenden Sie den Linux-Kopfbefehl

So verwenden Sie den Linux-diff-Befehl

Verwenden des kostenlosen Linux-Befehls

Befehl zum Aufheben der Verknüpfung in Linux (Datei entfernen)

Tutorial zur Verwendung des Timeout-Befehls unter Linux