Różnica między łączem twardym a miękkim
Zawartość
Łącza w Uniksie są zasadniczo wskaźnikami, które są powiązane z plikami i katalogami. Główną różnicą między dowiązaniem twardym a dowiązaniem miękkim jest to, że dowiązanie twarde jest bezpośrednim odniesieniem do pliku, podczas gdy dowiązanie miękkie jest odniesieniem według nazwy, co oznacza, że wskazuje plik według nazwy pliku.
Łącze twarde łączy pliki i katalogi w tym samym systemie plików, ale łącze miękkie może przekraczać granice systemu plików.
Przed zrozumieniem linków powinniśmy najpierw zrozumieć i-węzeł, i-węzeł to struktura danych złożona z metadanych dotyczących pliku, takich jak data utworzenia pliku, autoryzacja pliku, właściciel pliku i inne.
- Wykres porównania
- Definicja
- Kluczowe różnice
- Wniosek
Wykres porównania
Podstawa do porównania | Twardy link | Miękki link |
---|---|---|
Podstawowy | Dostęp do pliku można uzyskać za pomocą wielu różnych nazw znanych jako twarde łącza. | Dostęp do pliku można uzyskać za pomocą różnych odniesień wskazujących, że plik ten nazywany jest miękkim łączem. |
Sprawdzanie poprawności łącza po usunięciu oryginalnego pliku | Nadal jest ważny i można uzyskać dostęp do pliku. | Nieważny |
Polecenie użyte do stworzenia | ln | ln -s |
numer i-węzła | Podobnie | Różne |
Można połączyć | Do własnej partycji. | Do dowolnego innego systemu plików, nawet sieciowego. |
Zużycie pamięci | Mniej | Więcej |
Względna ścieżka dostępu | Nie dotyczy | Dozwolony |
Definicja twardego łącza
Twarde linki bezpośrednio połącz dwa pliki w tym samym systemie plików i do identyfikacji używa numeru i-węzła pliku. Dowiązań twardych nie można zaimplementować w katalogach (ponieważ wskazują one na i-węzeł). Kiedy "ln”Polecenie służy do wygenerowania twardego łącza, tworzy kolejny plik w wierszu poleceń, którego można użyć do odesłania oryginalnego pliku. Zarówno oryginalny, jak i wygenerowany plik mają tę samą i-węzeł i treść; dlatego będą mieli te same uprawnienia i tego samego właściciela.
Usunięcie oryginalnego pliku nie wpływa na plik połączony na stałe i pozostanie plik połączony na stałe. I-węzeł zawiera licznik, który oblicza liczbę twardych łączy do siebie. Gdy licznik wskazuje wartość 0, i-węzeł jest opróżniany. Ilekroć wprowadzisz jakiekolwiek zmiany w twardym linku, będzie on naśladował oryginalny plik.
Definicja linku miękkiego
Miękkie linki są zwykle alternatywną ścieżką (lub aliasem) oryginalnego pliku; są one również określane jako linki symboliczne. Zawiera nazwę „pliku docelowego” linku, flagę wskazującą, że jest to link miękki. Po uzyskaniu dostępu do pliku miękkie łącze przekierowuje go do pliku docelowego poprzez ścieżkę zapisaną w temacie miękkiego łącza.
Są one bardzo przydatne w przypadku systemu operacyjnego Windows, w którym miękkie łącze działa jak skróty. Tworzenie i usuwanie miękkich łączy nie wpływa na oryginalny plik. Jeśli plik docelowy zostanie usunięty, link miękki zwisa, co oznacza, że nie wskazuje nigdzie i generuje błąd podczas uzyskiwania dostępu do pliku docelowego. Miękkie łącza nie używają numeru i-węzła, w przeciwieństwie do twardego łącza. Ścieżka bezwzględna lub względna może być częścią dowiązań symbolicznych.
- Twardy link to dodatkowa nazwa oryginalnego pliku, która odwołuje się do i-węzła w celu uzyskania dostępu do pliku docelowego.Natomiast miękki link różni się od oryginalnego pliku i jest aliasem oryginalnego pliku, ale nie używa i-węzła.
- Po usunięciu oryginalnego pliku miękki link staje się nieważny, natomiast twardy link jest ważny, nawet jeśli plik docelowy zostanie usunięty.
- W Linuksie polecenie użyte do utworzenia twardego łącza to „ln„. W odróżnieniu od tego polecenie użyte dla miękkiego linku to „ln -s“.
- Łącze twarde ma ten sam numer i-węzła niepodobny do łącza miękkiego, gdzie plik docelowy i jego łącze miękkie mają odrębny numer i-węzła.
- Dowiązania twarde są ograniczone do własnych partycji, ale dowiązania miękkie mogą obejmować różne systemy plików.
- W niektórych przypadkach wydajność twardego łącza jest lepsza niż miękkiego łącza.
- Ścieżka względna i ścieżka bezwzględna są dozwolone w miękkich linkach. Przeciwnie, ścieżka względna nie jest dozwolona w twardym łączu.
Wniosek
Twardy link nie wymaga dodatkowego miejsca i szybszego rozpoznawania mat, ale zmiany zastosowane do twardego linku odzwierciedlają się w oryginalnym pliku. Z drugiej strony miękki link wymaga dodatkowej przestrzeni, ale wszelkie zmiany w miękkim linku nie wpływają na oryginalny plik. Miękkie linki są dozwolone w katalogach, w przeciwieństwie do Hard link.