4.7. Смена каталога с помощью команды cd

Сменить рабочий каталог на другой очень легко, если известно, где вы находитесь (известен ваш текущий каталог) и где находится каталог, в который необходимо перейти.

Для смены каталога используется команда cd. Если вы введете эту команду без аргументов, вы попадете в свой домашний каталог; чтобы попасть в любой другой каталог, необходимо указать путь (pathname) к нему.

Вы можете использовать или абсолютный, или относительный путь. Абсолютный путь начинается от верха файловой системы, с корневого каталога /, также называемого просто корень (root), и продолжается до запрашиваемого каталога; относительный путь начинается от вашего текущего каталога, где бы он ни находился. Приведенное ниже дерево каталогов показывает, как работает команда cd.

/
/dir1
/dir1/dir2
/dir1/dir2/dir3

Если в данный момент вы находитесь в каталоге dir3 и хотите перейти в dir1, вам необходимо переместиться по дереву каталогов выше.

Если находясь в каталоге dir3 ввести команду

cd dir1 

появится сообщение об отсутствии такого каталога. Это происходит потому, что каталога dir1 действительно нет в каталоге dir3.

Чтобы подняться к каталогу dir1, наберите:

cd /dir1 

Это пример абсолютного пути. Он дает Linux команду начать с верха дерева каталогов (/) и спуститься до каталога dir1. Путь является абсолютным, если он начинается с /. В противном случае это относительный путь.

Использование абсолютного пути позволяет вам перейти в нужный каталог от корневого каталога /, но для этого надо знать и ввести полный путь до него. Использование относительных путей позволяет изменять каталог относительно текущего каталога, что бывает удобно, если вы переходите в каталог, который является подкаталогом текущего.

Команда cd .. сообщает системе о необходимости подняться на один уровень вверх относительно текущего каталога. Команда cd ../.. позволит подняться на два уровня.

Следующее упражнение поможет вам понять разницу между абсолютным и относительным путями. Находясь в своем домашнем каталоге, введите такой относительный путь:

cd ../../etc/X11

После выполнения этой команды вы должны оказаться в каталоге X11, который содержит конфигурационные файлы и каталоги системы X Window.

Командой cd вы дали системе указание:

  1. Подняться из каталога, в который вы попадаете при входе в систему (скорее всего, это каталог /home), на один уровень вверх в родительский каталог.

  2. Затем подняться в его родительский каталог (корневой каталог root, или /).

  3. Затем спуститься в каталог /etc/.

  4. Наконец, перейти в каталог X11/.

В данном случае использование абсолютного пути позволило бы вам попасть в каталог /etc/X11/ быстрее:

cd /etc/X11

Абсолютный путь начинается от корневого каталога (/) и опускается до каталога, указанного вами.

[Замечание]Замечание

Всегда следует знать, в каком каталоге вы находитесь, прежде чем задавать относительный путь до требуемого каталога или файла. Заметьте, что если вы указываете абсолютный путь к нужному файлу или каталогу, то знать текущий каталог совершенно необязательно. Если вы точно не знаете, где находитесь, введите команду pwd, и полный путь до текущего каталога будет выведен на экран, что поможет вам ориентироваться при задании относительного пути для перехода в другие каталоги.

Команда cd имеет множество опций, описание которых вы найдете в man-странице (наберите в командной строке man cd). В Табл. 4.2, Примеры использования команды cd приведены примеры использования команды cd.

КомандаФункция
cdВозвращает вас в ваш домашний каталог
cd ~Также возвращает вас в ваш домашний каталог
cd /Переносит в корневой каталог
cd /rootПереносит в домашний каталог пользователя root, или суперпользователя, чья учетная запись создается при установке системы; для доступа к этому каталогу вы должны быть суперпользователем
cd /homeПереносит в каталог home, где обычно находятся каталоги всех пользователей, существующих в системе
cd ..Перемещает на один уровень вверх
cd ~другой_пользователь Перемещает в домашний каталог другого пользователя при условии, что этот пользователь дал вам соответствующие права
cd /dir1/subdirНезависимо от того, в каком каталоге вы находитесь, этот абсолютный переход переместит вас в каталог subdir, который является подкаталогом каталога dir1
cd ../../dir3/dir2Этот относительный путь сначала переместит вас на два уровня вверх, затем в каталог dir3, а затем в каталог dir2

Таблица 4.2. Примеры использования команды cd

Теперь, когда вы знаете, как перейти из одного каталога в другой, давайте посмотрим, что произойдет, если попытаться перейти в домашний каталог пользователя root (суперпользователя). Введите:

cd /root

Если вы не вошли в систему как суперпользователь, вам не удастся перейти в этот каталог.

Запрет доступа к файлам суперпользователя и других пользователей — один из способов предотвращения случайного или злонамеренного вмешательства в систему. За более подробной информацией обратитесь к Разд. 4.16, Владельцы и права доступа.

Чтобы попасть в каталог суперпользователя, используйте команду

su -
[Подсказка]Подсказка

Команда su означает подстановку пользователя и позволяет вам временно стать в системе другим пользователем. Если вы вводите просто su и затем нажимаете клавишу [Enter], вы становитесь root'ом (еще вас можно будет назвать суперпользователем), оставаясь при этом в вашем домашнем окружении (в вашем пользовательском домашнем каталоге). А если вы вводите su -, становитесь суперпользователем и попадаете в окружение суперпользователя, как если бы вы вошли в систему, используя имя и пароль root'а.

Как только вы введете пароль суперпользователя, командная строка изменится и будет выглядеть примерно так:

[root@localhost root]$

Закончив выполнение задач, для которых необходимы права суперпользователя, наберите в командной строке exit — вы вернетесь к своему профилю пользователя.