Różnica między Soft Link a Hard Link w systemie UNIX w systemie operacyjnym

Łącze w systemie UNIX służy do ustanowienia połączenia między plikiem a rzeczywistymi danymi na dysku. Bardziej przypomina wskaźnik lub odwołanie wskazujące na inny plik lub katalog, podobnie jak koncepcja wskaźników w językach programowania.

Powiedzmy, że plik ma bardzo długą nazwę iz niektórych powodów nie można go zmienić. W systemie UNIX możemy odwoływać się do pliku za pomocą odwołania, używając krótszej nazwy dla ułatwienia użytkowania. Te odniesienia do tego samego pliku w systemie UNIX są nazywane łączami. Mówiąc najprościej, link jest sposobem na odniesienie się do zawartości pliku.

W systemie UNIX istnieją dwa rodzaje łączy: miękkie i twarde. Oba są używane zasadniczo w tym samym 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 wiąże nazwę pliku z nazwą ścieżki. Jest to tylko skrót do oryginalnego pliku, podobny do opcji skrótu w systemach operacyjnych Windows. Służy po prostu jako odniesienie do innego pliku lub katalogu bez faktycznej zawartości pliku, co ułatwia usunięcie miękkich łączy bez wpływu na zawartość oryginalnego pliku lub katalogu.

Mówiąc prościej, miękki link jest zwykle aliasem oryginalnego pliku, który przekierowuje do pliku docelowego lub katalogu, gdy jest dostępny poprzez ścieżkę określoną w temacie miękkiego łącza. Dodatkowo możesz użyć miękkich linków do łączenia całego systemu plików.

Co to jest twardy link?

Twardy link jest po prostu repliką oryginalnego pliku, który służy jako odniesienie lub wskaźnik do tego samego pliku, dzięki czemu dostęp do niego jest usuwany lub przenoszony z pierwotnej lokalizacji. W przeciwieństwie do miękkich łączy zmiany wprowadzone w plikach połączonych na stałe będą miały wpływ na inne pliki, a łącze twarde nadal będzie działać, nawet jeśli usuniesz plik źródłowy z systemu.

Dowiązania twarde mają tę samą wartość i-węzła i, w przeciwieństwie do dowiązań miękkich, wskazują lokalizację pliku zamiast katalogu. Jest zwykle używany w systemach plików, które pozwalają na więcej niż na stałe łącze dla tego samego pliku. Mówiąc najprościej, twardy link to tylko dodatkowa nazwa dla już istniejącego pliku w systemach opartych na UNIX.

Różnica między Soft Link a Hard Link w UNIX

Znaczenie

Miękki link, zwany także linkiem symbolicznym, to specjalny wskaźnik, który ustanawia łącza 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 różni się znacznie 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, na który wskazuje. Krótko mówiąc, twardy link to tylko dodatkowa nazwa już istniejącego pliku.

Zachowanie

Ponieważ miękko połączony plik zawiera osobną wartość i-węzła wskazującą na oryginalny plik, łącze staje się niedostępne, jeśli oryginalny plik lub katalog zostanie usunięty z systemu. Jest to tylko skrót do pliku, dzięki czemu można 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ść i-węzła, co oryginał, wskazując tę ​​samą lokalizację pliku. Dowiązania twarde są bardziej elastyczne niż dowiązania miękkie, ponieważ można uzyskać dostęp do pliku, nawet jeśli oryginalny plik zostanie usunięty z systemu.

Komenda

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

W -s

Tutaj zastąpiłbyś „plik_źródłowy” oryginalnym plikiem, dla którego chcesz utworzyć miękki link, a „mój_plik” nazwą miękkiego linku lub dowiązania symbolicznego, a polecenie In -s tworzy miękki link do pliku nazwa, oba w bieżącym katalogu.

Z drugiej strony, polecenie „In” służy do utworzenia twardego łącza. Polecenie In jest standardowym poleceniem UNIX używanym do utworzenia twardego łącza do wielu plików o tej samej nazwie.

W

Struktura

W przeciwieństwie do miękkich linków, 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 łącza, takie jak możliwość łączenia w całym systemie plików. Tworzenie i usuwanie dowiązań symbolicznych nie wpłynie na oryginalny plik. Z drugiej strony, twardych dowiązań nie można używać do łączenia plików poza systemem plików. Dowiązania twarde dzielą tę samą wartość i-węzła z rzeczywistą zawartością pliku, więc usunięcie dowolnego łącza nie wpłynie na inne łącza i nadal będzie wyświetlać zawartość pliku.

Miękki link a twardy link: Tabela porównawcza

Podsumowanie Soft Link vs. Hard Link

W skrócie, zarówno miękkie linki, jak i twarde łącza pozwalają więcej niż jednej nazwie pliku odnosić się do tego samego pliku w innym miejscu, ale różnica polega na tym, jak zachowują się, gdy łącze źródłowe jest usuwane z systemu. Dowiązanie twarde zajmuje mniej miejsca niż dowiązanie miękkie, ale wszelkie zmiany wprowadzone w dowiązaniu twardym zostaną ostatecznie odzwierciedlone w oryginalnym pliku, natomiast wszelkie zmiany dowiązania miękkiego nie będą miały wpływu na oryginalny plik. Miękki link jest jak funkcja skrótu systemu operacyjnego Windows używana jako alias do odniesienia do oryginalnego pliku lub katalogu, natomiast twardy link jest jak replika oryginalnego pliku, który łączy dwa pliki w tym samym systemie plików.