Linux nie ma skrótów, ale ma dowiązania symboliczne — lub dowiązania symboliczne, jak się je zwykle nazywa. Ale czym dokładnie są dowiązania symboliczne? A jak go stworzyć? Dowiedzmy Się.

Będziemy wypróbowywać polecenia w instalacji Ubuntu, chociaż składnia działa tak samo we wszystkich dystrybucjach Linuksa. Co ciekawe, dowiązania symboliczne można również tworzyć na komputer Mac.

Spis treści

Co to są dowiązania symboliczne?

Jeśli chcesz mieć dostęp do pliku z wielu lokalizacji, zwykłe kopiowanie go nie jest dobrym rozwiązaniem. Marnujesz miejsce na dysku, nie mówiąc już o utrudnianiu śledzenia zmian z powodu wielu plików.

W graficznym interfejsie użytkownika oparty na systemie operacyjnym, możesz to przezwyciężyć, tworząc skróty. W przypadku systemu operacyjnego opartego na CUI (jak każda dystrybucja Linuksa) odpowiedzią jest dowiązanie symboliczne. Nawet system Microsoft Windows może wykorzystywać dowiązania symboliczne w niektórych sytuacjach.

Dowiązanie symboliczne lub dowiązanie symboliczne to po prostu plik wskazujący na inny plik lub katalog – nawet w zupełnie innym systemie plików lub partycji. Otwarcie dowiązania symbolicznego daje dostęp do tego samego oryginalnego pliku, z wszelkimi zmianami odzwierciedlonymi również w głównym pliku.

Dotyczy to również uprawnień – użycie chmod do zmiany uprawnień pliku dowiązań symbolicznych faktycznie zmieni uprawnienia pliku docelowego.

Typy dowiązań symbolicznych

Dowiązania symboliczne są również znane jako dowiązania miękkie. Jak sama nazwa może sugerować, nie jest to jedyny typ systemu łączenia plików w systemie Linux. Twarde linki mogą być używane jako alternatywa dla dowiązań symbolicznych w niektórych scenariuszach, chociaż wiąże się to z szeregiem ograniczeń.

Na początek trudno łącza to po prostu nazwy plików wskazujące na ten sam i-węzeł. Chociaż czyni to je bardzo wydajnymi pod względem przechowywania i szybkości dostępu, ogranicza je również do plików w tym samym systemie plików lub partycji. A ze względu na dziwactwo tego, jak działa dostęp do folderów w systemie Linux, nie można również używać twardych linków do katalogów.

Z drugiej strony łącza miękkie lub łącza symboliczne bardziej przypominają skróty na pulpicie. Każde miękkie łącze jest zasadniczo małym plikiem, który wskazuje na oryginalne dane, ale nie jest bezpośrednio z nim połączony. Oznacza to, że miękkie linki mogą z łatwością wskazywać pliki i katalogi na innych partycjach i systemach plików bez żadnych ograniczeń.

Linki twarde a linki miękkie – jakiego typu użyć?

Miękkie dowiązania są najbardziej wszechstronną formą dowiązań, ponieważ można ich używać zarówno do plików, jak i katalogów w wielu systemach plików bez żadnych ograniczeń. Ale dlaczego w takim razie mamy twarde linki? Czy dają ci jakąś przewagę nad dowiązaniami symbolicznymi?

Cóż, na papierze twarde linki są bardziej wydajne. Ponieważ używają tych samych i-węzłów, nie zajmują dodatkowego miejsca na dysku i można uzyskać do nich dostęp znacznie szybciej niż miękkie łącza. Dlatego wielu administratorów systemów zaleca używanie twardych linków, kiedy tylko jest to możliwe.

Jednakże wady używania dowiązań symbolicznych są minimalne. Zwłaszcza nowoczesne komputery nie dbają o kilka kilobajtów dodatkowej pamięci, a jeśli nie wypełniasz systemu milionami miękkich linków, dodatkowy rozmiar pliku rzadko ma znaczenie.

Tworzenie dowiązań symbolicznych

Dowiązania symboliczne – lub ogólnie dowiązania do plików – są tworzone za pomocą polecenia ln. Domyślnie polecenie tworzy twarde łącza. Aby utworzyć dowiązanie symboliczne, musisz dołączyć flagę-s do polecenia ln.

Składnia jest dość prosta. Polecenie ln przyjmuje dwa parametry — ścieżkę pliku (lub folderu), do którego ma zostać utworzone łącze, oraz ścieżkę pliku łącza, który ma zostać utworzony.

Jak to:

ln-s user_names.txt nazwy

Spowoduje to utworzenie dowiązania symbolicznego o nazwie nazwy połączonego z plikiem tekstowym user_names. Aby sprawdzić, czy dowiązanie symboliczne rzeczywiście zostało utworzone, wystarczy użyć polecenia ls.

Jak widać, Ubuntu pokazuje różne kolory dla różnych kategorii plików, z katalogami oznaczonymi ciemnoniebieskim i dowiązaniami symbolicznymi jaśniejszym niebieskim kolorem (właściwie cyjan).

Możemy użyć tej samej składni, aby utworzyć dowiązanie symboliczne dla folderu:

ln-s przykłady folder_przykładowy

Do tworzenia dowiązań symbolicznych do plików i folderów w innych katalogach, po prostu użyj ich pełnej ścieżki. Na przykład:

ln-s przykłady/przykład3.txt odległy_przykład

Ograniczenia dowiązań symbolicznych

Dowiązania symboliczne to świetny sposób łączenia plików w całym systemie bez konieczności wykonywania kopii, ale mają one swoje własne ograniczenia. Tak, chociaż linki miękkie są mniej restrykcyjne niż linki twarde, wciąż jest kilka rzeczy, o których należy pamiętać.

Po pierwsze, polecenie ln tak naprawdę nie weryfikuje utworzonych linków. Oznacza to, że możliwe jest wprowadzenie nazwy pliku, która w rzeczywistości nie istnieje, i nie pojawią się żadne błędy. Jedynym sposobem na potwierdzenie linku jest próba jego użycia i sprawdzenie, czy prowadzi do właściwego pliku.

Po drugie, podczas uzyskiwania dostępu lub zmiany uprawnień dowiązania symbolicznego zmienia się właściwości oryginalnego pliku, to samo nie dotyczy usuwania pliku. Możesz bezpiecznie usunąć dowiązanie symboliczne bez wpływu na połączony plik lub katalog.

Tworzenie dowiązań symbolicznych w Linuksie

Największym problemem związanym z używaniem terminala do tworzenia dowiązań symbolicznych jest trudność w dostępie do ważnych plików rozmieszczonych w różnych katalogach. Sprytnym rozwiązaniem jest utworzenie dowiązań symbolicznych do takich plików z samego katalogu domowego, na przykład skrótów na pulpicie.

I w przeciwieństwie do dowiązań twardych, dowiązania symboliczne można łatwo tworzyć bez żadnych ograniczeń, nawet w przypadku łączenia się z katalogami lub plikami w różnych partycjach i systemach plików. Pamiętaj, że oznacza to również, że dowiązanie symboliczne może wskazywać na nieistniejący plik — będziesz musiał spróbować uzyskać dostęp do łącza, aby sprawdzić, czy plik istnieje.

Categories: IT Info