31

Например, я всегда иду по этому пути:

/ Пользователь / что-то / somefolders / где-то

но я не хочу печатать

CD / пользователь / что-то / Somefolders / где-то

в терминале все время, могу ли я иметь какую-то короткую руку для этого? например, могу ли я сделать что-то вроде

cd commandPlace

заменить путь?

6 ответов6

39

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

Псевдонимы

alias somedir='cd /home/john/www/something/'

Затем вы можете набрать somedir для перехода в этот каталог. Добавьте это к вашему .bashrc .

Символические ссылки

ln -s /long/path/to/some/other/folder /shortcut

Это создаст файл в /shortcut который ссылается на /long/path/to/some/other/folder . Затем вы можете ввести cd /shortcut . Предостережение в том, что оно заполняет ваш корневой каталог (или любой каталог, в который вы помещаете ссылки) довольно быстро. Я предпочитаю псевдонимы.

32

Для этого вы можете использовать переменную окружения CDPATH . Со страницы руководства Bash:

CDPATH

Путь поиска для команды cd. Это список каталогов, разделенных двоеточиями, в которых оболочка ищет каталоги назначения, указанные командой cd. Примером значения является ".:~:/ Usr".

В вашем случае вы можете установить

export CDPATH=.:/user/something/somefolders

в ~/.bashrc а затем ввести компакт - cd somewhere - то будет считать вас / пользователь / что - /user/something/somefolders/somewhere - то (при условии , что нет каталога с именем somewhere - то в пределах текущего каталога).

В качестве альтернативы, если вы не хотите ссылаться на папку somewhere по ее реальному имени, вы можете создать скрытый каталог, содержащий символическую ссылку на /user/something/somefolders/somewhere с именем, которое вы хотите использовать. Он также может содержать ссылки на любые другие каталоги, которые вы часто посещаете. Затем установите CDPATH чтобы включить путь к этому скрытому каталогу. Хотя обратите внимание, что с помощью этого метода, если вы где- то перейдете на cd somewhere а затем на cd .. , вы попадете в скрытый каталог. Это может или не может быть проблемой для вас.

14

Я склонен использовать интерактивный поиск bash все время. Попытайся. Вызовите его с помощью Ctrl + R и начните вводить некоторую часть вашего пути, например, где-нибудь. Вероятно, ваша команда CD появится. :)

9

Посмотрите на команду "псевдоним".

В csh:

alias commandplace "cd /user/something/somefolders/somewhere"

В ш:

alias commandplace="cd /user/something/somefolders/somewhere"

Но мне нравится решение символической ссылки:

ln -s /user/something/somefolders/somewhere ~/commandplace 

Примечание: ln принимает аргументы в том же порядке, что и cp.

6

Другая вещь, которую вы можете сделать, это сохранить рассматриваемый путь в переменной окружения. Добавьте эти строки в ваш файл ~/.profile :

somedir=/user/something/somefolders/somewhere
export somedir

Затем вы можете получить доступ к каталогу с

cd "$somedir"
1

Метод alias описанный другими ответами, является наиболее прямым путем.

Другой вариант - попробовать autojump, описанный как «Команда cd которая учится». Более подробное описание в этом посте LifeHacker.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .