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 — вы вернетесь к своему профилю пользователя.
Команда cd Linux
При работе в терминале все команды привязываются к текущей папке. В ней будут создаваться файлы, если не был указан точный адрес, в ней же могут создаваться временные файлы. Да и просто адресовать файлы команде намного удобнее из текущей папки, просто указав имя файла, а не полный путь в файловой системе.
По умолчанию, в качестве текущей папки используется домашняя, но для большего удобства нам приходится часто менять ее на другую. Для этого существует команда cd linux. В этой небольшой статье мы рассмотрим как использовать эту команду и какие у нее есть возможности.
Команда cd Linux
Перед тем как мы перейдем к работе с утилитой, давайте рассмотрим ее синтаксис и основные опции. Строго говоря, это вообще никакая не утилита. Ее нет в файловой системе. Это встроенная команда Bash и меняет текущую папку только для оболочки, в которой выполняется. Вот основной синтаксис команды:
$ cd опции папка_назначения
Опций всего две, это -P и -L. Они влияют на то, как будут обрабатываться символы возврата в предыдущую директорию и символические ссылки:
- -P — позволяет следовать по символическим ссылкам перед тем, как будут обработаны все переходы «..»;
- -L — переходит по символическим ссылкам только после того, как были обработаны «..»;
- -e — если папку, в которую нужно перейти не удалось найти — выдает ошибку.
Дальше нужно указать директорию, в которую следует перейти. Если этого не сделать, а вызвать cd без параметров, то рабочей папкой будет выбран ваш домашний каталог. А теперь давайте рассмотрим несколько примеров работы с cd linux.
Использование cd в linux
Я не буду здесь описывать какими бывают пути в Linux. Мы рассматривали эту тему в отдельной статье. По умолчанию, в качестве рабочего каталога используется домашняя папка пользователя. Давайте сначала перейдем в одну из подпапок домашней папки:
Домашняя папка обозначается как
/. Поэтому следующая команда выполнит аналогичное действие:
Правда, здесь есть преимущество. В первой команде используется относительный путь, тогда как вторая правильно выполнится из любой папки. Теперь переместимся в папку /usr/lib относительно корня:
С помощью символа черты «-» вы можете вернуться в предыдущую папку:
Используя двойную точку «..» можно перейти в родительский каталог:
Вы можете использовать несколько блоков с точками для перемещения на несколько уровней вверх:
Как уже говорилось, если не передать папку, в которую нужно перейти, будет открыта домашняя папка:
Аналогичный результат выдаст команда:
Для упрощения перехода по папкам можно использовать символ звездочки. Правда, автодополнение сработает только если на указанные символы будет начинаться только одна папка.
Кроме cd, есть еще две дополнительные команды, это pushd и popd. Можно сказать, что простая реализация стека для рабочих каталогов. Когда вы выполняете pushd, текущий рабочий каталог сохраняется в памяти, а на его место устанавливается указанный:
Теперь наберите popd, чтобы вернуться в предыдущий каталог:
Это реализация стека, поэтому количество каталогов в памяти не ограничено двумя. Вы можете перемещаться по такому количеству папок, как вам нужно.
Наконец, еще один момент, если вам нужно перейти в каталог, в имени которого есть пробелы, используйте символ экранирования обратный слэш «\» или просто возьмите его имя в скобки:
/Загрузки/новая\ папка/
$ cd «
Выводы
Теперь вы знаете зачем нужна команда cd Linux, а также как максимально эффективно ею пользоваться при работе в терминале. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!