Смена директории в linux
Смените каталог легко, если вы знаете где вы находитесь в данный момент (ваш текущий каталог) и куда вы хотите отправиться. Каталог, в который вы хотите попасть, выше или ниже текущего?
Чтобы сменить каталог, выполните команду cd . Команда в таком виде перенесёт вас в ваш домашний каталог; чтобы перейти в другой каталог необходимо указать путь к нему.
Вы можете использовать абсолютные или относительные пути. Абсолютные пути указываются от верхнего каталога / (называемого корнем) до указанного каталога; относительные пути указываются от текущего каталога, где бы он не находился. Дерево, показанное ниже, приведено в качестве примера, помогающего понять команду cd .
/ directory1 directory2 directory3
Если вы находитесь в directory3 и хотите перейти в directory1 , вы должны подняться в дереве каталогов выше.
находясь в каталоге directory3 , вы получите сообщение об ошибке, сообщающее о том, что нет такого каталога. Это происходит потому что, действительно, нет каталога directory1 в каталоге directory3 .
Чтобы подняться к каталогу directory1 , вы должны ввести:
Это абсолютный путь. Он указывает Linux начать сверху и опуститься в каталог directory1 .
Запомните, абсолютные пути перенесут вас В любой каталог ИЗ любого, а относительные пути, перенесут вас в каталоги, расположенные ниже текущего.
Рисунок 10-3. Абсолютные пути указывают полный путь
Как отличить относительный путь от абсолютного? | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Проверьте, где вы находитесь | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Команда | Функция |
---|---|
cd | переносит вас в ваш домашний каталог |
cd | также переносит вас в ваш домашний каталог |
cd / | переносит вас в корневой каталог всей системы |
cd /root | переносит вас в домашний каталог пользователя root, или супер-пользователя, учётной записи, созданной во время установки системы |
cd /home | переносит вас в каталоге home, в котором находятся каталоги пользователей |
cd .. | переносит вас на один уровень выше |
cd otheruser | переносит вас в домашний каталог пользователя otheruser , если только пользователь otheruser дал вам соответствующие разрешения |
cd /dir1/subdirfoo | Вне зависимости от того, где вы находитесь, этот абсолютный путь перенесёт вас прямо в каталог subdirfoo , подкаталога, вложенного в dir1 |
cd ../../dir3/X11 | Этот относительный путь сначала поднимет вас на два уровня выше, затем спустит в dir3, и наконец, в каталог X11. |
Теперь когда вы начали понимать как менять каталоги, посмотрите, что произойдет, если вы перейдёте в домашний каталог пользователя root (суперпользователя). Введите:
Если вы не зарегистрированы под именем root, при обращении к этому каталогу вы получите сообщение «в доступе отказано».
Запрещая доступ к учётным записям root и других пользователей (или их домашним каталогам), ваша система Linux защищается от случайного или преднамеренного повреждения. Обратитесь к разделу Владение и разрешения
Чтобы перейти в каталог root, воспользуйтесь командой su . Введите эту последовательность команд:
[newuser@localhost newuser]$ su Password: ваш пароль root [root@localhost newuser]# cd /root [root@localhost /root]#Как только вы введете правильный пароль root, вы заметите, что ваше приглашение изменилось и теперь в нём отмечено ваше звание суперпользователя, в начале приглашения учётной записи root отображается символ «#» (как показано на Рисунке 10-5 ).
Рисунок 10-5. Превращение в root
Теперь, если вы выполните cd для перехода к домашнему каталогу пользователя root, вы получите к нему доступ.
Завершив работу под именем root, просто введите в приглашении exit .
[root@localhost /root]# exit exit [newuser@localhost newuser]$Смена директории в linux
Сменить рабочий каталог на другой очень легко, если известно, где вы находитесь (известен ваш текущий каталог) и где находится каталог, в который необходимо перейти.
Для смены каталога используется команда cd . Если вы введете эту команду без аргументов, вы попадете в свой домашний каталог; чтобы попасть в любой другой каталог, необходимо указать путь (pathname) к нему.
Вы можете использовать или абсолютный, или относительный путь. Абсолютный путь начинается от верха файловой системы, с корневого каталога / , также называемого просто корень (root), и продолжается до запрашиваемого каталога; относительный путь начинается от вашего текущего каталога, где бы он ни находился. Приведенное ниже дерево каталогов показывает, как работает команда cd .
Если в данный момент вы находитесь в каталоге dir3 и хотите перейти в dir1 , вам необходимо переместиться по дереву каталогов выше.
Если находясь в каталоге dir3 ввести команду
появится сообщение об отсутствии такого каталога. Это происходит потому, что каталога dir1 действительно нет в каталоге dir3 .
Чтобы подняться к каталогу dir1 , наберите:
Это пример абсолютного пути. Он дает Linux команду начать с верха дерева каталогов ( / ) и спуститься до каталога dir1 . Путь является абсолютным, если он начинается с / . В противном случае это относительный путь.
Использование абсолютного пути позволяет вам перейти в нужный каталог от корневого каталога / , но для этого надо знать и ввести полный путь до него. Использование относительных путей позволяет изменять каталог относительно текущего каталога, что бывает удобно, если вы переходите в каталог, который является подкаталогом текущего.
Команда cd .. сообщает системе о необходимости подняться на один уровень вверх относительно текущего каталога. Команда cd ../.. позволит подняться на два уровня.
Следующее упражнение поможет вам понять разницу между абсолютным и относительным путями. Находясь в своем домашнем каталоге, введите такой относительный путь:
После выполнения этой команды вы должны оказаться в каталоге X11 , который содержит конфигурационные файлы и каталоги системы X Window.
Командой cd вы дали системе указание:
Подняться из каталога, в который вы попадаете при входе в систему (скорее всего, это каталог /home ), на один уровень вверх в родительский каталог.
Затем подняться в его родительский каталог (корневой каталог root, или / ).
Затем спуститься в каталог /etc/ .
Наконец, перейти в каталог X11/ .
В данном случае использование абсолютного пути позволило бы вам попасть в каталог /etc/X11/ быстрее:
Абсолютный путь начинается от корневого каталога (/) и опускается до каталога, указанного вами.
Всегда следует знать, в каком каталоге вы находитесь, прежде чем задавать относительный путь до требуемого каталога или файла. Заметьте, что если вы указываете абсолютный путь к нужному файлу или каталогу, то знать текущий каталог совершенно необязательно. Если вы точно не знаете, где находитесь, введите команду pwd , и полный путь до текущего каталога будет выведен на экран, что поможет вам ориентироваться при задании относительного пути для перехода в другие каталоги.
Команда cd имеет множество опций, описание которых вы найдете в man-странице (наберите в командной строке man cd ). В Табл. 4.2, Примеры использования команды cd приведены примеры использования команды cd .
другой_пользователь
Таблица 4.2. Примеры использования команды cd
Теперь, когда вы знаете, как перейти из одного каталога в другой, давайте посмотрим, что произойдет, если попытаться перейти в домашний каталог пользователя root (суперпользователя). Введите:
Если вы не вошли в систему как суперпользователь, вам не удастся перейти в этот каталог.
Запрет доступа к файлам суперпользователя и других пользователей — один из способов предотвращения случайного или злонамеренного вмешательства в систему. За более подробной информацией обратитесь к Разд. 4.16, Владельцы и права доступа.
Чтобы попасть в каталог суперпользователя, используйте команду
Команда su означает подстановку пользователя и позволяет вам временно стать в системе другим пользователем. Если вы вводите просто su и затем нажимаете клавишу [Enter] , вы становитесь root’ом (еще вас можно будет назвать суперпользователем), оставаясь при этом в вашем домашнем окружении (в вашем пользовательском домашнем каталоге). А если вы вводите su — , становитесь суперпользователем и попадаете в окружение суперпользователя, как если бы вы вошли в систему, используя имя и пароль root’а.
Как только вы введете пароль суперпользователя, командная строка изменится и будет выглядеть примерно так:
Закончив выполнение задач, для которых необходимы права суперпользователя, наберите в командной строке exit — вы вернетесь к своему профилю пользователя.