Komenda ln w systemach operacyjnych opartych na jądrze systemu Linux jest używana do tworzenia symbolicznych i twardych dowiązań do plików. Użytkownik musi obserwować składnię narzędzia, poprawne wskazanie opcji i lokalizację plików. Dzisiaj chcielibyśmy opowiedzieć nie tylko o działaniu tego zespołu, ale także szczegółowo opisać dwa rodzaje wspomnianych powyżej linków, ponieważ są one radykalnie różne i mają zastosowanie w niektórych sytuacjach. Oczywiście nie obejdzie się bez przykładów narzędzia ln .
Treść
Większość użytkowników komputerów przynajmniej raz spotkało się z pracą na platformie Windows. Tam wskaźniki do plików to skróty. Po uzyskaniu dostępu do takiego obiektu następuje automatyczne przekierowanie do oryginalnego pliku. W systemie Linux odbywa się to za pomocą specjalnych łączy tworzonych ręcznie przez użytkownika. Opracowano dwa rodzaje takich elementów - symboliczne i sztywne. Mają znaczne różnice, więc warto rozważyć każdy typ bardziej szczegółowo.
Dowiązanie symboliczne to plik określonego typu, który działa jako łącze do innego obiektu - pliku dowolnego formatu lub określonego katalogu. Zazwyczaj takie obiekty nazywane są celami. Czasami możesz zauważyć, że ten rodzaj łącza nazywany jest miękkimi linkami lub dowiązaniem sym-link. Taki element nie zawiera danych docelowych, ale działa jedynie jako wskaźnik, to znaczy jest kompletną kopią etykiety z systemu Windows. Wewnątrz dowiązania symbolicznego jest tylko ścieżka. Nikt nie zabrania tworzenia wielu podobnych linków o różnych nazwach, ale z tym samym obiektem docelowym. Połączenie między dwoma komponentami nazywa się miękkim, ponieważ po usunięciu łącza plik docelowy w żaden sposób nie cierpi. Jednak po usunięciu pliku łącze przestaje działać. Jest przechowywany na dysku, ale podana w nim ścieżka prowadzi do nieistniejącego obiektu.
Na powyższym obrazku widać schematycznie działanie takiego obwodu. Łącze odnosi się do pliku, a ten plik zapewnia już dostęp do przechowywanych w nim danych. Ważne jest, aby zrozumieć, że to łącze można przenieść do dowolnego miejsca na komputerze, jego wydajność nie zależy od niego, ponieważ będzie podążać tą samą ścieżką, która została określona podczas tworzenia.
W przypadku twardych linków sprawy są nieco bardziej skomplikowane. W rzeczywistości są synonimami pliku, ale nie są jego kopiami. Podczas tworzenia dowiązania twardego zostanie wygenerowany jeszcze jeden wskaźnik do elementu. W systemie plików takie obiekty są zdefiniowane jako inny plik, więc podczas ich tworzenia w tym samym katalogu nie można określić tej samej nazwy. Wszystkie twarde dowiązania do pliku muszą być w tym samym systemie plików i nie można ich przypisać do katalogu lub nieistniejącego elementu. Na poniższym zrzucie ekranu można zobaczyć schematyczną interakcję takiego łańcucha.
Ważne jest, aby pamiętać, że łącze będzie miało dokładnie taki sam i-węzeł jak plik docelowy. Jak wiadomo, wszystkie obiekty mają swoje unikalne numery. Z tego powodu między nimi będzie różnica tylko w nazwach. Wszelkie prawa, właściciel i daty zmian są zastrzeżone. Można powiedzieć, że dowiązanie twarde jest inną nazwą obiektu. Podczas usuwania pliku docelowego łącze będzie nadal przechowywać informacje, które były w nim zawarte, ponieważ istnieje jeszcze jeden wskaźnik do zawartości.
Przejdźmy od teorii do praktyki i porozmawiajmy o głównym temacie artykułu - zespole ln . Jak już wiesz, służy do tworzenia dwóch typów linków. Warto jednak zauważyć, że niektóre menedżery plików mają wbudowaną funkcję dodawania dowiązania symbolicznego. Aby to zrobić, kliknij prawym przyciskiem myszy plik lub folder i wybierz „Utwórz łącze” , „Utwórz łącze” lub „Utwórz łącze” . Następnie miękkie łącze zostanie umieszczone w tym samym katalogu i można go przenieść do dowolnego innego miejsca na dysku.
Na początek warto wspomnieć o dodatkowych akcjach, które często stają się przydatne podczas wykonywania różnych akcji z plikami. Ważne jest, aby znać ścieżkę do obiektu docelowego lub móc go określić. Jeśli chodzi o definicję, dzieje się tak:
/home/user/folder/file_name
. cd /home/user/folder
. Ta akcja pozwoli ci określić tylko względną ścieżkę do obiektu. Rozważmy narzędzie ln w akcji. Zacznij od utworzenia dowiązania symbolicznego do pliku. Aby to zrobić, użyj standardowej konsoli i wykonaj następujące kroki:
ln -s file slink
, gdzie plik jest nazwą lub pełną ścieżką do pliku lub katalogu, a slink to nazwa łącza. Zostanie on umieszczony w tym samym katalogu, w którym znajduje się obiekt docelowy. ls -li
aby zobaczyć informacje o obiektach w katalogu. Dowiązanie symboliczne jest podświetlone w oddzielnym kolorze, a jego cel jest wskazywany przez -> . Jak widać, plik i łącze mają różne identyfikatory i uprawnienia. rm
. Powyżej możesz zauważyć, że standardowe polecenie ls zostało użyte do wyświetlenia zawartości folderów. Jeśli istnieje potrzeba dokładniejszego zapoznania się z jego działaniem, zwróć uwagę na nasz oddzielny materiał poniżej.
Zobacz także: Przykłady poleceń systemu Linux
Tworzenie dowiązania twardego jest bardzo podobne do omówionego powyżej typu. Jedyną różnicą jest brak opcji -s . Wtedy cała procedura będzie wyglądać mniej więcej tak:
ln file hlink
. ls -li
aby upewnić się, że istnieje twarde łącze i pakiet plików. Jak widać, mają ten sam identyfikator, prawa i inne metadane. Różne tylko nazwy. cat
aby wyświetlić zawartość dowiązania twardego. Konsola wyświetla te same informacje, które były pierwotnie przechowywane w pliku źródłowym. Informacje będą dostępne, dopóki wszystkie wskaźniki do niego (plik źródłowy i wszystkie twarde łącza) nie zostaną usunięte. Polecenie cat użyte w ostatnim akapicie jest odpowiedzialne za przeglądanie zawartości plików. Szczegółowy opis wszystkich jego możliwości znajduje się w artykule poniżej.
Zobacz także: Przykłady komend dla Linuksa
Powyżej, nie tylko zapoznałeś się ze standardowym poleceniem ln , ale także dowiedziałeś się o dwóch typach dostępnych odniesień do obiektów w Linuksie. Oczywiście, linki symboliczne są częściej zaangażowane, ale twarde dowiązania czasami stają się przydatne. Możesz dowiedzieć się o innych popularnych poleceniach w Linuksie z naszego oddzielnego materiału.
Zobacz także: Często używane polecenia w terminalu Linux