Tipp #7
- Posted by bluelupo am 19.02.2009
- 4 Feedbacks »
Der heutige Tipp beschäftigt sich mit dem Aufspüren von Hardlinks einer Datei, die im Gegensatz zu Softlinks nicht offensichtlich auffallen.
Eine namentlich bekannte Datei (liesmich.txt) mit einer unbestimmten Anzahl Hardlinks soll gefunden werden.
Fortsetzung:
Nachfolgend das Listing des aktuellen Verzeichnisses. Die erste Spalte zeigt die eindeutige Indexnummer (32842) der Datei liesmich.txt an.# ls -li
total 12
32842 -rw------- 4 bluelupo All 22 Jan 30 14:08 liesmich
32842 -rw------- 4 bluelupo All 22 Jan 30 14:08 liesmich.txt
32844 -rw------- 1 bluelupo All 0 Jan 30 14:11 readme
32845 -rw------- 1 bluelupo All 0 Jan 30 14:11 Readme
32843 drwx------ 2 bluelupo All 4096 Jan 30 14:10 SUBDIR
Alternativ kann auch den stat Befehl dazu verwenden. Hier sieht man das die Datei liesmich.txt vier Links besitzt.
# stat liesmich.txt
File: `liesmich.txt'
Size: 22 Blocks: 8 IO Block: 4096 Regular File
Device: 3a00h/14848d Inode: 32842 Links: 4
Access: (0600/-rw-------) Uid: (1234/ bluelupo) Gid: ( 700/ All)
Access: 2009-01-30 14:08:56.000000000 +0100
Modify: 2009-01-30 14:08:56.000000000 +0100
Change: 2009-01-30 14:10:47.000000000 +0100
Nach dieser Indexnummer (Inode) muss man jetzt mit dem find Kommando suchen.
# find . -inum 32842 -ls
32842 4 -rw------- 4 bluelupo All 22 Jan 30 14:08 ./liesmich.txt
32842 4 -rw------- 4 bluelupo All 22 Jan 30 14:08 ./liesmich
32842 4 -rw------- 4 bluelupo All 22 Jan 30 14:08 ./.liesmich
32842 4 -rw------- 4 bluelupo All 22 Jan 30 14:08 ./SUBDIR/auch_ein_liesmich.txt
Die Ausgabe des find-Kommandos liefert alle Dateien, die die Indexnummer (Inode) 32842 haben, im langen Listingformat (Option -ls). Im oberen Beispiel wurden vier Dateien, mit Pfadangabe, gefunden die den Kriterium entsprachen.
In Tipps&Tricks
4 Kommentare
merci für den beitrag.
kurze Frage:
Funktioniert es bei ausführbaren Dateien?
Szenario:
habe ein Symbolischen Link auf eine ausführbare Datei gelegt
=> ln -s /usr/bin/xy1.2 /usr/bin/xy
Das Ausführen von dem stat-Befehl auf die reguläre Datei und den Symbolischen Link zeigt, dass die Inoden unterschiedlich sind.
Habe ich etwas übersehen?
Danke im Voraus.
das ganze gilt nur für Hardlinks. Softlinks haben unterschiedliche Inodes zu sehen mit dem stat-Kommando oder mit 'ls -li'.
Einen Hardlink erzeugst du mit:
$ ln quelldatei zielname
$ ln /etc/hosts ./myhosts
Ausführbar oder nicht spielt in diesem Zusammenhang keine Rolle.
Grüße
bluelupo
ahh, ich wusste doch, wer lesen kann ist klar im vorteil => habe mit "-s" softlinks generiert.
danke für die rasche antwort.
guten rutsch ;)









Neueste Kommentare