Wyszukiwanie w witrynie

Jak zarządzać dowiązaniami symbolicznymi w systemie Linux


Dowiązania symboliczne to pliki, które prowadzą bezpośrednio do innych plików. W systemach Linux dowiązania symboliczne służą jako skróty.

Termin „dowiązanie symboliczne” to kontaminacja słów „symboliczny” i „link”, podkreślając użyteczność takich plików jako symbolicznych odniesień do innych rzeczy.

Tak zwane „twarde” linki funkcjonują bardziej jako kopie plików, do których się odnoszą, niż linki dosłowne. „Miękkie” lub symboliczne linki po prostu wskazują na swoje cele. Usunięcie tych łączy nie ma żadnego wpływu na pliki, na które wskazują, a dla wygody można utworzyć dowolną liczbę dowiązań symbolicznych. Dzięki temu doskonale nadają się do wskazywania plików w różnych systemach plików i partycjach.

Zastosowanie dowiązań symbolicznych

Zmiana podstawowej struktury systemu plików w celu wydajniejszego działania pojedynczej aplikacji byłaby poważnym zadaniem. Zamiast tego często używa się dowiązań symbolicznych, aby uprościć sprawę i stworzyć sztuczne hierarchie plików, do których programy mogą się odwoływać, bez wpływu na lokalizacje oryginalnych plików.

Użycie dowiązań symbolicznych ułatwia dostosowanie różnych programów, ale komplikuje również analizę systemu plików.

Przeczytaj także: Jak tworzyć dowiązania symboliczne (dowiązania symboliczne) w systemie Windows

Problemy z dowiązaniami symbolicznymi

Kiedy dowiązania symboliczne działają prawidłowo, wyznaczają wyraźną ścieżkę do pliku, który faktycznie istnieje. Jednak nieudane dowiązania symboliczne wskazują na pliki, które nie istnieją lub zostały usunięte. Te łącza symboliczne powodują zamieszanie zarówno wśród użytkowników, jak i programów, od których zależy ich dokładność.

Jeśli pliki będące celem dowiązań symbolicznych zostaną zamienione, samo łącze będzie nadal wskazywało nowy plik, całkowicie ignorując jego zawartość. Ta funkcja ślepej wiary umożliwia łączenie łańcuchów i powiązań względnych.

W szczególności łączenie łańcuchów może prowadzić do łączeń cyklicznych (pętli łączy o nieskończonej długości), jeśli łącze odwołuje się do drugiego łącza, które z kolei wskazuje z powrotem do pierwszego.

Takie zagadki niekoniecznie są spowodowane samą interwencją człowieka; nieoptymalne standardy montażu urządzeń i pewne zautomatyzowane procesy mogą przyczynić się do tworzenia tak zwanych „martwych linków” w niefortunnej obfitości. Właśnie w tym miejscu przydadzą się techniki zarządzania.

Zarządzanie dowiązaniami symbolicznymi

W systemach Linux dostępnych jest wiele narzędzi do obsługi dowiązań symbolicznych. Domyślnym dodatkiem do coreutils jest ln, co ułatwia tworzenie takich łączy z terminala.

Aby jednak w pełni zarządzać łączami symbolicznymi, musisz umieć je znaleźć i szybko przeanalizować. Prostą opcją wiersza poleceń, którą warto rozważyć w tym celu, jest trafnie nazwana dowiązania symboliczne.

Chociaż niektóre dystrybucje Linuksa, takie jak Fedora, mają domyślnie zainstalowane to narzędzie, inne, takie jak Ubuntu, nie. Aby zainstalować „Dowiązania symboliczne” w Ubuntu, po prostu otwórz okno terminala i wprowadź następujące dane:

sudo apt install symlinks

Tworzenie dowiązań symbolicznych

Tworzenie dowiązań symbolicznych z terminala jest łatwe w systemie Linux. Wprowadź poniższy kod, zmieniając „oryginalny plik.txt” na nazwę i rozszerzenie pliku wybranego celu, a następnie zmień „linkname” na dowolną.

ln -s original-file.txt linkname

Narzędzie ln służy do tworzenia linków i zrobi to po jego uruchomieniu. -s zawarte w powyższym poleceniu sprawia, że wygenerowane łącze jest symboliczne.

Względne dowiązania symboliczne można również utworzyć, dodając -r do tego samego polecenia w następujący sposób:

ln -rs original-file.txt linkname

Łącza względne pozostają funkcjonalne niezależnie od zmian w punktach podłączenia.

Znajdowanie dowiązań symbolicznych

Wspomniane powyżej narzędzie Symlinks pozwala nam w prosty sposób znaleźć dowiązania symboliczne w danym katalogu. Polecenie jest następujące: (Zmień „nazwa-katalogu” na pełną ścieżkę do katalogu, który chcesz przeszukać.)

symlinks -v directory-name

Dodanie r do tego polecenia nakazuje Symlinkom rekurencyjne sprawdzanie plików w określonym katalogu. Wygląda to następująco:

symlinks -rv directory-name

Zachowaj ostrożność, używając rekurencji, jeśli martwisz się problemami wynikającymi z łączy cyklicznych. Łącza cykliczne to łącza, które błędnie kierują się z powrotem do siebie; mogą spowodować zawieszenie narzędzia Symlinks podczas próby powrotu do ich nieskończonej struktury.

Nierekurencyjna wersja polecenia pokazana powyżej po prostu ujawni, że wszelkie istniejące łącza cykliczne są „zawieszone”, czyli innymi słowy uszkodzone. To właśnie analiza, do której jest zdolne narzędzie Symlinks, pozwala mu faktycznie naprawić uszkodzone linki.

Naprawianie dowiązań symbolicznych

Naprawianie dowiązań symbolicznych w danym katalogu jest stosunkowo proste dzięki Symlinks. Oto polecenie, którego należy użyć:

symlinks -cds directory-name

Powyższe polecenie wykonuje wiele czynności na raz. Konwertuje znalezione linki bezwzględne na linki względne, usuwa linki wiszące i skraca linki „długie” (linki z dużą liczbą „../” na ścieżce).

Jeśli nie jesteś pewien potencjalnych rezultatów wykonania tej operacji, możesz przetestować, co zrobi samo -c bez zmiany czegokolwiek, uruchamiając następujące polecenie:

symlinks -t directory-name

Mamy nadzieję, że teraz lepiej rozumiesz, czym są dowiązania symboliczne i jak możesz nimi efektywnie zarządzać. Sprawdź pozostałe możliwości narzędzia Symlinks, aby wykonywać bardziej szczegółowe operacje na systemie plików.

Powiązane artykuły