В чем разница между этими командами: я использовал cd $HOME/directory/test/
перед запуском каждой строки:
cd ~
cd /
cd ~/
cd -
cd --
cd /.
cd $HOME
cd $USR
cd
И все они ведут себя одинаково. В чем разница?
Простая команда cd <dir>
, которая изменяет каталог на <dir>
.
~
указывает $HOME
, каталог /
указывает , корневой каталог ~/
указывает $HOME
каталог также. Единственная разница - то, что это явно показывает, что это - каталог (запаздывающая наклонная черта). cd ~/
и cd
и cd ~
и cd $HOME
все делают точно то же самое. cd -
Изменения рабочий каталог к предыдущий рабочий каталог . Эти специальные символы "." (точка) и ".." (отметьте точкой точку) [Относительные Параметры] :
"." символ относится к текущему каталогу и ".." символ обращается к родительскому каталогу текущего каталога.
$USER
и $HOME
Переменные среды
$USER
= название в настоящее время зарегистрированный пользователь. Эта переменная установлена системой. Вы, вероятно, не должны изменять его значение вручную. (ex:myuser1)
$HOME
= местоположение корневого каталога в настоящее время зарегистрированного пользователя. (исключая:/home/myuser1)
Рекомендуемый для использования cd "$HOME"
или cd "$USER"
так, чтобы cd
получил надлежащий вход в случае пространства, и т.д.
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
.