Co reprezentuje "/" , "./", "../" podczas podawania ścieżki?
Co reprezentuje “/” , “./”, “../” podczas podawania ścieżki?
Co reprezentuje “/” , “./”, “../” podczas podawania ścieżki?
Znaczenie ścieżek:
/
to korzeń bieżącego dysku; ./
to bieżący katalog; ../
to rodzic bieżącego katalogu.Doprecyzujmy:
“/” to ścieżka, która zaczyna się od znaku /, a więc jest to ścieżka bezwzględna. Musimy więc zacząć od korzenia systemu plików i poruszać się po katalogach podanych z nazwy, przy czym nazwy są oddzielone znakiem /s (ponieważ jest to uniksowy separator ścieżek).
Tak więc, / jest korzeniem systemu plików, po którym nie ma żadnych folderów, a zatem, / opisuje korzeń systemu plików.
./ nie zaczyna się od /, a więc ./ nie może być bezwzględną nazwą pliku. Jest to więc względna nazwa systemu plików. Musimy więc zacząć od bieżącego katalogu roboczego i ponownie wykonać operacje nawigacyjne, które są oddzielone separatorem ścieżek. W tym przypadku operacją jest “.”, co oznacza: pozostań w bieżącym folderze. (Tak więc, trzeba wpisać ./foo, aby wykonać foo w bieżącym katalogu, jeśli . nie znajduje się w zmiennej ścieżki). Po “pozostań w bieżącym folderze” nic więcej się nie dzieje, więc ./ opisuje bieżący katalog roboczy.
Biorąc pod uwagę, że .. oznacza: przejdź do folderu nadrzędnego, ../ powinno być łatwe do wydedukowania i jest pozostawione jako ćwiczenie.
ukośnik /
jest separatorem katalogów. w każdym katalogu istnieją dwa katalogi, mianowicie .
(katalog bieżący) i ..
(katalog nadrzędny)
jeśli ścieżka zaczyna się od ukośnika, oznacza to, że jest to korzeń systemu plików. jeśli pominiemy ukośnik na początku, przyjmowane jest ./
(względem katalogu bieżącego)