TGViewer
🐧 Linux Junior. Программирование под Linux. 🐧 Linux Junior. Программирование под Linux. @juniorlinux · 3.08K subscribers
Post #575 1.15K
🔗 Жесткие ссылки vs Символьные ссылки

В Linux существуют два основных типа ссылок на файлы: жесткие (hard) и символьные (soft / symlink).

Они похожи тем, что позволяют обращаться к одному файлу через несколько имен, но работают по-разному и имеют свои особенности.

🔗 Жесткие ссылки

Особенности:

🔴 Работают только внутри одной файловой системы.
🔴 Нельзя создавать для директорий (обычно, кроме системных инструментов).
🔴 Наследуют inode и права доступа исходного файла.
🔴 Любые изменения содержимого или прав исходного файла отражаются во всех жестких ссылках.
🔴 Даже если исходный файл удалён, содержимое остаётся доступным через жесткую ссылку.

Пример использования:

$ echo "Hello World" > original.txt
$ ln original.txt hardlink.txt

$ ls -li
123456 -rw-r--r-- 2 user user 12 Oct 22 12:00 original.txt
123456 -rw-r--r-- 2 user user 12 Oct 22 12:00 hardlink.txt

$ echo "Added line" >> hardlink.txt
$ cat original.txt
Hello World
Added line


Здесь видно, что hardlink.txt и original.txt имеют один и тот же inode (123456), и изменения в одном отражаются на другом.

🔗 Символьные ссылки

Особенности:

🔴 Могут пересекать границы файловых систем.
🔴 Можно создавать для директорий.
🔴 Имеют свой собственный inode и права доступа.
🔴 Связаны с именем (путём) исходного файла, а не с содержимым.
🔴 Удаление символьной ссылки не влияет на исходный файл.
🔴 Можно изменить путь, на который она указывает, без влияния на исходный файл.

Пример использования:

$ ln -s /home/user/Documents/original.txt symlink.txt
$ ls -l
lrwxrwxrwx 1 user user 29 Oct 22 12:05 symlink.txt -> /home/user/Documents/original.txt

$ echo "Another line" >> /home/user/Documents/original.txt
$ cat symlink.txt
Hello World
Added line
Another line

$ rm symlink.txt
$ ls /home/user/Documents/original.txt
original.txt


Символьная ссылка указывает на путь, а не на данные. Удаление ссылки не затрагивает исходный файл.
  • 🔥 3
More from @juniorlinux
  1. Sep 28, 2026⚙️ Как устроена автоматизация задач через cron в Linux Если вам нужно регулярное выполнени…
  2. Sep 22, 2026По умолчанию rsync только добавляет и обновляет файлы, но не трогает то, что было удалено…
  3. Sep 22, 2026❓ Как удалить на приемнике файлы, которых больше нет в источнике, при синхронизации через…
  4. Sep 16, 2026Post #589
  5. Sep 10, 2026Как распаковать .tar.gz, .tar.bz2, .tar.xz и .tar.zst в Linux Для работы с архивами в Linu…
  6. Sep 4, 2026Посмотреть очередь задач, созданных через at, можно командой atq (или at -l). Она выведет…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →