Der Inode der Datei definiert die Größe der Datei, den Besitzer und andere Eigenschaften der Datei. Jede Datei und jedes Verzeichnis hat eine eigene eindeutige Inode-Nummer. Der folgende Artikel stellt Ihnen daher hauptsächlich die relevanten Informationen zur Verwendung von Inode zum Löschen bestimmter Dateien unter Linux vor. Lassen Sie uns gemeinsam einen Blick darauf werfen.
Vorwort
Wie wir alle wissen, stoßen Sie unter Linux manchmal auf Dateien mit verstümmelten Namen oder einigen speziellen chinesischen Schriftzeichen. Das Löschen anhand des Dateinamens ist schwierig.
Gleichzeitig muss jede Datei in Linux einen eigenen eindeutigen Inode-Wert haben. Zu diesem Zeitpunkt können Sie Dateien mit abnormalen Dateinamen über Inode löschen.
arbeitet im Allgemeinen mit Dateien, die den folgenden ähneln:
[root@server tmp]# ll 总用量 61404-rw-r--r-- 1 root root 0 6月 16 14:58 ? -rw-r--r-- 1 root root 0 6月 19 12:29 ?? -rw-r--r-- 1 root root 0 6月 21 14:53 ???3kqU-rw-r--r-- 1 root root 0 6月 21 14:53 ?6;?Xf??mA???9???T֙ -rw-r--r-- 1 root root 0 6月 19 12:29 9y??????sy?z?D?l???I?MO???8z????@]9??U@?XlAI]?k
Gründe für die Generierung solcher Dateien:
1. Netzwerkanomalie beim Hochladen von Dateien
2. Bestimmte von Windows erstellte Dateinamen
kann unter Linux 3 nicht normal erkannt werden. Chinesische Sonderzeichen können nicht erkannt werden
Die Lösung lautet wie folgt:
1. Fragen Sie die Inode-Werte dieser Dateien ab
ll -i
[root@server tmp]# ll -i 总用量 6140415206100 -rw-r--r-- 1 root root 0 6月 16 14:58 ?15206090 -rw-r--r-- 1 root root 0 6月 19 12:29 ??15206092 -rw-r--r-- 1 root root 0 6月 21 14:53 ???3kqU15206233 -rw-r--r-- 1 root root 0 6月 21 14:53 ?6;?Xf??mA???9???T֙ 15206235 -rw-r--r-- 1 root root 0 6月 21 14:53 A??K?
Oben ist die Zahl ganz links der Inode-Wert der entsprechenden Datei. Der Befehl rm kann jedoch nicht zum direkten Löschen der Datei verwendet werden
2 .Anormale Dateien löschen
Unter normalen Umständen sollten Sie jedoch vorsichtig sein, wenn Sie vorher einige Tests durchführen Mit der Operation gibt es keine derartigen verstümmelten Zeichen.
Es gibt mehrere Methoden:
Erstellen Sie zuerst die erforderlichen Dateien
[root@zstest1 tmp]# cd /tmp [root@zstest1 tmp]# touch aaa bbb ccc ddd eee [root@zstest1 tmp]# ll -i 总用量 01442581 -rw-r--r-- 1 root root 0 9月 22 15:00 aaa1442582 -rw-r--r-- 1 root root 0 9月 22 15:00 bbb1442583 -rw-r--r-- 1 root root 0 9月 22 15:00 ccc1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee
[root@zstest1 tmp]# find ./* -inum 1442581 -delete [root@zstest1 tmp]# ll -i 总用量 0 1442582 -rw-r--r-- 1 root root 0 9月 22 15:00 bbb 1442583 -rw-r--r-- 1 root root 0 9月 22 15:00 ccc 1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd 1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee
[root@zstest1 tmp]# find ./* -inum 1442582 -exec rm -i {} \; rm:是否删除普通空文件 "./bbb"?y [root@zstest1 tmp]# ll -i 总用量 0 1442583 -rw-r--r-- 1 root root 0 9月 22 15:00 ccc 1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd 1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee
[root@zstest1 tmp]# find ./* -inum 1442583 -exec rm -f {} \; [root@zstest1 tmp]# ll -i 总用量 0 1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd 1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee
[root@zstest1 tmp]# find ./* -inum 1442584 |xargs rm -f [root@zstest1 tmp]# ll -i 总用量 0 1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee
[root@zstest1 tmp]# rm `find ./* -inum 1442574` rm:是否删除普通空文件 "./eee"?y [root@zstest1 tmp]# ll 总用量 0 # 使用find命令的-inum选项确认文件名 [root@zstest1 tmp]# touch fff [root@zstest1 tmp]# ll -i 总用量 01442574 -rw-r--r-- 1 root root 0 9月 22 15:38 fff [root@zstest1 tmp]# find ./* -inum 1442574 ./fff
Um es zusammenzufassen:
Zusammenfassung
Das obige ist der detaillierte Inhalt vonBeispiel für die Verwendung von Inode zum Löschen bestimmter Dateien unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!