Есть ли способ перейти в любой каталог из любого другого каталога напрямую?


14

Есть ли способ перейти в любой каталог из любого другого каталога напрямую? Например, предположим, что я нахожусь в корне, и я хотел перейти непосредственно к currentProject, не делая :

cd dropbox/dev/currentProject



-root
  -dropbox
     -dev
        -currentProject

Есть ли способ сделать это?

Ответы:


21

Вы можете использовать что-то вроде autojump . Autojump позволяет быстро перейти к часто посещаемым каталогам с помощью jкоманды.

Например, как только вы несколько раз cdзаходите в свой currentProjectкаталог, вы можете перейти к нему следующим образом:

j currentProject

Вы даже можете использовать только часть имени каталога. Так что вы могли бы сделать:

j current

Чтобы cdв currentProject.


8

Вы также можете добавить некоторые общие каталоги к вашему $ CDPATH

export CDPATH=$HOME

Это, например, позволит вам cd в любой каталог в вашей домашней папке из любой точки вашей системы.

Больше


7

Это не дает прямого ответа на ваш вопрос, но если я правильно понял, что вы будете часто перемещаться между каталогами, вы можете использовать терминальный мультиплексор, такой как GNU Screen, чтобы держать разные каталоги открытыми в разных окнах, и просто переключаться между ними по мере необходимости. Я лично использую Byobu , который добавляет некоторые функции в верхней части экрана.


1
Смотрите также: tmux .
Анника Бэкстрем

5

Вы можете установить псевдоним в своем профиле bash. По сути, это позволяет сокращать команду словом. Вы можете установить currentProject на самом деле указать / dropbox / dev / currentProject


4

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

ln -s /dropbox/dev/currentProject ~/currentProject

Таким образом, вы все еще используете CD, но вам не нужно запоминать полный путь. Просто используйте:

cd ~/currentProject

Когда вы прекратите использовать ссылку, просто удалите ее.

rm ~/currentProject

0

Как уже упоминалось выше, Wuffers , autojump, который может сделать это для вас. Он хранит базу данных о ранее посещенных каталогах и позволяет вам использовать команду как j <a few letters in the directory path>для перехода в этот каталог. Для autojump с именем есть дополнительная команда, jcкоторая должна соответствовать вашим требованиям. jcпозволяет перейти к ранее посещенному подкаталогу текущего рабочего каталога. Таким образом, вам нужно только посетить каталог один раз, чтобы это работало, пока вы не очистите базу данных autojump. Кроме того, вы также можете добавить его напрямую вместо этого autojump --add DIR(возможно, создавая список добавления из списка дерева каталогов, если это необходимо).


0

В bash и * csh есть встроенные команды «pushd» и «popd», которые позволяют помещать pushd [directory]каталоги в стек « Last In First Out» (с ), а затем быстро переходить в верхний каталог в стеке с помощью «popd». Таким образом, в зависимости от того, как вы загрузили стек, вы можете быстро быстро переходить между каталогами, чтобы это работало для вас.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.