Я не зовсім розумію, чому роздуми над цією простою проблемою мають бути настільки складними - але, можливо, я просто зрозумів це питання не так. У будь-якому разі: коли мені потрібен був подібний функціонал, я використовував:
ls -lL
Це і зробило трюк у моєму випадку. На lsчоловіковій сторінці:
-L, --dereference
when showing file information for a symbolic link,
show information for the file the link references
rather than for the link itself
Наприклад, я створив /media/stickярлик для доступу до даних на USB-накопичувачі. ls -l /media/stickпокаже фактичне посилання, а вмістls -lL /media/stick буде показано на USB-накопичувачі.
Після деяких глибших досліджень про різницю між внутрішніми роботами -Hта -L, нарешті, я наткнувся на чудову статтю з цього приводу в блозі « Shallow Thoughts» (навіть із зображенням акуратних трюків із сценарієм оболонки для вашого задоволення!)
Це вказує на тонкі відмінності між двома параметрами (набагато кращими, ніж оригінальний посібник!) Наступним чином:
-H - лише розвідка тих посилань, явно зазначених у командному рядку
-L- посилання відновлення, навіть якщо вони не вказані в командному рядку
(Коли ці двоє використовуються з простими повсякденними завданнями, взагалі не повинно бути різниці у виході.)
Крім того: Якщо ви віддаєте перевагу запам'ятати довгу форму ( --option), це, ймовірно, менш громіздке запам'ятовування, --dereferenceніж надмірно довге чудовисько --dereference-command-line-symlink-to-dir.