Как использовать команду cd в Linux

5 февраля 2021 |

Как использовать команду cd в Linux

A graphic of a terminal window on a Linux laptop system. Фатмавати Ахмад Зэнури / Shutterstock

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

Команда, о которой вы редко думаете

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

В течение первого часа использования компьютера Linux вы узнаете, как использовать команду cd, включенную в Bash. и другие снаряды. Возможно, у вас уже был опыт использования его в другой операционной системе, и вам не нужно объяснять. Он меняет текущий рабочий каталог, верно? Что еще нужно знать?

Больше, чем вы думаете. Вот несколько советов, которые могут повысить вашу эффективность.

Стандартные операции с компакт-диском

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

Если мы находимся в домашнем каталоге, но хотим перейти в каталог, расположенный в / usr / lib / firefox / browser, а затем вернуться в домашний каталог, мы можем использовать следующие команды:

cd / usr / lib / firefox / browser / cd / home / dave

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

Например, введите в командной строке следующее:

cd / usr / lib / fire

Теперь нажмите Tab, и оболочка заполнит остальную часть каталога «firefox» за вас. Если вы добавите «/ b» к пути и снова нажмете Tab, к команде будет добавлен каталог «браузер».

Оболочка добавляет завершающую косую черту, чтобы вы могли повторить процесс завершения табуляции. Вот почему в первой команде есть завершающая косая черта. На втором нет ни одного, потому что тот был напечатан.

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

cd ~

Это примеры абсолютных путей, в которых вы указываете полный путь от корня файловой системы до целевого каталога до компакт-диска.

Ссылки на относительные пути из текущего рабочего каталога. В домашнем каталоге есть каталог под названием work. Вы можете использовать команду tree, чтобы увидеть дерево каталогов внутри рабочего каталога — просто введите следующее:

tree

Рабочий каталог содержит каталог с именем dev. В корневом каталоге файловой системы также есть каталог dev. Вы можете использовать ls с -d (каталог) для просмотра каждого из них. Параметр -hl (длинный список в удобном для чтения виде) указывает ls использовать удобные для чтения единицы для размеров каталогов и длинный список форматов.

Если вы набираете dev, оболочка предполагает, что вы имеете в виду «dev» в текущем каталоге. Чтобы заставить его смотреть на «dev» в корневом каталоге, просто добавьте косую черту в начале, чтобы представить корень файловой системы, как показано ниже:

ls -d dev -hl ls -d / dev -hl

В этом отношении команда cd ведет себя как ls. Если вы ссылаетесь на каталог как на dev, как показано ниже, предполагается, что вы имеете в виду каталог в рабочем каталоге:

cd dev

Без косой черты в начале, длиннее предполагается, что пути также начинаются с текущего рабочего каталога, как показано ниже:

cd dev / mobile / android

Изменение каталога с помощью двойной точки

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

Это перемещает вас на два каталога вверх в дереве каталогов. Если вы добавите в команду больше .., это позволит вам переместить произвольное количество уровней вверх по дереву каталогов.

Введите следующее:

cd .. cd ../ ..

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

alias .2 = «cd ../ ..»alias .3 =» cd ../../ .. «

Вы можете использовать их так же, как сами команды.

Чтобы псевдонимы согласовывались при перезагрузке компьютера, необходимо добавить их в файл .bashrc или .bash_aliases.

Легко переходить между двумя каталогами

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

В этом примере предположим, что вы находитесь в каталоге «c». Вы можете использовать cd для перехода в «четвертый» каталог. Затем вы можете использовать cd — для переключения между двумя каталогами.

Для этого введите следующее:

cd ../forth

cd —

cd —

Имя каталога, в который вы перемещаетесь, появляется перед тем, как вы перейдете в него.

Другой вид относительности

Оболочка использует текущий рабочий каталог в качестве «корневого» или базового каталога для относительных путей. Вы можете использовать переменную среды CDPATH, чтобы установить другое местоположение в качестве базового каталога для относительных путей. Если вы проводите большую часть своего времени в определенном разделе дерева файловой системы, это может сэкономить вам много нажатий клавиш (и времени) каждый день.

Введите следующее, чтобы сделать work / dev / projects базовым каталогом для относительных путей:

export CDPATH = / home / dave / work / dev / projects

Теперь каждый раз, когда вы используете команду dc, сначала проверяется местоположение в переменной среды CDPATH на соответствие имен каталогов. Если какой-либо из них соответствует цели, которую вы указали в команде cd, вы перемещаетесь в этот каталог.

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

Если ваш целевой каталог начинается с ведущей косой черты (/), что делает его абсолютным путем, среда CDPATH не повлияет на него. переменная.

Чтобы продемонстрировать это, мы вводим следующее:

cd c cd prolog cd / usr cd Далее

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

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

export CDPATH =.: / home / dave / work / dev / projects

Чтобы сделать ваши настройки постоянными, вы должны добавить их в файл конфигурации, например .bashrc.

Одна вещь, о которой нужно знать: если вы устанавливаете базу каталог, это также влияет на изменения каталога, выполняемые в сценариях. Чтобы избежать этого, вы можете использовать абсолютные пути в ваших скриптах или тест в вашем .bashrc файле при указании CDPATH, как показано ниже:

if test «$ {PS1 + set}», то CDPATH =.: / home / dave / work / dev / projects, fi

Выполняется проверка, чтобы увидеть, была ли установлена ​​переменная приглашения командной строки, $ PS1. Переменная среды CDPATH будет установлена ​​только в том случае, если тест пройдет успешно.

Использование shopt с cd

С помощью команды shopt вы можете установить определенные параметры для оболочки. Некоторые из них могут улучшить ваше использование компакт-дисков. Чтобы установить их, вы используете опцию -s (enable) вместе с shopt, чтобы передать ей имя опции.

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

В качестве примера, мы вводим следующее, чтобы установить параметр cdspell и неправильно написать «Desktop», чтобы увидеть, исправляет ли оболочка его для нас:

shopt -s cdspell cd Desktpo

Оболочка обнаружила ошибку, исправила ее и перешла в каталог «Desktop».

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

В качестве примера мы вводим следующее:

shopt -s autocd / usr / local / games / etc ~

Смотрите! Вы можете перемещаться по всей файловой системе, даже не используя cd!

Настройки, которые вы изменяете с помощью shopt, влияют только на интерактивные оболочки, а не на скрипты.

Коллекция компакт-дисков

Вероятно, вы не воспользуетесь всем этим. Однако, скорее всего, вы нашли здесь что-то интересное или полезное. В конце концов, все, что ускоряет или упрощает навигацию из командной строки, хорошо!

Как использовать команду cd в Linux


Напишите пару строк: