Материал предоставлен http://it.rfet.ru

Перемещение по дереву каталогов

Пользователь может работать с файлами не только в своем домашнем каталоге, но и в других каталогах. В этом случае будет удобно сменить текущий каталог, т. е. “переместиться” в другую точку файловой системы. Для смены текущего каталога командной оболочки используется команда 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. Переход в родительский и в домашний каталог

При помощи символа ~ можно ссылаться и на домашние каталоги других пользователей: ~имя пользователя. В примере 4.8 Иван перешел в домашний каталог Гончарова с помощью команды cd ~shogun. Команда cd, поданная без параметров, эквивалентна команде cd ~ и делает текущим каталогом домашний каталог пользователя.

Информация о каталогеСоздание каталогов