Команда 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, а также как максимально эффективно ею пользоваться при работе в терминале. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!
Команда cd («изменить каталог») используется для изменения текущего рабочего каталога в Linux и других Unix-подобных операционных системах. Это одна из самых основных и часто используемых команд при работе в терминале Linux.
В этом руководстве мы покажем вам, как использовать команду cd для навигации по дереву каталогов вашей системы.
cd Command
Мы рассмотрим встроенную в 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:
Перейдите в домашний каталог
), как показано ниже:
Например, если вы хотите перейти в каталог Downloads , который находится внутри вашего домашнего каталога, вы должны ввести:
Вы также можете перейти в домашний каталог другого пользователя, используя следующий синтаксис:
Каталоги с пробелами в именах
Если в имени каталога, в который вы хотите перейти, есть пробелы, вы должны либо заключить путь в кавычки, либо использовать символ обратной косой черты ( ), чтобы избежать пробела:
Выводы
К настоящему времени вы должны хорошо понимать, что такое текущий рабочий каталог и как использовать команду cd для перехода в другой каталог.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Текущая рабочая директория — это директория, в которой в текущий момент работает пользователь.
Чтобы была возможность перехода в директорию, пользователь должен обладать правами доступа на выполнение (execute) данной директории.
Для вывода текущей рабочей директории используется команда pwd.
Синтаксис
Опции
Переходить по символическим ссылкам. Данное поведение используется по умолчанию. Разыменовывать символические ссылки. В данном случае, если осуществляется переход на символическую ссылку, которая указывает на директорию, то в результате команда cd изменит текущую рабочую директорию на директорию, указанную в качестве параметра (то есть ссылка будет разыменована). Выйти с ошибкой, если директория, в которую осуществляется переход, не найдена.Примеры использования команды cd
Переход в другую директорию
Перейдем в директорию mydir . В данном случае мы переходим в директорию, которая находится внутри текущей рабочей директории.
Или можно использовать следующую эквивалентную команду:
Перейдем в директорию /etc/apache2 . В данном случае используется абсолютный путь.
Перейдем в директорию, находящуюся в родительской директории (на уровень выше):
Переход в директорию, находящуюся на 2 уровня выше по дереву директорий:
Переход по символической ссылке
Предположим mylink1 это символическая ссылка на директорию mydir1
Если команде cd в качестве аргумента указать ссылку mylink1 , то текущая рабочая директория изменится на mylink1
Переход по символической ссылке с разыменованием
Предположим mylink1 это символическая ссылка на директорию mydir1
Воспользуемся опцией -P , чтобы при изменении директории, символическая ссылка была заменена на реальный путь, на который она указывает.
Переход в домашнюю директорию
Домашняя директория текущего пользователя обозначается значком тильда
. Для перехода в домашнюю директорию используется команда:
Переход в директорию, содержащую пробелы в имени
Если директория содержит пробелы, то ее имя (путь) можно заключить в кавычки:
При работе с командной строкой Линукс все команды привязываются к текущему каталогу. По умолчанию при входе в консоль, он становится домашний и находится по адресу: /home/user. Где User - это имя пользователя. В нем могут создаваться, удаляться файлы, если не указан полный путь.
Просто написать название команды намного удобнее, чем писать путь.
Можно использовать при работе с директивой "cd" абсолютный или относительный путь. Абсолютный идет от самого верха, корня /. Относительный приравнивается к текущему каталогу. По умолчанию к домашнему.
/etc/network/interfaces - абсолютный.
interfaces - относительный. Подразумевается, что мы уже находимся в директории /etc/network.
Синтаксис
cd аргументы директория назначения
Вот что нам говорит справка --help.
Результат cd --help
- -L. Позволяет переходить по символическим ссылкам, после обработки всех переходов.
- -P. Переходит по символическим ссылка перед обработкой всех переходов.
- -e. Выдает ошибку, если каталога не удалось найти.
Символические ссылки или symbolic link - это документ, который является ссылкой на другой документ. Под документом понимается файл или catalog.
Далее необходимо ввести адрес на который нужно перейти.
Вопрос в том, как же узнать тот самой адрес папки, в которую нужно перейти?
Без помощи утилиты ls не обойтись. Вводим "ls".
Примеры
Введем команду без аргументов. Попадем в домашний каталог.
символ означает домашний каталог.
Теперь перейдем в папку, которая называется по-русски "Музыка".
Во второй команде мы использовали относительный путь. Мы переместились в папку Музыка, потому что находились в директории /home, а папка в /home/Музыка.
Перейдем в директорию log. Для этого укажем полный адрес.
Символьная черта "-" поможет вернуться в предыдущую папку. Если делать сравнение, то это похоже на кнопку назад в браузере. Когда кнопка возвращает на предыдущую страницу.
Переход на уровень вверх - две точки "..".
Перейдем в Документы.
Переход по символьной ссылке. Предположим, что link1 это символьная ссылка на link2. В качестве аргумента указываем link1, то наш путь изменится на link1.
Переход с пробелами. Предположим, что нам нужно перейти в " Семья " с двумя пробелами, один спереди, другой сзади. Для этого нам помогут одинарные кавычки. При этом в кавычках нужно поставить два пробела, как в примере один спереди, другой сзади.
В итоге можно сказать, что "cd" это простая нужная директива, с небольшим количеством опций. Вместо того чтобы писать полный адрес директории, можно один раз воспользоваться утилитой "cd".
Введение
В этом руководстве вы узнаете, как перемещаться по файловой системе с помощью команды cd в Linux.Ваша система Linux расположена в виде дерева с каталогами на самом верху и различными другими каталогов за ним.
Общие папки в директории перечислены ниже:
Вы можете узнать, как все эти папки используются для прочитав руководство, показывая 10 существующих команд для навигации по файловой системе, используя Linux .
Основные способы навигации при использовании команды cd
Представьте, что у вас есть следующие папки в вашей домашней директории:
- Username
- My_picture
- Family Photos
- Holiday Photos
- New_Year Photos
- New_Year 2016
- New_Year 2015
- Techno
- jungle
- Rock
При открытии окна терминала вы, как правило, будете находится в вашей домашней папке. Вы можете подтвердить это с помощью команды pwd.
Результаты будут что-то вроде /home/username.
Вы всегда можете вернуться к папке /home/username, набрав тильду после команды cd:
Представьте, что вы находитесь в папке /home/username и вы хотите перейти в папку New_Year Photos.
Вы можете сделать это по-разному.
Например, вы можете запустить серию команд cdследующим образом:
Вы можете также использовать обратную косую черту вместо кавычек, чтобы избежать места в команде. Например:
Вместо того чтобы использовать две команды, которые вы могли бы просто использовать одной следующим образом:
Если вы не были в домашней папке, и вы были на гораздо более высоком уровне папки, такие как / вы можете сделать одно из целого ряда команд.
Читать Лучшие внешние жесткие диски, совместимые с LinuxМожно указать полный путь, выглядит следующим образом:
Вы можете также использовать тильду, чтобы добраться до домашней папки, а затем выполнить команду следующим образом:
Другой способ заключается в использовании тильды в одной команде следующим образом:
Что это означает, что это не имеет значения, где вы находитесь в файловой системе вы можете попасть в любую папку ниже домашней папки, используя тильду
/ в качестве первого символа в пути.
Это помогает при попытке перейти из одной папки низкого уровня к другой. Например представьте, что вы находитесь в папке New_Year Photos и теперь вы хотите перейти к папке Techno, которая находится в папке Music.
Вы можете сделать следующее:
Две точки означают, что вы хотите перейти на каталог вверх. Если вы хотите перейти через две папки, то вы можете использовать следующий синтаксис:
Вы могли бы использовать все операции в команде cd следующим образом:
Несмотря на то, что это работает, намного лучше использовать следующий синтаксис, поскольку это экономит вам приходится работать:
Символические ссылки
Если у вас есть символические ссылки то стоит знать о нескольких переключателей, которые определяют поведение команды cd, которые идут вслед за ними.
Представьте себе, что вы создали символическую ссылку New_Year Photos на папку под названием New_Year_Photos. Это позволит сэкономить необходимость использовать обратную косую черту при переходе к папке New_Year Photos. (Переименование папки, вероятно, будет лучшей идеей).
Структура теперь выглядит следующим образом:
- Username
- My_picture
- Family Photos
- Holiday Photos
- New_Year Photos
- New_Year_Photos
- New_Year 2016
- New_Year 2015
- Techno
- jungle
- Rock
Папка New_Year_Photos не папка вообще. Это ссылка, указывающая на папку New_Year Photos.
Если вы запустите команду cd против символической ссылки, которая указывает на папку, вы сможете увидеть все файлы и папки в этой папке.
Согласно странице руководства для cd, по умолчанию должны следовать символической ссылки.
Например посмотрите на команду ниже
Если вы запустите команду pwd, после выполнения этой команды вы получите следующий результат.
В силу этого поведения, вы можете использовать следующую команду:
Если вы хотите использовать физический путь, то для этого вам необходимо ввести следующую команду:
Теперь, когда вы запустите команду pwd вы увидите следующие результаты:
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Читайте также:
- My_picture
- My_picture