В чем разница между этими командами?

В чем разница между этими командами: я использовал cd $HOME/directory/test/ перед запуском каждой строки:

cd ~
cd /
cd ~/
cd -
cd --
cd /.
cd $HOME
cd $USR
cd

И все они ведут себя одинаково. В чем разница?

5
задан 11 July 2017 в 18:36

2 ответа

Простая команда cd <dir>, которая изменяет каталог на <dir>.

  • ~ указывает $HOME, каталог
  • / указывает , корневой каталог
  • ~/ указывает $HOME каталог также. Единственная разница - то, что это явно показывает, что это - каталог (запаздывающая наклонная черта). cd ~/ и cd и cd ~ и cd $HOME все делают точно то же самое.
  • cd - Изменения рабочий каталог к предыдущий рабочий каталог .
<час>

Эти специальные символы "." (точка) и ".." (отметьте точкой точку) [Относительные Параметры] :

"." символ относится к текущему каталогу и ".." символ обращается к родительскому каталогу текущего каталога.

<час>

$USER и $HOME Переменные среды

$USER = название в настоящее время зарегистрированный пользователь. Эта переменная установлена системой. Вы, вероятно, не должны изменять его значение вручную. (ex:myuser1)

$HOME = местоположение корневого каталога в настоящее время зарегистрированного пользователя. (исключая:/home/myuser1)

Рекомендуемый для использования cd "$HOME" или cd "$USER" так, чтобы cd получил надлежащий вход в случае пространства, и т.д.

11
ответ дан 11 July 2017 в 18:36
cd ~

Изменения в Вашем корневом каталоге. ~ в начале пути сокращение, означающее “корневой каталог пользователя”.

cd /

Изменения в корневом каталоге /. Ничто специальное продолжение здесь.

cd ~/

Запаздывание / не имеет никакого значения. Это вызывает ~ интерпретироваться как каталог, но cd делает это так или иначе. (Запаздывание / имеет значение на символьной ссылке на каталог — выдерживают сравнение ls -ld /var/spool/mail и ls -ld /var/spool/mail/.)

cd -

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

cd --

С большинством команд, включая cd, аргумент -- средства, что что-либо, что прибывает впоследствии, будут рассматривать как операнд, а не опцию. Так, например, cd -- -P средства измениться в названный каталог -P, тогда как cd -P передачи -P опция (который имеет значение, если путь, который Вы изменяете в движения через символьную ссылку). Когда нет никакого аргумента после --, -- ничего не делает; эта команда эквивалентна плоскости cd. cd без аргумента, в свою очередь, ярлык для cd ~.

cd /.

Эквивалентный cd /, с тех пор /. тот же каталог как / (. главным образом полезно самостоятельно, для значения “текущего каталога”).

cd $HOME

Изменения в Вашем корневом каталоге. Это перестало работать, если путь к Вашему корневому каталогу содержит пространство или другие символы. Всегда используйте двойные кавычки вокруг подстановок переменных: cd "$HOME".

cd $USR

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

8
ответ дан 11 July 2017 в 18:36

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

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