Różnica między miękkimi linkami a twardymi linkami

Różnica między miękkimi linkami a twardymi linkami

W systemie Linux tworzone są linki do plików w taki sam sposób, jak odniesienia do plików są tworzone w najczęstszych językach programowania. Te linki są podzielone na dwie kategorie: twarde i miękkie linki.

Twardy link jest skutecznie identyczną repliką pliku, dlatego twardy link i faktyczny plik będzie miała ten sam inode.

Miękki link, znany również jako link symboliczny, funkcjonuje podobnie do skrótu lub wskaźnika do pliku. Nie jest to dokładna replika pliku, ale raczej wskaźnik do oryginału.

Wartości INODE miękkiego łącza do pliku i rzeczywisty plik będą się różnić. Ponadto nie będziesz mógł uzyskać dostępu do zawartości miękkiego łącza, jeśli usuniesz rzeczywisty plik. W tym artykule dowiemy się więcej o miękkich linkach i twardych linkach.

Zrozum różnicę między twardymi linkami a miękkimi linkami

Jakie są miękkie linki w Linux?

Mamy funkcję skrótu plików w systemie Windows używanym do utworzenia skrótu plików. Miękki link jest podobny do skrótu pliku. Każdy plik z miękkim połączeniem ma swoją własną wartość inode, która odnosi się do oryginalnego pliku. Wszelkie zmiany informacji w jednym pliku są odzwierciedlone w drugim. Możesz podłączyć miękkie linki w różnych systemach plików, ale jeśli plik źródłowy zostanie usunięty lub przesyłany, plik z miękkim połączeniem nie będzie działał poprawnie. Ten link nazywa się wiszącym linkiem. Usunięcie miękkiego łącza nie ma wpływu, ale jeśli usuniesz oryginalny plik, może to spowodować, że link przestanie działać.

Miękki łącze może być używany do wskazywania na katalog, a po prostu zachowuje ścieżkę do oryginalnego pliku, a nie jego zawartość. Rozmiar miękkiego łącza będzie równy pliku, dla którego tworzenie się miękkiego łącza. Na przykład, jeśli plik TheeBcd.TXT to 5KB, miękki link tego pliku będzie również 5kb.

Miękki link:

  • może przemierzać system plików,
  • Pozwól ci się połączyć w katalogach,
  • ma różne uprawnienia do plików i inode niż oryginalny plik,
  • uprawnienia nie zostaną zmodyfikowane,
  • i ma tylko oryginalny plik, a nie jej zawartość

Jakie są twarde linki w Linux?

Twardy link w Linux jest równoważny z plikiem zapisanym na dysku twardym - i naprawdę odnosi się do lub linki do lokalizacji na dysku twardym. Twardy link jest zasadniczo lustrzanym obrazem oryginalnego pliku. Różnica między twardym linkiem a miękkim linkiem polega na tym, że usunięcie pliku źródłowego nie ma wpływu na twardy link, ale sprawia, że ​​miękki link jest niezadowolony. Tak więc najważniejszą zaletą tworzenia twardego linku jest to, że nadal możesz uzyskać dostęp do zawartości pliku, nawet jeśli niezamierzasz go usunąć.

Twardy link:

  • Nie można przemierzać granic systemu plików,
  • Nie można połączyć katalogów,
  • ma te same uprawnienia do pliku i numer inode, co oryginalny plik
  • Jeśli zmienimy uprawnienia pliku źródłowego, uprawnienia zostaną również zmienione dla twardego linku
  • zawiera treść oryginalnego pliku, nawet jeśli oryginalny plik jest zniszczony, możesz uzyskać dostęp do treści.

Różnica między miękkimi linkami a twardymi linkami

ParametrMiękki linkTwardy link
Liczba INODEInny numer inode niż oryginalny plik.Ten sam numer inode co oryginalny plik.
InformatorMiękkie linki mogą łączyć katalogiTwarde linki nie mogą łączyć katalogi.
Oryginalny usuwa plikLink nie będzie działał, jeśli oryginalny plik zostanie usunięty, ponieważ nie ma dostępu do danych w oryginalnym pliku. To nic więcej niż skrót do oryginalnego pliku.Hard Link będzie nadal działał, nawet jeśli oryginalny plik zostanie usunięty, ponieważ uzyskuje dostęp do tych samych danych, co oryginał.
PrędkośćMiękkie linki są wolniejszeTwarde linki są szybsze niż miękkie linki.
Zużycie pamięciWięcejMniej

Sprawdź poniższy zrzut ekranu różnic w INODE między plikami twardego linku i miękkiego linku:

Zmiany inodu w miękkim linku i twardym łącze

Jak tworzyć twarde linki i miękkie linki?

Zrozumiemy różnice z szybką praktyką. Utwórz prosty plik tekstowy w katalogu i nazwij plik 1.tekst. Utworzymy miękki link i twardy link do tego pliku.

Tworzenie twardego linku:

  1. Aby utworzyć twardy link, używamy „LN” Komenda. Więc wpisz następujące polecenie w oknie terminalu:
    Ln Plik 1.TXT Hardlink.tekst  
  2. Więc tutaj używamy polecenia „in”, aby utworzyć twardy link, wówczas podajemy nazwę pliku, dla którego potrzebujemy twardego linku, a następnie nazywamy twardy link, który jest trudny.tekst.

    Wpisz następujące polecenie po wykonaniu poprzedniego polecenia:

    ls -l  
  3. To pokaże, że w katalogu są dwa pliki - Plik1.TXT i HardLink.tekst. Teraz sprawdźmy, czy nasz plik twardego linku działa, czy nie. Otwórz Hardlink.plik txt w edytorze tekstu:
    Nano Hardlink.tekst  
  4. Zmień zawartość pliku i napisz coś innego. Następnie otwórz oryginalny plik:
    CAT File1.tekst  
  5. Zobaczysz, że zmiany wprowadzone w plikach linków twardego są odzwierciedlone w oryginalnym pliku. Teraz usuńmy oryginalny plik i sprawdź, czy plik twardy link nadal będzie działał, czy nie:
    Plik RM1.tekst  
  6. Uruchom polecenie „LS”, a zobaczysz, że w katalogu jest tylko jeden plik.tekst. Otwórz plik, a zobaczysz, że plik nadal ma tę samą treść.

Tworzenie miękkiego linku:

  1. Aby zademonstrować, Agai utworzyłem plik.TXT w bieżącym katalogu. Utworzymy miękki link dla tego samego. Uruchom następujące polecenie, aby utworzyć miękki link:
    plik Ln -s1.TXT Softlink.tekst  
  2. Uruchom ls -l polecenie i zobaczysz, że w katalogu znajdują się dwa różne pliki. Teraz, jeśli wpiszesz
    Cat Softlink.tekst  
  3. Zobaczysz zawartość pliku1.TXT, ponieważ miękki link wskazuje na ten plik. A jeśli usuniesz plik 1.plik txt:
    Plik RM1.tekst  
  4. Znowu uruchom ls -l polecenie i zobaczysz błąd. Dzieje się tak, ponieważ oryginalny plik jest usuwany, a miękki link nie może bez tego działać. A jeśli wpiszmy:
    Cat Softlink.tekst  

    Zobaczysz, że nie ma takiego pliku ani katalogu

Owinięcie

Twardy link zajmuje mniej miejsca i działa szybciej, ale wprowadzone do niego modyfikacje znajdują odzwierciedlenie w oryginalnym pliku. Podczas gdy miękkie linki wymagają więcej miejsca, wszelkie zmiany w miękkim łącze nie mają wpływu na oryginalny plik. W przeciwieństwie do twardych linków, miękkie połączenia z katalogami są dozwolone.