dowiązania symboliczne (zwane także miękkimi łączami) i dowiązania twarde są zasobem umożliwiającym dostęp do plików lub katalogów z dowolnego miejsca. W tym artykule opiszemy różnice między dowiązaniami symbolicznymi a dowiązaniami twardymi.
dowiązania twarde
dowiązania twarde nie są plikiem zawierającym ścieżkę do oryginalnego pliku, ale lustrzanymi kopiami oryginalnego pliku, do którego wskazują. Plik i jego twarde łącza nie są powiązane przez nazwę lub ścieżkę, ale przez i-węzeł, który przechowuje informacje o pliku, takie jak jego lokalizacja, Data utworzenia, uprawnienia i inne atrybuty. Każdy numer i-węzła jest unikalny w systemie plików, co uniemożliwia pracę twardych łączy między różnymi partycjami lub systemami. Łącza twarde nie mogą być używane do łączenia katalogów.
w przeciwieństwie do miękkich linków, twarde linki zawierają informacje, do których się odwołują, więc jeśli oryginalny plik zostanie usunięty, nadal możesz uzyskać dostęp do jego danych.
we wszystkich systemach linuksowych zarówno dowiązania twarde jak i symboliczne tworzone są komendą „ln”. Aby rozpocząć, najpierw Utwórz plik o nazwie LinuxHintFile i katalog o nazwie LinuxHintDirectory, jak pokazano na poniższym obrazku:
rmkdir LinuxHintDirectory
ls
root@LinuxHint:/home/linuxhint #
aby utworzyć twardy link o nazwie Link2LHFile do pliku LinuxHintFile uruchom w terminalu:
po sprawdzeniu z ls widzimy twardy link, który właśnie stworzyliśmy, jeśli wpiszesz ls-i zobaczysz i-węzły plików, możesz potwierdzić, że link, który właśnie stworzyliśmy, ma taki sam numer inode niż oryginalny plik, wpisz:
jak powiedzieliśmy powyżej, nie możemy używać twardych linków do katalogów ani linków do innych woluminów lub systemów plików, połączymy linuxhintdirectory z miękkim linkiem.
Możesz znaleźć twarde linki w katalogu roboczym, uruchamiając:
Możesz również znaleźć pliki za pomocą i-węzłów, dla tego uruchomienia:
jak widzisz, znalazł zarówno oryginalny plik, jak i twardy link o tym samym numerze inode.
miękkie łącza
w przeciwieństwie do twardych łączy, miękkie łącza nie są kopiami oryginalnego pliku, zawierają ścieżkę do oryginalnego pliku, z tego powodu, jeśli oryginalny plik zostanie usunięty, miękkie łącze lub dowiązanie symboliczne wskaże, że żaden plik nie stanie się uszkodzonym łączem lub dowiązaniem osieroconym, co oznacza, że jeśli utracisz plik źródłowy, jeśli go usuniesz lub przeniesiesz, dowiązanie symboliczne straci dostęp do informacji, podczas gdy z dowiązaniem twardym informacje pozostaną pomimo usunięcia pliku źródłowego, ponieważ są pełną i dokładną kopią tego pliku.
również w przeciwieństwie do dowiązań twardych dowiązania symboliczne nie mają tego samego i-węzła z oryginalnym plikiem, dlatego dowiązania symboliczne mogą przecinać woluminy i systemy plików, podczas gdy dowiązania twarde nie mogą. dowiązania symboliczne mogą być używane do łączenia katalogów, podczas gdy dowiązania twarde nie są możliwe.
dowiązania symboliczne są również tworzone za pomocą programu LN, ale aby dowiązanie było symboliczne / soft musimy podać parametr-s, aby utworzyć dowiązanie symboliczne do katalogu LinuxHintDirectory o nazwie lhdlink run:
a następnie uruchom 'ls-i’, aby sprawdzić, czy został poprawnie utworzony:
jak widzimy w tym przypadku link symboliczny został utworzony, ale ma inny numer i-węzła niż oryginalny plik.
możemy wyświetlić dowiązania symboliczne w katalogu za pomocą polecenia „ls-l”
na powyższym obrazku widzimy w uprawnieniach pierwszego pliku prefiks „l” dla dowiązań symbolicznych, koniec linii pokazuje również do jakiego pliku dowiązania symboliczne wskazuje.
mam nadzieję, że ten artykuł był przydatny do zrozumienia różnic między dowiązaniami twardymi i dowiązaniami symbolicznymi oraz do ich tworzenia. Śledź LinuxHint, aby uzyskać więcej wskazówek i aktualizacji na temat Linuksa.