Пользователь может работать с файлами не только в своем домашнем каталоге, но и в других каталогах. В этом случае будет удобно сменить текущий каталог, т. е. “переместиться” в другую точку файловой системы. Для смены текущего каталога командной оболочки используется команда cd
(от англ. ”change directory” - ”сменить каталог”). Команда cd
принимает один параметр: имя каталога, в который нужно переместиться - сделать текущим. Как обычно, в качестве имени каталога можно использовать полный или относительный путь:
[ivan@localhost ivan]$ cd /home
[ivan@localhost home]$ ls
ivan shogun
[ivan@localhost home]$ cd ivan
[ivan@localhost ivan]$
Пример 4.7. Смена текущего каталога
Сначала Иван решил переместиться в каталог /home
и посмотреть, что еще есть в этом каталоге, кроме его домашнего каталога. Он обнаружил каталог shogun
и догадался, что это домашний каталог Гончарова, входное имя которого - ”shogun”. Кроме того, он заметил, что изменился вид приглашения командной строки (подсказки shell) - слово ivan
заменилось на home
. В приглашении командной строки часто указывается текущий каталог shell - чтобы пользователю легче было ориентироваться, в каком каталоге он “находится” в данный момент.
После этого Иван решил вернуться в свой домашний каталог, но в этом случае он использовал уже не полный, а относительный путь - cd ivan
. Вводя эту команду, Иван не стал целиком набирать имя своего домашнего каталога, а набрал только первые буквы iv
и нажал клавишу Tab
, как ему советовал Гончаров. Командная оболочка умеет достраивать имена файлов и каталогов: пользователю достаточно набрать несколько первых символов имени файла или каталога и нажать Tab
. Если есть только один вариант завершения имени - оболочка закончит его сама, и пользователю не придется набирать оставшиеся символы. Достраивание - весьма существенное средство экономии усилий и повышения эффективности при работе с командной строкой. Современные командные оболочки умеют достраивать имена файлов и каталогов, а также имена команд. Достраивание наиболее развито в командном интерпретаторе zsh.
Те же самые перемещения - в родительский каталог и обратно - Иван мог бы осуществить, набирая значительно меньше символов. Для перемещения в родительский каталог (/home
) удобно воспользоваться ссылкой ..
. Необходимость вернуться в домашний каталог из произвольной точки файловой системы возникает довольно часто, поэтому командная оболочка поддерживает обозначение домашнего каталога при помощи символа ~
. Поэтому чтобы перейти в домашний каталог из любого другого, достаточно выполнить команду cd ~
. При исполнении команды символ ~
будет заменен командной оболочкой на полный путь к домашнему каталогу пользователя:
[ivan@localhost ivan]$ cd ..
[ivan@localhost home]$ cd ~
[ivan@localhost ivan]$ cd ~shogun
[ivan@localhost shogun]$ cd
[ivan@localhost ivan]$
При помощи символа ~
можно ссылаться и на домашние каталоги других пользователей: ~имя пользователя
. В примере 4.8 Иван перешел в домашний каталог Гончарова с помощью команды cd ~shogun
. Команда cd
, поданная без параметров, эквивалентна команде cd ~
и делает текущим каталогом домашний каталог пользователя.
Информация о каталоге | Создание каталогов |