Поиск по сайту:

Как определить базовый каталог для команды «cd» в Linux


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

Например, я регулярно работаю с несколькими каталогами в каталоге «Документы», который находится в домашнем каталоге. Я хотел бы иметь возможность перейти к папкам в каталоге Documents, не вводя сначала cd Documents (или не указывая полный путь к файлу).

Звучит запутанно? Вот пример. Допустим, у меня есть папка с именем htgarticles внутри папки «Документы», и я хочу получить к ней доступ через терминал.

Мы начнем с открытия окна терминала и ввода команды pwd (распечатать рабочий каталог), чтобы показать, что текущий каталог действительно является нашим домашним каталогом, /home/lori.

Если мы введем следующую команду, мы получим сообщение об ошибке, говорящее, что такого файла или каталога нет. Это потому, что мы не в каталоге Documents.

cd htgaricles

Чтобы попасть в каталог htgarticles, сначала нам нужно перейти в каталог Documents.

cd Documents/

Затем нам нужно перейти в каталог htgarticles.

cd htgarticles/

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

cd ~/Documents/htgarticles

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

В нашем примере мы хотим установить каталог Documents в качестве базового каталога, потому что все каталоги, с которыми я работаю, например htgarticles, находятся внутри каталога Documents. Итак, мы вводим следующую команду в командной строке и нажимаем Enter.

export CDPATH=~/Documents/

ПРИМЕЧАНИЕ. В приведенной выше команде export должен быть весь в нижнем регистре, а CDPATH должен быть в верхнем регистре. Замените ~/Documents/ на путь к любому родительскому каталогу, содержащему подкаталоги, с которыми вы чаще всего работаете.

Теперь, все еще находясь в нашей домашней папке, мы можем запустить cd htgarticles и сразу перейти к ~/Documents/htgarticles.

Если вы хотите автоматически устанавливать определенный каталог в качестве базового каждый раз, когда вы открываете окно терминала, вы можете сделать это, отредактировав файл .bashrc. Файл .bashrc — это сценарий, который запускается каждый раз, когда вы открываете окно терминала, и вы можете добавлять в него любые команды, которые хотите. Итак, мы можем добавить команду export CDPATH, чтобы установить определенный каталог в качестве родительского каталога для каждого окна терминала.

Для этого вернитесь в свой домашний каталог, если вы еще этого не сделали. Затем введите следующую команду, чтобы открыть файл .bashrc. Вы можете использовать любой текстовый редактор, но в нашем примере мы будем использовать gedit.

gedit .bashrc

Прокрутите до конца файла .bashrc и добавьте следующую команду.

export CDPATH=~/Documents/

Снова замените ~/Documents/ на родительский каталог, содержащий подкаталоги, с которыми вы работаете чаще всего.

Вы можете добавить комментарий над командой, чтобы запомнить, что она делает. Просто поставьте знак номера (#) в начале строки, а затем любое описание, которое вы хотите добавить.

Нажмите \Сохранить.

Закройте gedit (или любой другой текстовый редактор, который вы используете), нажав \X в верхнем левом углу окна.

Команда, которую вы только что добавили в файл .bashrc, не повлияет на текущий сеанс окна терминала. Вы должны закрыть текущее окно Терминала и открыть новое. Итак, введите exit в командной строке и нажмите Enter или нажмите кнопку «X» в верхнем левом углу окна. Затем нажмите Ctrl+Alt+T, чтобы открыть новое окно Терминала.

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

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

Если у вас есть один конкретный каталог, в котором вы работаете большую часть времени, вы также можете добавить команду в файл .bashrc, которая каждый раз будет открывать окно терминала для этого каталога.