O ile mi wiadomo, nie ma łatwego sposobu na wyświetlenie wszystkich dowiązań symbolicznych wskazujących na i-węzeł. Dlatego polecam użycie standardowego narzędzia find z przełącznikami -L i -samefile :
- -samefile porówna się na podstawie i-węzła pliku docelowego,
- -L uwzględni w wyszukiwaniu linki symboliczne, których właśnie szukasz.
Oto przykład z / bin / dash w / bin:
$ find -L /bin -samefile /bin/dash -exec ls -lhi {} \;
786515 lrwxrwxrwx 1 root root 4 Mar 29 2012 /bin/sh -> dash
786436 -rwxr-xr-x 1 root root 108K Mar 29 2012 /bin/dash
Z tego wyniku można zobaczyć zarówno numer i-węzła (pierwsza kolumna), jak i strzałkę (ostatnia), że / bin / sh w dowiązaniu symbolicznym do / bin / dash. Gdyby były to linki dowiązania, numer i-węzła byłby taki sam dla różnych plików i nie byłoby strzałki w ostatniej kolumnie.
Wreszcie, gdybym musiał szukać tych łączy w całym systemie plików, wykluczyłbym niektóre katalogi, takie jak / dev , / proc i / sys z wyszukiwania. Można to zrobić za pomocą opcji -path i -prune swicthes (możesz dodać tyle, ile chcesz za pomocą opcji -o przełącznik lub ), 2> / dev / null jest tutaj, aby zamaskować potencjalne błędy:
$ sudo find -L / \( -path /dev -o -path /proc -o -path /sys \) -prune -samefile /bin/dash -exec ls -lhi {} \; 2>/dev/null
Ponieważ wyszukiwanie w całym systemie plików może zająć dużo czasu (głównie w zależności od jego wielkości), rozważę tę opcję jako ostateczność. To jest jak szukanie igły w stogu siana: nie jest to niemożliwe, ale wymaga dużego wysiłku ...