Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską.
Bezwzględne i względne nazwy ścieżek to dwa sposoby określania adresu wirtualnego katalogu lub pliku w systemie Linux. Ale jaka jest różnica między tymi dwoma typami ścieżek i którego należy użyć w swoich poleceniach? Dowiedzmy Się.
Ścieżki względne i bezwzględne w systemie Linux
Jeśli kiedykolwiek używałeś dowolnego polecenia Linuksa opartego na argumentach, takiego jak cd lub ls, wiedziałbyś, że istnieje wiele sposobów określania ścieżki do katalogu lub pliku.
Możesz albo preferować trzymanie się normalnych wyrażeń ścieżki, albo, jeśli jesteś zaawansowanym użytkownikiem Linuksa, zastosować złożone wyrażenia regularne, aby przekazać nazwę pliku lub katalogu do programu. Tak czy inaczej, istnieją tylko dwa sposoby określenia ścieżki katalogu w systemie Linux: ścieżka bezwzględna i ścieżka względna.
Wyrażenia ścieżki bezwzględnej
Ścieżka bezwzględna zawsze zaczyna się od katalogu głównego i kończy na katalogu lub pliku, na który chcesz wskazać. Używając wyrażenia ścieżki bezwzględnej, musisz wpisać wszystkie nazwy podkatalogów obecne w hierarchii, które prowadzą do ostatecznej lokalizacji.
Na przykład, jeśli chcesz wskazać /myfolder/folder2 w środku /var/www katalog przy użyciu wyrażenia ścieżki bezwzględnej, użyłbyś:
/rozm/www/myfolder/folder2
...gdzie / na początku wyrażenia odnosi się do katalogu głównego w systemie Linux.
Wyrażenia ścieżki względnej
Z drugiej strony ścieżka względna odnosi się do wyrażenia ścieżki, które używa innej ścieżki (zwykle bieżącego katalogu roboczego) jako katalogu głównego lub podstawy. Jak sama nazwa wskazuje, jest „względna” w stosunku do istniejącej ścieżki w twoim systemie.
Na przykład, jeśli jesteś obecnie w /var/www katalog i trzeba wskazać /myfolder/folder2, użyłbyś:
./mójfolder/folder2
...Gdzie . oznacza bieżący katalog, w którym się znajdujesz. Możesz zmienić obecny katalog roboczy za pomocą polecenie CD.
Oprócz jednego okresu (.), wyrażenia ścieżki względnej również wykorzystują podwójne kropki (..), aby odnieść się do katalogu nadrzędnego.
Weźmy na przykład pod uwagę, że jesteś w środku /www folder wewnątrz następującej struktury katalogów:
/rozm/www/myfolder/folder2
W powyższym wyrażeniu ścieżki, . będzie oznaczać /www katalog mając na uwadze, że .. wskaże na /var informator. Jeśli istnieje inny katalog /random wewnątrz /var do których musisz mieć dostęp, gdy jesteś w środku /var/www, użyłbyś:
../losowy
Proste.
absolutny vs. Względne: które wyrażenie ścieżki jest lepsze?
Chociaż wyrażenia ścieżki mogą wydawać się proste i nieistotne dla użytkownika komputera stacjonarnego, istnieją różne przypadki użycia, w których użycie niewłaściwej nazwy ścieżki może spowodować wiele niechcianych niedogodności. Dobrym przykładem są serwery WWW.
Jako programista WWW pracujący nad projektem hostowanym na serwerze z systemem Linux musisz mieć dostęp do plików w katalogu projektu. W tym przypadku standardem jest stosowanie wyrażeń ścieżki względnej, ponieważ każda zmiana nazw podkatalogów lub nazwy domeny projektu może prowadzić do zerwania łączy.
Możesz to zrozumieć na prostym przykładzie, z którym użytkownicy komputerów stacjonarnych mogą się lepiej odnosić. The / znak oznacza katalog główny w systemie Linux. Wyobraź sobie, że nagle to zmienisz i sprawisz, że / znak wskazuje na katalog domowy. Od tego czasu wiele twoich poleceń zawierających wyrażenia ścieżki bezwzględnej nie będzie działać / został przeniesiony do innego katalogu.
Kolejną zaletą korzystania z wyrażeń ścieżki względnej jest to, że są one względne w stosunku do bieżącego katalogu roboczego, co pozwala zaoszczędzić czas, który w przeciwnym razie musiałbyś poświęcić na wpisywanie niepotrzebnych znaków.
Jedynym haczykiem jest tutaj złożoność i krzywa uczenia się związana z wyrażeniami względnymi. Ale jest to również powszechne w wyrażeniach ścieżki bezwzględnej; aby stać się mistrzem w używaniu ścieżek bezwzględnych, musisz być dobrze zorientowany w hierarchii katalogów Linuksa. Możesz użyć polecenie tree, aby wyświetlić całe drzewo katalogów Linuksa i ułatw sobie wyrażanie ścieżek bezwzględnych.
Zrozumienie hierarchii katalogów w systemie Linux
Struktura katalogów systemu Linux jest wspólna dla wszystkich komputerów z systemami operacyjnymi opartymi na systemie Linux. Możesz użyć polecenia, takiego jak ls lub tree, aby dowiedzieć się więcej o strukturze plików i folderów na komputerze.