Чорт візьми, да. Якщо Ви виконуєте команду, ln -sВи створюєте символічне посилання, яке є inode, що вказує на певний об'єкт файлової системи, тому символьні посилання можуть перетинати файлові системи, а жорсткі посилання не можуть: жорсткі посилання не мають власного inode.
Якщо ви монтуєте файлову систему за допомогою --bind, ви створюєте другу точку кріплення для пристрою або файлової системи.
Якщо ви передбачаєте символьне посилання як переспрямування, то передбачте --bindзмонтовану файлову систему як створення іншого шлюзу для даних.
Символьні посилання та кріплення кріплення - це зовсім інша бальна гра.
--bindКріплення здається трохи більш надійним для мене , і це , ймовірно, трохи швидше , ніж роботи з лінком. З іншого боку, немає серйозних недоліків у використанні символьної посилання, оскільки показник ефективності буде невеликим (якщо він взагалі існує).
Редагувати : Я думав про це, і хіт на продуктивність може бути трохи більшим, ніж я спочатку думав. Якщо у вас є програма, яка читає багато різних файлів, то кожен новий відкритий файл потребує додаткового читання. Деякі дослідження тут говорять про те, що моє припущення є правильним, тому якщо у вас запущений важкий додаток IO, розгляньте --bindможливість встановити над рішенням symlink.
Причина, по якій не прийнято, ймовірно , той факт , що символічна видно в ls, в той час як прив'язка змонтованого видно тільки при погляді на / Proc / монтує або / і т.д. / mtab (який є те , що команда монтування робить, якщо виконується без параметрів). Крім цього, я не думаю, що проблем є. Мені було б цікаво, якщо вони є.
Додавання : ще одна проблема ln -s, що стосується деяких програм, коли шлях буде відмежовано, він може спричинити непридатність програми, якщо "очікує", що певні елементи будуть у певних місцях.