Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Symlinks zählen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
spitzwegerich
l33t
l33t


Joined: 04 Mar 2003
Posts: 697
Location: Lower Bavaria, Central Europe

PostPosted: Wed Nov 25, 2009 9:27 am    Post subject: Symlinks zählen Reply with quote

Ich suche nach einem Weg, zu einer vorgegebenen Datei alle symlinks (innerhalb eines vorgegebenen Verzeichnis und aller Unterverzeichnisse) zu finden, die auf diese Datei zeigen.

Gibt es hierfür eine einfache Lösung?
_________________
"Work is the curse of the drinking classes."
-Oskar Wilde
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Wed Nov 25, 2009 9:45 am    Post subject: Reply with quote

Hab mich gerade informiert weils mich auch interessiert hat. Was ich bisher dazu gefunden habe (und konnte es noch nicht ausprobieren) wäre folgendes, evt. hilft das schon weiter bzw. ist Basis für ein passendes Script.

http://www.jux-net.info/jux2/docs/sys100/comm_37.html wrote:
[...]
mit dem "find" Kommando kann man auch nach "symlinks" suchen:

find /etc -type l

würde alle Files unterhalb von /etc finden die ein "symlink" sind.

Um "hardlinks" aufzuspüren kann man die "find" Option -link +n verwenden, die alle Files findet die mehr als n Links (in diesem falle "hardlinks") haben (gilt nicht für Verzeichnisse) .

find /usr -links +1 -type f

würde alle normalen Fles unterhalb von /usr finden deren Linkzähler grösser als 1 ist, also alle Namen von "hardlink" Files.
Wie findet man heraus welcher Name jetzt Link auf welches File ist?
mit

ls -i

sieht man zu jedem File eine Nummer die "inode Nummer" genannt wird. Das ist eine interne Repräsentation des Files. Dateien mit der selben "inode Nummer" sind "hardlinks" aufeinander.

find /usr -links +1 -type f -exec ls -i {} ; |sort

würde also eine Liste ausgeben, wo anhand der gleichen Nummern (nach dem "sort" stehen die untereinander) gut zu sehen ist, welches File ein "hardlink" auf ein anderes ist) noch eleganter:

find /usr -links +1 -type f -printf "%i %p " |sort -n

(%i beim -printf argument gibt die inode nummer aus so wie ls -i )
[...]
Back to top
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: München (Germany)

PostPosted: Wed Nov 25, 2009 9:49 am    Post subject: Reply with quote

Code:
find verzeichnis -L -samefile "/pfad/zu/deiner/datei"

_________________
Inter Deum Et Diabolum Semper Musica Est.
Back to top
View user's profile Send private message
spitzwegerich
l33t
l33t


Joined: 04 Mar 2003
Posts: 697
Location: Lower Bavaria, Central Europe

PostPosted: Wed Nov 25, 2009 8:34 pm    Post subject: Reply with quote

Danke für eure Antworten!

Necoro wrote:
Code:
find verzeichnis -L -samefile "/pfad/zu/deiner/datei"


Gut dass ich gefragt habe. Ähnliche Sachen wie im Skript von slick hatte ich mir auch schon überlegt, mir dann aber gedacht, dass das Problem eigentlich recht naheliegend ist und es vielleicht eine kompakte Lösung dafür gibt.

Das '-L' muss übrigens vorgezogen werden, so:

Code:
find -L verzeichnis -samefile "/pfad/zu/deiner/datei"



Jetzt noch eine Frage:
Bei mir liegt die Datei in einem Unterverzeichnis des durchsuchten Verzeichnisses, mit dem Ergebnis dass die Datei selbst in der Ergebnisliste auftaucht.
Gibt es vielleicht noch eine schnelle Lösung, wie ich die Datei aus der Liste wieder herausbekomme?
_________________
"Work is the curse of the drinking classes."
-Oskar Wilde
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9236
Location: beyond the rim

PostPosted: Tue Dec 01, 2009 1:43 am    Post subject: Reply with quote

nicht getestet, aber ich vermute mal
Code:
-not -path "/pfad/zur/datei"

im find Befehl könnte helfen.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum