Пользователь может работать с файлами не только в своём домашнем каталоге, но и в других каталогах. В этом случае будет удобно сменить текущий каталог, т. е. «переместиться» в другую точку файловой системы. Для смены текущего каталога командной оболочки используется команда cd
(от англ. «change directory» — «сменить каталог»). Команда cd
принимает один параметр: имя каталога, в который нужно переместиться — сделать текущим. Как обычно, в качестве имени каталога можно использовать полный или относительный путь.
[methody@localhost methody]$ cd /home
[methody@localhost home]$ ls
methody shogun
[methody@localhost home]$ cd methody
[methody@localhost methody]$
Пример 7. Смена текущего каталога
Сначала Мефодий решил переместиться в каталог «/home
», и посмотреть, что ещё есть в этом каталоге, кроме его домашнего каталога. Он обнаружил ещё один каталог — «shogun
», и догадался, что это домашний каталог Гуревича, входное имя которого — «shogun
». Кроме того, он заметил, что изменился вид приглашения командной строки (подсказки shell) — слово «methody
» заменилось на «home
». В приглашении командной строки часто указывается текущий каталог shell — чтобы пользователю легче было ориентироваться, в каком каталоге он «находится» в данный момент.
После этого Мефодий решил вернуться в свой домашний каталог, но в этом случае он использовал уже не полный, а относительный путь — «cd methody
». Вводя эту команду, Мефодий не стал целиком набирать имя своего домашнего каталога, а набрал только первые буквы «me
» и нажал клавишу Tab, как ему советовал Гуревич. Командная оболочка умеет достраивать имена файлов и каталогов: пользователю достаточно набрать несколько первых символов имени файла или каталога и нажать Tab. Если есть только один вариант завершения имени — оболочка закончит его сама, и пользователю не придётся набирать оставшиеся символы. Достраивание — весьма серьёзное средство экономии усилий и повышения эффективности при работе с командной строкой. Современные командные оболочки умеют достраиват имена файлов и каталогов, а также имена команд. Достраивание наиболее развито в командном интерпретаторе zsh
.
Те же самые перемещения — в родительский каталог и обратно — Мефодий мог бы сделать и набирая значительно меньше символов. Для перемещения в родительский каталог («/home
») удобно воспользоваться ссылкой «..
». Необходимость вернуться в домашний каталог из произвольной точки файловой системы возникает довольно часто, поэтому командная оболочка поддерживает обозначение домашнего каталога при помощи символа «~
». Поэтому чтобы перейти в домашний каталог из любого другого, достаточно выполнить команду «cd ~
». При исполнении команды символ «~
» будет заменён командной оболочкой на полный путь к домашнему каталогу пользователя.
[methody@localhost methody]$ cd ..
[methody@localhost home]$ cd ~
[methody@localhost methody]$ cd ~shogun
[methody@localhost shogun]$ cd
[methody@localhost methody]$
Пример 8. Переход в родительский и в домашний каталог
При помощи символа «~
» можно ссылаться и на домашние каталоги других пользователей: «~имя пользователя
». В примере Мефодий перешёл в домашний каталог Гуревича командой «cd ~shogun
». Команда cd
, поданная без параметров, эквивалента команде «cd ~
» и делает текущим каталогом домашний каталог пользователя.