Skip to main content

Linki symboliczne i twarde w systemach Linux/Unix

Wprowadzenie:

Linki w systemach Linux pozwalają na tworzenie alternatywnych nazw i dróg dostępu do plików bez duplikowania ich zawartości. Są dwa typy linków: symboliczne (symlinki) i twarde (hard links), każdy z nich ma swoje zastosowania i ograniczenia.

Tworzenie linku symbolicznego:

ln -s /ścieżka/do/originalu /ścieżka/do/linku

Przykłady praktyczne:

ln -s /usr/local/bin/python3.11 /usr/local/bin/python
ln -s /var/www/html/projekty/strona ~/strona_link

Tworzy wygodny skrót do katalogu projektu w katalogu domowym.

ln -s /mnt/dysk_zewnetrzny/backup ~/backup

Skrót do katalogu backupu na zewnętrznym dysku.

Sprawdzanie linków symbolicznych:

Wyświetla informację o linku i pokazuje gdzie wskazuje, np.:

lrwxrwxrwx 1 user user 24 Nov 23 15:00 strona_link -> /var/www/html/projekty/strona

Usuwanie linku symbolicznego:

Cechy linków symbolicznych:

  • Mogą wskazywać na pliki i katalogi
  • Mogą wskazywać na nieistniejące cele (tzw. "wiszące linki")
  • Działają między różnymi systemami plików i partycjami
  • Są widoczne jako osobny typ pliku (oznaczenie l w ls -l)

Tworzenie linku twardego:

ln /ścieżka/do/pliku /ścieżka/do/twardego_linku

Przykłady praktyczne:

ln /var/log/syslog /home/admin/syslog_backup

Tworzy drugi dostęp do tego samego pliku logów. Modyfikacja w jednym miejscu jest widoczna w drugim.

ln dokument.txt dokument_kopia.txt

Obie nazwy wskazują na ten sam plik. Usunięcie jednej nazwy nie usuwa danych, dopóki istnieje druga.

Sprawdzanie linków twardych:

ls -li plik

Opcja -i pokazuje numer inode. Pliki o tym samym numerze inode to linki twarde do tych samych danych.

$ ls -li dokument.txt dokument_kopia.txt
12345678 -rw-r--r-- 2 user user 1024 Nov 23 15:00 dokument.txt
12345678 -rw-r--r-- 2 user user 1024 Nov 23 15:00 dokument_kopia.txt

Ten sam numer inode (12345678) i liczba linków "2" oznacza, że to linki twarde.

Cechy linków twardych:

  • Działają tylko dla plików (nie dla katalogów)
  • Muszą być w tym samym systemie plików
  • Plik jest usuwany dopiero gdy usuniemy wszystkie linki twarde do niego
  • Nie są widoczne jako osobny typ – wyglądają jak zwykłe pliki

3. Różnice między linkami symbolicznymi a twardymi

4. Praktyczne zastosowania