В Linux широко используются ссылки на файлы. Это способ размещения одного и того же файла (или каталога) в двух или более местах или под разными именами. Вы можете просто скопировать файл в каждое место, но это имеет несколько недостатков: тратится место, и если оригинальный файл обновляется, то копия остается старой версией. Существует два типа ссылок: жесткие ссылки и символические ссылки, они же симлинки. Технически каждый файл является жесткой ссылкой, поскольку это связь между именем файла и структурой данных на диске, в которой хранится его содержимое. Говоря о жестких ссылках, мы обычно подразумеваем дополнительные ссылки, так что у файла есть более одного имени. Жесткие ссылки имеют некоторые ограничения, главное из которых заключается в том, что они применяются только к файлам, а не к каталогам, и что все ссылки должны находиться в одной и той же файловой системе. Однако вы можете удалить любой из файлов, не затрагивая остальные.
Символьная ссылка гораздо более гибкая, и вы видите ее в типичной системе Linux. Вы можете увидеть их при
использовании опции -l
в команде ls
, и они отображаются в большинстве файловых менеджеров. Классический пример
можно увидеть в каталоге /usr/src, где /usr/src/linux - это символьная ссылка на исходный код текущего ядра.
Таким образом, у вас может быть установлено более одного ядра, и все, что нуждается в исходных текстах,
может обратиться к /usr/src/linux, чтобы найти текущее.
Симлинки могут быть для каталогов или файлов и могут пересекать файловые системы. Однако если вы удалите “настоящий” файл, симлинки останутся болтаться, не указывая ни на что.