Co oznacza ścieżka „/../”?

17

Zastanawiasz się, gdzie ścieżka wyglądająca tak „/../” wskazywałaby na zewnątrz pliku? Zgaduję, że może to być coś takiego jak zawsze określenie katalogu głównego, a następnie względnego katalogu nadrzędnego do pliku, w którym został zapisany?

Eugene Lai
źródło
1
Rodzicem
1
Czy masz na myśli, że pisanie /../ jest tym samym co / wtedy ...?
Eugene Lai,
1
Tak to jest. Nie możesz iść do rodzica roota, więc jest on skierowany do samego
rootowania
3
Jednak zobacz unix, różnicę między ścieżką zaczynającą się od „/” i „//” .
G-Man mówi „Przywróć Monikę”
/../ma sens tylko wtedy, jeśli jest to w obrębie ścieżki.
Amani Kilumanga

Odpowiedzi:

32

Rozbijmy /../kawałek po kawałku

Pierwszy /wskazuje katalog główny systemu plików. Jest to najwyższy poziom systemu plików

.. oznacza folder nadrzędny Jednakże, ponieważ jesteśmy na najwyższym poziomie, nie możemy pójść wyżej, więc wciąż jesteśmy na najwyższym folderze

dodanie /na końcu wskazuje folder. Nie jest to nigdy obowiązkowe, chyba że podasz ścieżkę lub plik podfolderu. Jesteśmy więc nadal w najwyższym folderze w systemie plików.

Tak więc /../nie różni się od pisania/

Keltari
źródło
24
Z wyjątkiem sytuacji, gdy jesteś w chroot, a jądro jest wystarczająco wadliwe, aby takie sztuczki pozwoliły ci uciec z chroot. (Wydaje mi się, że tak było lata temu).
1686,
8
Końcowy ukośnik może być znaczny w niektórych przypadkach. Na przykład, jeśli /examplejest dowiązaniem symbolicznym do katalogu, ls -l /examplewyświetli dowiązanie symboliczne, podczas gdy ls -l /example/wyświetli zawartość katalogu.
Flimm,
można kontrastować z cd ../abc np. gdzie ../robi różnicę. Wydaje mi się, że jest to przydatne tylko dla ścieżek względnych, a nie dla ścieżek bezwzględnych.
barlop
1
@barlop ../może mieć wpływ na ścieżki bezwzględne: /foo/bar/../quux= /foo/quux. Kilka bardziej użytecznych przykładów: 1) uświadomienie sobie, że po prostu karta zakończyło się naprawdę długą nazwą katalogu, ale nie było to, czego chciałeś. ../może być szybsze niż cofanie 50 razy. 2)foo=/long/absolute/path/to/foo; bar=$foo/../bar;
8bittree
1
@grawity Zamknięcie ..drogi ewakuacyjnej, jeśli realizacja chrootwięzienia jest tak oczywista, jak zamknięcie drzwi stodoły, aby zatrzymać zwierzęta; nie przegapisz takiej sprawy: najbardziej oczywista ścieżka ucieczki. To prowadzi mnie do podejrzeń, że wczesne chrootwdrożenia mogły nie mieć nieuniknionego wymogu .
Kaz