Быстрые способы Cd'ing на *отклоняют?

Я ввожу постоянно (использующий вкладку, конечно) абсурдные пути как

cd path/to/the/thing\ that\ I\ need/python/proj/eraseme

Кроме выполнения ln -s (или некоторый другой тип ln?), там какой-либо другой способ двигаться быстрее? Кроме того, если решение состоит в том, чтобы использовать ln, есть ли некоторый стандартный путь/место поместить ссылки так для не создания помех моему ~ каталог?

Я не прошу ярлыки только: любое решение, которое помогает с проблемой, "как двигаться", помогло бы.

4
задан 16.05.2010, 21:58

8 ответов

В ударе, $CDPATH переменная среды содержит список путей, которые будут искаться каталоги при использовании cd.

CDPATH=".:~/long path to my projects"
cd eraseme
11
ответ дан 07.12.2019, 19:04

Некоторые люди используют псевдонимы с этой целью. Попробуйте это, например:

alias cderaseme='cd /home/user/whatever/path/to/the/thing\ that\ I\ need/python/proj/eraseme'

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

9
ответ дан 07.12.2019, 19:04

Некоторые простые идеи:

  • Используйте заполнение клавишей Tab.
  • Использовать cd вернуться к Вашему корневому каталогу. Использовать cd ~/<dir> пойти каталог относительно Вашего корневого каталога.
  • Использовать cd - вернуться к последнему каталогу. Т.е. с этой командой можно переключиться назад и вперед между двумя каталогами.
  • Использовать pushd <dir> перейти к каталогу и помнить к предыдущему местоположению на стопке каталога. Затем используйте popd возвратиться (в стопке каталога) к предыдущему местоположению.
  • Используйте относительные пути, т.е. cd ../<dir>, вместо полных путей.
  • Использовать cd !$ перейти к каталогу, упомянутому в последнем аргументе предыдущей команды (зависит от Вашей оболочки). Пример: mkdir /tmp/dir сопровождаемый cd !$ и Вы - текущий каталог, /tmp/dir.
6
ответ дан 07.12.2019, 19:04

zsh имеет немного лучшее завершение - можно просто ввести немного символов каждого каталога и нажать вкладку для разворачивания всех их:

$ cd p/t/t/t/p/p/er<tab>

Также существуют некоторые утилиты, которые могут помнить, куда Вы часто идете и пытаетесь предположить или просто ведете себя как более умная версия cd, f.e. cdargs, wcd, apparix, kcd... никогда не использовал их, я всегда просто использовал zsh завершение.

4
ответ дан 07.12.2019, 19:04

Я обычно создаю сценарий оболочки, названный чем-то как 'mycd', которому я могу передать параметры. Что-то вроде этого:

# Shell script to CD into various locations.
if   [ "$1" == "myhome"  ]  ; then cd ~;
elif [ "$1" == "mypref"  ]  ; then cd ~/Library/Preferences;
elif [ "$1" == "mylib"  ]   ; then cd ~/Library;
elif [ "$1" == "syslib" ]   ; then cd /System/Library;
elif [ "$1" == "--help" ]   ; then
  echo "Usage: $0 location, which can be one of"
  echo "myhome = My home dir."
  echo "mypref = My Preferences dir."
  echo "mylib  = My Libraries dir."
  echo "syslib = System library."
  echo "--help = Show this message."
else echo "$0: $1 not known.";
fi

И затем в файле псевдонима, помещенном запись как:

alias mycd='. /path/to/mycd'

Затем я могу просто назвать его с чем-то как mycd mylib и это возьмет меня прямо там.

Подобный списку упомянутых выше псевдонимов, но это собирает их всех в одном месте, и он дает текст справки, если мне нужно напомнить, что помещает, я сохранил.

3
ответ дан 07.12.2019, 19:04

Попробуйте это:
() {искажают 1$ =cd\$PWD;}
Это создает немного функции, которая помогает создать новые псевдонимы для переключения каталогов.

1
ответ дан 07.12.2019, 19:04

Бездельничание с некоторыми из этих ответов сегодня. То, что интересно, является некоторой комбинацией globbing с использованием tab на оболочке Bash. Например:

cd /p*/t*/*need*/py*

и вкладка хита и если это уникально, это расширяется, иначе это дает Вам выбор.

1
ответ дан 07.12.2019, 19:04

На Mac OS X (использующий/bin/bash) можно использовать все типичные терминальные команды CD и cdpath информацию.

Существует хороший прием все же. Можно перетащить папку от Средства поиска в терминал, и полный путь будет отображен. Это помогает одноразовым сложным длинам файла к быстро и визуально вводиться в терминал.

1
ответ дан 07.12.2019, 19:04

Теги

Похожие вопросы