Hardlinks suchen geht das?

D

derparnia

Grünschnabel
Hallo Board Mitglieder,

ich habe von der Uni eine nette Aufgabe bekommen :

Angenommen, Sie wollen eine große Datei in ihrem Homeverzeichnis loeschen, sehen aber bei der
Ausfuehrung von ls -l, daß noch Hardlinks auf diese Datei existieren. Sie wissen nicht, wo diese
Hardlinks liegen und wie sie benannt sind.
Wie koennen Sie sich eine Liste der Hardlinks ausgeben lassen, die auf die zu loeschende Datei zeigen?
(Tip: Fuehren Sie zunaechst ls mit passenden Optionen (siehe manpage) aus und verwenden Sie die
Ausgabe dann in einem Aufruf des Befehls find.)

Habt ihr einen Tip wie es geht und ob es überhaupt geht?

Danke im Vorraus
derparnia
 
bin zwar nicht am linuxrechner aber ich denke das kommando "find" sollte dazu in der lage sein. werd's später mal ausprobieren.
 
dazu muss man erst das file system suchen auf dem die datei liegt:
Code:
df /home/hugo/dateixy
und dann mittels find die hard links auf diesem file system (hier mal /home) suchen:
Code:
find /home -mount -samefile /home/hugo/dateixy 2>/dev/null

bei mir gehts auch mit dem einzeiler:
Code:
DATEI=/home/hugo/dateixy; find $(echo $(df $DATEI|tail -n1)|cut -d' ' -f6) -mount -samefile $DATEI 2>/dev/null
 
danke für deine Hilfe

Erstmal danke für deine Hilfe doch leider klappt es auf dem Unix Rechner nicht.

Habe dir mal hier die Ausgabe reinkopiert. Vielleicht mache ich ja einen fehler.

Code:
parnia@toliman:~ > df /home/parnia/datei
Filesystem           1k-blocks      Used Available Use% Mounted on
arcturus:/export/users2/ppp/parnia
                      48221441  19459534  28279693  41% /home/parnia

Code:
parnia@toliman:~ > find /home -mount -samefile /home/parnia/datei 2>/dev/null
find: invalid predicate `-samefile'
 
wenn dein find die option -samefile nicht unterstützt dann musst du stattdessen die inode number der datei ermitteln
Code:
$ ls -i home/parnia/datei
12345 /home/parnia/datei
und damit die hard links der datei suchen, das sind alle files auf demselben file system mit der gleichen inode number
Code:
$ find /home/parnia -mount -inum 12345 2>/dev/null
 
Juhuu

Hallo ninguno,

es hat endlich geklappt. Vielen dank für deine Hilfe

Gruss
derparnia
 

Ähnliche Themen

Löschroutine mit Überprüfung

Zurück
Oben