Soft Link i Hard Link w systemie UNIX w systemie operacyjnym

Anonim

Łącze w systemie opartym na systemie UNIX służy do nawiązywania połączenia między plikiem a rzeczywistymi danymi na dysku. Jest bardziej jak wskaźnik lub odniesienie wskazujące na inny plik lub katalog, podobnie jak koncepcja wskaźników w językach programowania.

Załóżmy, że plik ma bardzo długą nazwę i z pewnych powodów nie można go zmienić. W systemie UNIX możemy odwołać się do pliku z referencją, używając krótszej nazwy dla łatwości użycia. Odwołania do tego samego pliku w systemie UNIX są nazywane łączami. Mówiąc najprościej, link jest środkiem odwoływania się do zawartości pliku.

Istnieją dwa typy łączy używanych w UNIX: Soft Links i Hard Links. Obie są używane w zasadzie do tego samego celu, z wyjątkiem sposobu, w jaki się zachowują.

Co to jest Soft Link?

Miękki link lub symboliczny różowy to mały plik wskaźnika, który kojarzy nazwę pliku z nazwą ścieżki. To nic innego jak skrót do oryginalnego pliku, podobny do opcji skrótu w systemach operacyjnych Windows. Służy jedynie jako odniesienie do innego pliku lub katalogu bez rzeczywistej zawartości pliku, ułatwiając proste usunięcie miękkich linków bez wpływu na zawartość oryginalnego pliku lub katalogu.

Mówiąc najprościej, miękki link jest zwykle aliasem oryginalnego pliku, który przekierowuje do docelowego pliku lub katalogu, gdy dostęp do niego odbywa się za pośrednictwem ścieżki określonej w temacie linku miękkiego. Dodatkowo możesz użyć miękkich łączy do połączenia w systemie plików.

Co to jest twardy link?

Twardy link jest po prostu repliką oryginalnego pliku, który służy jako odnośnik lub wskaźnik do tego samego pliku, dzięki czemu łatwy dostęp do oryginalnego pliku jest usuwany lub przenoszony z jego pierwotnej lokalizacji. W przeciwieństwie do miękkich łączy, zmiany dokonane w plikach o twardym łączu będą miały wpływ na inne pliki, a twardy odsyłacz będzie nadal działał, nawet jeśli usuniesz plik źródłowy z systemu.

Twarde łącza dzielą tę samą wartość i-węzła, w przeciwieństwie do miękkich łączy, wskazują lokalizację pliku zamiast katalogu. Zwykle jest używany w systemach plików, które umożliwiają więcej niż na twardym łączu dla tego samego pliku. Mówiąc prościej, twardy link jest po prostu dodatkową nazwą dla już istniejącego pliku w systemie UNIX.

Różnica pomiędzy Soft Link i Hard Link w UNIX

Znaczenie

Miękkie łącze, określane również jako dowiązanie symboliczne, jest specjalnym wskaźnikiem, który ustanawia połączenia między plikami. Jest bardzo podobny do funkcji skrótu dostępnej w systemach operacyjnych Windows. Miękki link jest po prostu skrótem pliku, który służy jako odniesienie do innego pliku lub katalogu. Twardy link bardzo różni się od miękkiego linku. Służy jako odniesienie lub wskaźnik do oryginalnego pliku, co oznacza, że ​​jest to dokładna kopia lustrzana oryginalnego pliku, do którego wskazuje. Mówiąc najprościej, twardy link jest po prostu dodatkową nazwą dla już istniejącego pliku.

Zachowanie

Ponieważ plik z miękkim połączeniem zawiera oddzielną wartość Inode wskazującą na oryginalny plik, łącze staje się niedostępne, jeśli oryginalny plik lub katalog zostanie usunięty z systemu. Jest to skrót do pliku, więc możesz usunąć miękkie linki bez faktycznego wpływu na oryginalny plik lub katalog. W przeciwieństwie do miękkich łączy, twarde łącza mają tę samą wartość Inode, co oryginał wskazujący na tę samą lokalizację pliku. Linki twarde są bardziej elastyczne niż łącza miękkie, ponieważ dostęp do pliku można uzyskać nawet po usunięciu oryginalnego pliku z systemu.

Dowództwo

Aby ustanowić połączenia między plikami w systemie UNIX, musisz użyć polecenia "In". Miękkie łącze odnosi się do symbolicznej ścieżki, która wskazuje położenie oryginalnego pliku, ale nie jego zawartość. Miękki link jest tworzony za pomocą polecenia "In -s".

In-s

Tutaj zamienisz "plik_źródłowy" na oryginalny plik, dla którego chcesz utworzyć miękki link i "myfile" z nazwą miękkiego linku lub dowiązania symbolicznego, a polecenie In -s tworzy miękki link do pliku nazwa, zarówno w bieżącym katalogu.

Z drugiej strony polecenie "In" służy do tworzenia twardego linku. Polecenie In jest standardowym poleceniem UNIX używanym do tworzenia twardego linku do wskazania wielu plików o tej samej nazwie.

W

Struktura

W przeciwieństwie do miękkich łączy, które mogą być używane do łączenia zarówno plików, jak i katalogów, twarde łącza mogą tylko łączyć pliki, ale nie katalogi. Różnica daje miękkim linkom pewne cechy, których nie posiadają twarde linki, takie jak możliwość łączenia w systemie plików. Tworzenie i usuwanie dowiązań symbolicznych nie wpłynie na oryginalny plik. Z drugiej strony nie można używać twardych łączy do łączenia plików poza systemem plików. Twarde łącza dzielą tę samą wartość Inode z rzeczywistą zawartością pliku, więc usunięcie jakiegokolwiek łącza nie wpłynie na inne łącza i nadal będzie wyświetlać zawartość pliku.

Soft Link vs. Hard Link: Tabela porównawcza

Podsumowanie Soft Link vs. Hard Link

Krótko mówiąc, zarówno miękkie linki, jak i twarde łącza pozwalają na więcej niż jedną nazwę pliku, aby odnosić się do tego samego pliku gdzie indziej, ale różnica polega na sposobie, w jaki się zachowują, gdy link źródłowy zostanie usunięty z systemu. Twarde łącze zajmuje mniej miejsca niż miękki link, ale każda zmiana w twardym linku ostatecznie odzwierciedli się w oryginalnym pliku, podczas gdy wszelkie zmiany w miękkim łączu nie będą miały żadnego wpływu na oryginalny plik.Miękki link jest jak skrót funkcji systemu operacyjnego Windows, używany jako alias do odniesienia do oryginalnego pliku lub katalogu, podczas gdy twardy link jest jak replika oryginalnego pliku, który łączy dwa pliki w tym samym systemie plików.