Надеюсь, я смогу ответить на это так, чтобы это имело смысл для вас. Файловая система в Linux, как правило, состоит из раздела, который отформатирован одним из различных способов (должен любить!), В котором вы храните свои файлы. Будь то ваши системные файлы или ваши личные файлы ... все они хранятся в файловой системе. Эту часть вы, похоже, поняли.
Но что делать, если вы разбили свой жесткий диск на несколько разделов (например, Apple Pie разрезать на части) или добавили дополнительный жесткий диск (возможно, USB-накопитель?). Ради аргумента, у них всех также есть файловые системы.
Когда вы смотрите на файлы на вашем компьютере, вы видите визуальное представление данных в файловой системе вашего раздела. Каждое имя файла соответствует тому, что называется инодом, и именно там ваши данные за кулисами действительно живут. Жесткая ссылка позволяет вам иметь несколько «имен файлов» (из-за отсутствия лучшего описания), которые указывают на один и тот же индекс. Это работает, только если эти жесткие ссылки находятся в одной файловой системе. Вместо этого символическая ссылка указывает на «имя файла», которое затем связывается с индексом, содержащим ваши данные. Простите мою грубую работу, но, надеюсь, это объясняет лучше.
image.jpg image2.jpg
\ /
[your data]
Здесь, image.jpg и image2.jpg указывают непосредственно на ваши данные. Они оба жесткие ссылки. Тем не мение...
image.jpg <----------- image2.jpg
\
[your data]
В этом (сыром) примере image2.jpg не указывает на ваши данные, он указывает на image.jpg ... который является ссылкой на ваши данные.
Символические ссылки могут работать через границы файловой системы (при условии, что файловая система подключена и смонтирована, как ваша флешка). Однако жесткая ссылка не может. Он ничего не знает о том, что находится в вашей другой файловой системе или где хранятся ваши данные.
Надеюсь, это поможет лучше понять.