Linux: Найти все символические ссылки данного «исходного» файла? (обратный 'readlink')

Рассмотрим следующий фрагмент командной строки:

$ cd /tmp/
$ mkdir dirA
$ mkdir dirB
$ echo "the contents of the 'original' file" > orig.file
$ ls -la orig.file 
-rw-r--r-- 1 $USER $USER 36 2010-12-26 00:57 orig.file

# create symlinks in dirA and dirB that point to /tmp/orig.file:

$ ln -s $(pwd)/orig.file $(pwd)/dirA/
$ ln -s $(pwd)/orig.file $(pwd)/dirB/lorig.file
$ ls -la dirA/ dirB/
dirA/:
total 44
drwxr-xr-x  2 $USER $USER  4096 2010-12-26 00:57 .
drwxrwxrwt 20 root          root          36864 2010-12-26 00:57 ..
lrwxrwxrwx  1 $USER $USER    14 2010-12-26 00:57 orig.file -> /tmp/orig.file

dirB/:
total 44
drwxr-xr-x  2 $USER $USER  4096 2010-12-26 00:58 .
drwxrwxrwt 20 root          root          36864 2010-12-26 00:57 ..
lrwxrwxrwx  1 $USER $USER    14 2010-12-26 00:58 lorig.file -> /tmp/orig.file

На этом этапе я могу использовать ссылка для чтения , чтобы узнать, что такое «оригинал» (ну, я предполагаю, что обычно здесь используется термин «цель» или «источник», но у меня в голове могут быть и противоположные концепции, поэтому я просто назовите его 'исходным') файл символических ссылок, то есть

$ readlink -f dirA/orig.file 
/tmp/orig.file
$ readlink -f dirB/lorig.file 
/tmp/orig.file

... Однако я хотел бы знать, есть ли команда, которую я мог бы запустить в 'исходном' файле и найти все символические ссылки, которые указывают к нему? Другими словами, что-то вроде (псевдо):

$ getsymlinks /tmp/orig.file
/tmp/dirA/orig.file 
/tmp/dirB/lorig.file

Заранее благодарим за любые комментарии,

Ура!

49
задан Mad Physicist 4 November 2015 в 08:33
поделиться