1 авг. 2008 г.

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

Комментариев нет: