Я создал много символических ссылок по различным путям для определенного файла или каталога. Мне нужен весь список созданных путей символических ссылок (местоположение).
Пример:
Я создал символические ссылки для ~/Pictures каталог во многих каталогах. Как мне перечислить все символические ссылки на это ~/Pictures каталог?
find -L /dir/to/start -xtype l -samefile ~/Pictures
или, может быть, лучше:
find -L /dir/to/start -xtype l -samefile ~/Pictures 2>/dev/null
чтобы избавиться от некоторых ошибок, таких как Permission denied, Too many levels of symbolic links, или File system loop detected который find выбрасывает их, когда у него нет нужных разрешений или в других ситуациях.
-L - Переходите по символическим ссылкам.
-xtype l - Файл является символической ссылкой
-samefile name - Файл ссылается на тот же индекс, что и name. Когда -L по сути, это может включать символические ссылки.
Записи:
Используйте строчную букву L в -xtype l, а не цифра 1.
-lname pattern File is a symbolic link whose contents match shell pattern pattern. The metacharacters do not treat `/' or `.' specially. If the -L option or the -follow option is in effect, this test returns false unless the symbolic link is broken.
Примечание: Помните, что символические ссылки могут быть где угодно, включая удаленную систему (если вы предоставляете общий доступ к файлам), поэтому вы не сможете найти их все.