Чи є спосіб безпосередньо перейти в будь-який каталог з будь-якого іншого каталогу?


14

Чи є спосіб безпосередньо перейти в будь-який каталог з будь-якого іншого каталогу? Наприклад, скажімо, що я в корені, і я хотів перейти безпосередньо до currentProject, не роблячи :

cd dropbox/dev/currentProject



-root
  -dropbox
     -dev
        -currentProject

Чи є це зробити?

Відповіді:


21

Можна використовувати щось на кшталт автоперемикача . Автовигук дозволяє швидко переходити до часто відвідуваних каталогів за допомогою jкоманди.

Наприклад, коли ви кілька разів cdпотрапляєте у свій currentProjectкаталог, ви можете перейти до нього так:

j currentProject

Ви навіть можете використовувати лише частину імені каталогу. Отже, ви можете зробити:

j current

Щоб cdувійти currentProject.


8

Ви також можете додати кілька загальних каталогів у свій $ CDPATH

export CDPATH=$HOME

Наприклад, це дозволить вам cdувійти до будь-якого режиму вашої домашньої папки з будь-якої точки вашої системи.

більше


7

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


1
Дивіться також: tmux .
Annika Backstrom

5

Ви можете встановити псевдонім у своєму баш-профілі. В основному це дозволяє скоротити команду словом. Ви можете встановити currentProject фактично вказувати на / dropbox / dev / currentProject


4

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

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

Таким чином, ви все ще використовуєте компакт-диск, але вам не потрібно пам’ятати повний шлях. Просто використовуйте:

cd ~/currentProject

Коли ви припините використовувати посилання, просто видаліть його.

rm ~/currentProject

0

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


0

У bash та * csh є вбудовані команди 'pushd' та 'popd', які дозволяють пересувати каталоги на стек Last In First Out (з pushd [directory]), а потім швидко змінюватись до верхнього каталогу в стеку за допомогою 'popd'. Таким чином, залежно від того, як ви завантажили стек, ви зможете швидко переміщуватися між каталогіми, щоб вони були функціональними для вас.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.