В Linux широко используются ссылки на файлы. Это способ размещения одного и того же файла (или каталога) в двух или более местах или под разными именами. Вы можете просто скопировать файл в каждое место, но это имеет несколько недостатков: тратится место, и если оригинальный файл обновляется, то копия остается старой версией. Существует два типа ссылок: жесткие ссылки и символические ссылки, они же симлинки. Технически каждый файл является жесткой ссылкой, поскольку это связь между именем файла и структурой данных на диске, в которой хранится его содержимое. Говоря о жестких ссылках, мы обычно подразумеваем дополнительные ссылки, так что у файла есть более одного имени. Жесткие ссылки имеют некоторые ограничения, главное из которых заключается в том, что они применяются только к файлам, а не к каталогам, и что все ссылки должны находиться в одной и той же файловой системе. Однако вы можете удалить любой из файлов, не затрагивая остальные.

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

Симлинки могут быть для каталогов или файлов и могут пересекать файловые системы. Однако если вы удалите “настоящий” файл, симлинки останутся болтаться, не указывая ни на что.