Как сменить рабочую директорию linux
Перейти к содержимому

Как сменить рабочую директорию linux

  • автор:

Команда cd в Linux (Изменить каталог)

Команда cd («изменить каталог») используется для изменения текущего рабочего каталога в Linux и других Unix-подобных операционных системах. Это одна из самых основных и часто используемых команд при работе в терминале Linux.

Текущий рабочий каталог — это каталог (папка), в котором в данный момент работает пользователь. Каждый раз, когда вы взаимодействуете с командной строкой, вы работаете в каталоге.

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

cd Command

cd — это встроенная оболочка, и ее поведение может немного отличаться от оболочки к оболочке. Он использует переменные среды оболочки для определения необходимой информации для его выполнения.

Мы рассмотрим встроенную в Bash версию cd .

Синтаксис команды cd следующий:

Команда принимает только две опции, которые используются редко.

  • −L , переходить по символическим ссылкам . По умолчанию cd ведет себя так, как если бы указана опция -L .
  • −P , не переходите по символическим ссылкам. Другими словами, когда эта опция указана, и вы пытаетесь перейти к символической ссылке, которая указывает на каталог, cd перейдет в каталог.

В простейшей форме, при использовании без аргументов, cd перенесет вас в ваш домашний каталог.

При навигации по файловой системе вы можете использовать клавишу Tab для автозаполнения имен каталогов. Добавление косой черты в конце имени каталога необязательно.

Чтобы переключиться в каталог, у вас должны быть разрешения на выполнение для этого каталога.

Команда pwd позволяет узнать, в каком каталоге вы сейчас находитесь.

Абсолютные и относительные имена путей

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

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

Вы также можете перейти в тот же каталог, используя его абсолютный путь:

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

Родительский каталог

В Unix-подобных операционных системах текущий рабочий каталог представлен одной точкой ( . ). Две точки ( .. ), одна за другой, представляют родительский каталог или, другими словами, каталог, расположенный непосредственно над текущим.

Если вы наберете cd . , вы перейдете в текущий каталог или, другими словами, команда ничего не сделает.

Предположим, вы находитесь в каталоге /usr/local/share , чтобы переключиться в каталог /usr/local (на один уровень выше текущего каталога), вы должны ввести:

Чтобы переместиться на два уровня вверх в каталог /usr (родительский родитель), вы можете запустить следующее:

Другой пример. Допустим, вы находитесь в каталоге /usr/local/share и хотите перейти в каталог /usr/local/src . Вы можете сделать это, набрав:

Перейти в предыдущий каталог

Чтобы вернуться в предыдущий рабочий каталог, передайте символ тире ( — ) в качестве аргумента команды cd:

Перейдите в домашний каталог

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

), как показано ниже:

Например, если вы хотите перейти в каталог Downloads , который находится внутри вашего домашнего каталога, вы должны ввести:

Вы также можете перейти в домашний каталог другого пользователя, используя следующий синтаксис:

Каталоги с пробелами в именах

Если в имени каталога, в который вы хотите перейти, есть пробелы, вы должны либо заключить путь в кавычки, либо использовать символ обратной косой черты ( ), чтобы избежать пробела:

Выводы

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Как сменить рабочую директорию в Линукс, курсы администратора Linux Варшава

Уметь работать в командной строке Линукс — важная часть подготовки любого IP-специалиста. Стоит отметить, что этот способ управления имеет множество преимуществ перед графическим интерфейсом. Однако при этом куда более требователен к уровню знаний пользователя. То есть, без точного понимания вы не сможете интуитивно пользоваться всеми функциями. Сегодня мы расскажем о том, как сменить рабочую директорию в командной строке. С этого начинаются многие курсы администратора Linux Варшава.

Команда для смены рабочей директории в Линукс, курсы администратора Linux Варшава

Прежде всего, давайте разберемся в том, какая команда предусмотрена разработчиками. Чтобы изменять директорию, в которой в данный момент работает пользователь. И эта команда крайне проста — это cd (от английского change directory). Таким образом, как учат любые курсы Linux онлайн Варшава, в командную строку нужно ввести команду cd. И через пробел добавить аргумент в виде названия новой директории.

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

Допустим, что вы хотите перейти в каталог, который находится на один уровень выше текущего. И при этом не знаете его точного названия и пути к нему. Тогда в качестве аргумента команды cd просто добавьте две точки — «..». В UNIX-подобных операционных системах (а значит — и в Linux) данная комбинация означает «на один каталог выше»

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

При этом по умолчанию каждый пользователь начинает работу в своем рабочем каталоге. Чтобы вернуться к нему — введите команду cd и символ «

» в качестве аргумента. Также с этого символа можно начинать относительный путь к нужному подкаталогу. Для лучшего понимания работы с командой рекомендуем пройти курс обучения Linux Варшава. В рамках которого предусмотрена практика в виртуальной среде, имитирующей командную строку Ubuntu.

Как просмотреть содержимое директории в Linux

Конечно же, невозможно пользоваться командой cd вслепую, не зная, что находится в каталоге. Однако любые вводные учебные курсы Linux Варшава научат вас использовать еще одну команду — ls (англ. list). Если просто ввести ее в командную строку — вы увидите список файлов и каталогов в текущем каталоге. Если это позволяют возможности терминала — разные типы содержимого будут отличаться по цвету.

Чтобы узнать больше о содержимом — просто добавьте к команде ls опцию -l. В таком случае утилита перейдет в подробный режим отображения и будет выводить построчно информацию о содержимом каталога:

  • тип содержимого (каталог, файл);
  • разрешения для владельца, членов его группы пользователей и прочих пользователей (чтение, запись, исполнение);
  • размер содержимого;
  • владелец и группа владельцев файла;
  • дата создания / изменения.

Теперь вы знаете, как ориентироваться в файловой системе Линукс. И как менять рабочую директорию, отображать ее содержимое и т.п. Хотите знать больше? Приглашаем вас учиться на платформе SEDICOMM University!

Как сменить рабочую директорию linux

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

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

Примеры использования

Переход в произвольную директорию

Для того, чтобы перейти в интересующую вас директорию, достаточно ввести в качестве аргумента cd полный путь к ней:

Если же нужно перейти в поддиректорию текущей директории любого уровня вложенности, следует использовать символ точки. Данная команда аналогична предыдущей при условии нахождения в домашней директории (/home/alex):

Переход в родительскую директорию

Следующая команда позволяет переместиться на уровень выше в дереве директорий:

Переход в домашнюю директорию пользователя

Для перехода из текущей директории в домашнюю директорию пользователя, путь к которой хранится в переменной окружения $HOME, достаточно воспользоваться следующей командой:

Вызов cd без аргументов приводит к аналогичному результату:

Переход в последнюю посещенную директорию

Для того, чтобы вернуться в ранее посещенную директорию, путь к которой хранится в переменной окружения $OLDPWD, достаточно воспользоваться следующей командой:

Получение информации о текущей директории

Для того, чтобы узнать путь к текущей директории, следует воспользоваться командой pwd:

Переход в директорию с пробелами и специальными символами в имени

Для ссылки на директории с символом # или пробелами в именах достаточно поместить имя этой директории в скобки:

Смена директории в linux

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

Чтобы сменить каталог, выполните команду cd . Команда в таком виде перенесёт вас в ваш домашний каталог; чтобы перейти в другой каталог необходимо указать путь к нему.

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

/ directory1 directory2 directory3

Если вы находитесь в directory3 и хотите перейти в directory1 , вы должны подняться в дереве каталогов выше.

находясь в каталоге directory3 , вы получите сообщение об ошибке, сообщающее о том, что нет такого каталога. Это происходит потому что, действительно, нет каталога directory1 в каталоге directory3 .

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

Это абсолютный путь. Он указывает Linux начать сверху и опуститься в каталог directory1 .

Запомните, абсолютные пути перенесут вас В любой каталог ИЗ любого, а относительные пути, перенесут вас в каталоги, расположенные ниже текущего.

Рисунок 10-3. Абсолютные пути указывают полный путь

Путь является абсолютным, если первый символ в нём / ; в противном случае это относительный путь.

Рисунок 10-4. Относительные пути указываются относительно текущего расположения

Ниже приведено упражнение с относительными и абсолютными путями. В вашем домашнем каталоге введите относительный путь:

Команда cd .. указывает системе подняться на один уровень выше текущего каталога. Очевидно, команда cd ../.. перенесёт вас выше на два каталога.

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

Взгляните на последнюю команду cd . Вы должны указать системе:

Подняться на один уровень выше к родительскому каталогу вашего домашнего каталога (вероятно, это будет /home )

Затем поднимитесь к родительскому каталога текущего (вероятно, вы окажетесь в / )

Затем спуститесь к каталогу etc

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

Укажите абсолютный путь, чтобы быстрее перейти к каталогу /X11 . Введите:

Как отличить относительный путь от абсолютного?

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

Таблица 10-2. Параметры команды cd

Проверьте, где вы находитесь
Команда Функция
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 — вы вернетесь к своему профилю пользователя.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *