В чем разница между «cd ../» и «cd / ..»?

Что означают эти две команды?

cd ../
cd /..

Я попал в две директории вверх по дереву по первой команде и в корневой каталог по второй команде. Почему это происходит?

7
задан 12 October 2017 в 08:06

3 ответа

A / в конце названия каталога/папки является дополнительным. Большую часть времени, включая или исключение заключительной наклонной черты в имени каталога не изменяет эффект команды.

Так cd ../ эквивалентно cd ...

Пути, которые не запускаются с a / относительные пути; они разрешены относительно текущего каталога.

Каждый каталог имеет две специальных записи:

  • запись каталога называют . это решает к самому каталогу
  • запись каталога называют .. это решает к родителю каталога (т.е. каталог, который содержит тот каталог),

Поэтому cd ../ и cd .. каталог изменения к родителю текущего каталога. Таким образом, если Вы начинаете в /home/fazlan и выполненный cd .. или cd ../, Вы закончите в /home.

Напротив, /.. полный путь (хотя необычный). / корень файловой системы - каталог, который Вы получаете к тому, если Вы поднимаетесь в иерархии каталогов полностью. (Используя ту же родительскую и дочернюю метафору, говорим мы / предок всего в файловой системе.)

С тех пор .. означает "родительский каталог этого каталога" и / означает "вершину файловой системы", /.. означает "родительский каталог вершины файловой системы".

Но что означает говорить о каталоге, который содержит /? Ну, / исключение. Так как никакой каталог не содержит его, мы говорим это /родитель самостоятельно. Поэтому в /, .. /. Следовательно, /.. совпадает с /.

Это то, почему cd ../ приносит Вам один каталог от того, где Вы запустили, в то время как cd /.. приносит Вам к очень главному. Более изящный и легко чтение способы сделать эти вещи cd .. и cd /, соответственно.

12
ответ дан 12 October 2017 в 08:06

Первым является относительный путь. Вторым является полный путь.

.. оператор в том средстве аргумента перемещает то вверх.

наклонная черта если не в передней стороне означает подразделение имени подкаталога.

наклонная черта, когда в передней стороне означает "Это, является полным путем. Запустите в корневом каталоге".. отбрасывается, так как Вы не можете отступить дальше. (Было время, когда многие из них позволили Вам повреждать chroots)

2
ответ дан 12 October 2017 в 08:06

Единственная точка (.) представляет текущий каталог. На самом деле, если бы Вы выполнились cd ., то это поместило бы Вас в Ваш текущий каталог (который, казалось бы, ничего не сделал бы). Если бы необходимо было скопировать что-то от/dir1 до текущего dir, то Вы могли бы сделать это как это:

cp /dir1/somefile.txt .

Выполнение cd .. приносит Вам один уровень каталога. cd ../ делает то же. Если бы Вы хотели подняться два уровни, то Вы добавили бы еще две точки на конце, как это:

cd ../..

Для возврата к корневому каталогу можно выполниться cd /. Теперь скажем, я выполнил следующее:

cd /dir1/dir2/dir3/..

, Который помещает меня в/dir1/dir2 каталог, потому что (поскольку мы установили выше) эти .. говорит этому повышаться один уровень. Таким образом, это переходит к dir3 и затем повышается.

вызовом a cd /.. Вы говорите этому переходить к корневому каталогу / и затем одному уровню, который это не может сделать. Таким образом, это эффективно оставляет Вас в корневом каталоге, вместо этого.

1
ответ дан 12 October 2017 в 08:06

Другие вопросы по тегам:

Похожие вопросы: