Thursday Feb 03, 2022

Różnica między twardym linkiem a miękkim linkiem

Dowiązania w Uniksie są zasadniczo wskaźnikami, które kojarzą się z plikami i katalogami. Główna różnica między twardym łączem a miękkim łączem jest taka, że twarde łącze jest bezpośrednim odniesieniem do pliku, podczas gdy miękkie łącze jest odniesieniem przez nazwę, co oznacza, że wskazuje na plik przez nazwę pliku.

Twarde łącze łączy pliki i katalogi w tym samym systemie plików, ale miękkie łącze może przekraczać granice systemu plików.

Przed zrozumieniem linków powinniśmy najpierw zrozumieć inode, inode jest strukturą danych składającą się z metadanych o pliku, takich jak data utworzenia pliku, uprawnienia do pliku, właściciel pliku i więcej.

Zawartość: Hard link Vs Soft link

  1. Comparison Chart
  2. Definition
  3. Key Differences
  4. Conclusion

Comparison Chart

.

.

Podstawa porównania Łącze twarde Łącze miękkie
Podstawa Do pliku można uzyskać dostęp za pomocą wielu różnych nazw zwanych łączami twardymi. Plik może być dostępny poprzez różne odniesienia wskazujące na ten plik jest znany jako miękki link.
Weryfikacja linku, gdy oryginalny plik jest usuwany Wciąż ważny i plik może być dostępny. Invalid
Komenda użyta do utworzenia ln ln -.s
numer węzła Ten sam Różny
Może być połączony z własną partycją. Do każdego innego systemu plików, nawet sieciowego.
Zużycie pamięci Mniej Więcej
Ścieżka relacyjna Nie dotyczy Dozwolone

Definicja twardego łącza

Twarde łącza bezpośrednio łączą dwa pliki w tym samym systemie plików i do identyfikacji używa numeru inode pliku. Hard links nie mogą być zaimplementowane na katalogach (ponieważ wskazują one na inode). Kiedy komenda „ln” jest użyta do wygenerowania twardego dowiązania, tworzy ona kolejny plik w linii poleceń, który może być użyty do odwołania się do oryginalnego pliku. Zarówno oryginalny jak i wygenerowany plik mają ten sam inode i zawartość; stąd będą miały te same uprawnienia i tego samego właściciela.

Usunięcie oryginalnego pliku nie ma wpływu na plik z twardym łączem, a plik z twardym łączem pozostanie. Inode posiada licznik, aby obliczyć liczbę twardych linków do siebie. Kiedy licznik wskazuje wartość 0, wtedy inode jest opróżniany. Kiedykolwiek dokonasz jakichkolwiek zmian w twardym łączu, będzie ono imitować w oryginalnym pliku.

Definicja miękkiego łącza

Miękkie łącza są zazwyczaj alternatywną ścieżką (lub aliasem) dla oryginalnego pliku; są one również określane jako dowiązania symboliczne. Zawiera nazwę „pliku docelowego” łącza, flagę, która określa, że jest to miękki link. Kiedy plik jest dostępny, miękki link przekierowuje go do pliku docelowego poprzez ścieżkę zapisaną w temacie miękkiego linku.

Są one bardzo przydatne w przypadku systemu operacyjnego Windows, gdzie miękki link zachowuje się jak skróty. Tworzenie i usuwanie miękkich linków nie ma wpływu na oryginalny plik. Jeśli plik docelowy zostanie usunięty, miękki link zawiesza się, co oznacza, że wskazuje donikąd i generuje komunikat o błędzie, gdy plik docelowy jest dostępny. Soft linki nie używają numeru inode, w przeciwieństwie do hard linków. Absolutna lub względna ścieżka może być częścią symbolicznych linków.

Kluczowe różnice między twardym linkiem a miękkim linkiem

  1. Twardy link jest dodatkową nazwą oryginalnego pliku, który odnosi się do węzła, aby uzyskać dostęp do pliku docelowego. W przeciwieństwie do tego, miękki link jest różny od oryginalnego pliku i jest aliasem do oryginalnego pliku ale nie używa inode.
  2. Gdy oryginalny plik zostaje usunięty miękki link staje się nieważny podczas gdy, twardy link jest ważny nawet jeśli plik docelowy jest usunięty.
  3. W Linuksie, polecenie używane do tworzenia twardego linku to „ln”. Przeciwnie, polecenie używane do miękkiego linku to „ln -s”.
  4. Twardy link ma ten sam numer inode w przeciwieństwie do miękkiego linku, gdzie plik docelowy i jego miękki link mają różne numery inode.
  5. Twarde linki są ograniczone do własnych partycji, ale miękkie linki mogą obejmować różne systemy plików.
  6. Wydajność twardego linku jest lepsza niż miękkiego linku w niektórych przypadkach.
  7. Ścieżka względna i ścieżka bezwzględna są dozwolone w miękkich linkach. Wręcz przeciwnie, ścieżka względna nie jest dozwolona w twardym łączu.

Wniosek

Twarde łącze nie wymaga dodatkowego miejsca i rozwiązuje się szybciej, ale zmiany zastosowane do twardego łącza odbijają się w oryginalnym pliku. Z drugiej strony, miękki link wymaga dodatkowej przestrzeni, ale jakakolwiek zmiana w miękkim linku nie wpływa na oryginalny plik. Miękkie linki są dozwolone do katalogów w przeciwieństwie do twardego linku.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Back to Top