Сменить рабочий каталог на другой очень легко, если известно, где вы находитесь (известен ваш текущий каталог) и где находится каталог, в который необходимо перейти.
Для смены каталога используется команда 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
вы дали системе указание:
Подняться из каталога, в который вы попадаете при входе в систему (скорее
всего, это каталог
/home
), на один уровень вверх в родительский каталог.
Затем подняться в его родительский каталог (корневой каталог root, или
/
).
Затем спуститься в каталог /etc/
.
Наконец, перейти в каталог X11/
.
В данном случае использование абсолютного пути позволило бы вам попасть
в каталог /etc/X11/
быстрее:
cd /etc/X11
Абсолютный путь начинается от корневого каталога (/) и опускается до каталога, указанного вами.
Замечание | |
---|---|
Всегда следует знать, в каком каталоге вы находитесь, прежде чем
задавать относительный путь до требуемого каталога или файла.
Заметьте, что если вы указываете абсолютный путь к нужному файлу
или каталогу, то знать текущий каталог совершенно необязательно.
Если вы точно не знаете, где находитесь, введите команду
|
Команда 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 -
Подсказка | |
---|---|
Команда |
Как только вы введете пароль суперпользователя, командная строка изменится и будет выглядеть примерно так:
[root@localhost root]$
Закончив выполнение задач, для которых необходимы права суперпользователя,
наберите в командной строке exit
— вы вернетесь к своему профилю пользователя.