Wyszukiwanie w witrynie

Jak tworzyć łącza twarde i symboliczne w systemie Linux


W systemach operacyjnych typu Unix, takich jak Linux, „wszystko jest plikiem”, a plik jest zasadniczo łączem do i-węzła (struktury danych, która przechowuje wszystko o pliku poza jego nazwą i rzeczywistą zawartością).

Twarde łącze to plik wskazujący na ten sam bazowy i-węzeł, co inny plik. Jeśli usuniesz jeden plik, usunie się jedno łącze do bazowego i-węzła. Natomiast dowiązanie symboliczne (znane również jako dowiązanie miękkie) jest dowiązaniem do innej nazwy pliku w systemie plików.

Przeczytaj także: Jak zarządzać plikami i katalogami

Inną ważną różnicą między tymi dwoma typami dowiązań jest to, że dowiązania twarde mogą działać tylko w tym samym systemie plików, podczas gdy dowiązania symboliczne mogą przechodzić przez różne systemy plików.

Jak tworzyć twarde łącza w systemie Linux

Aby utworzyć twarde linki w Linuksie, użyjemy narzędzia ln. Na przykład poniższe polecenie tworzy twarde łącze o nazwie tp do pliku topprocs.sh.

ls -l
ln topprocs.sh tp
ls -l

Patrząc na powyższe dane wyjściowe, za pomocą polecenia ls nowy plik nie jest wskazywany jako łącze, jest on wyświetlany jako zwykły plik. Oznacza to, że tp jest po prostu kolejnym zwykłym plikiem wykonywalnym, który wskazuje na ten sam bazowy i-węzeł co topprocs.sh.

Aby utworzyć twardy link bezpośrednio w miękkim linku, użyj flagi -P w ten sposób.

ln -P topprocs.sh tp

Jak tworzyć dowiązania symboliczne w systemie Linux

Aby utworzyć dowiązanie symboliczne w Linuksie, użyjemy tego samego narzędzia ln z przełącznikiem -s. Na przykład poniższe polecenie tworzy dowiązanie symboliczne o nazwie topps.sh do pliku topprocs.sh.

ln -s ~/bin/topprocs.sh topps.sh
ls -l topps.sh

Z powyższych danych wynika, że w sekcji uprawnień do plików widać, że topps.sh jest łączem wskazanym przez l:, co oznacza, że jest to łącze do innej nazwy pliku.

Jeśli dowiązanie symboliczne już istnieje, może pojawić się błąd, aby wymusić operację (usunąć wychodzące dowiązanie symboliczne), użyj opcji -f.

ln -s ~/bin/topprocs.sh topps.sh
ln -sf ~/bin/topprocs.sh topps.sh

Aby włączyć tryb szczegółowy, dodaj flagę -v, aby wydrukować nazwę każdego połączonego pliku na wyjściu.

ln -sfv ~/bin/topprocs.sh topps.sh
$ls -l topps.sh

Otóż to! Sprawdź następujące powiązane artykuły.

  1. fdupes – narzędzie wiersza poleceń do wyszukiwania i usuwania zduplikowanych plików w systemie Linux
  2. 5 przydatnych poleceń do zarządzania typami plików i czasem systemowym w systemie Linux

W tym artykule nauczyliśmy się tworzyć twarde i symboliczne łącza w systemie Linux. Możesz zadać dowolne pytanie lub podzielić się swoimi przemyśleniami na temat tego przewodnika, korzystając z poniższego formularza opinii.