В настоящее время я провожу много своего рабочего времени, перемещаясь между двумя путями, которые находятся очень далеко вниз по дереву и отклоняются друг от друга в корне. Меня поражает, что моя жизнь была бы намного проще, если бы был аргумент, cd
который приведет пользователя к последнему каталогу, в котором он находился.
То есть если я в:
/etc/foo/bar/baz/moo
а затем введите:
cd /var/lib/fubarred_app/blargh/logs
Я хотел бы иметь возможность вернуться к первому каталогу без необходимости повторного ввода всего пути.
Ключ памяти не обрезает его, так как я использую достаточно команд в каждом месте, поэтому мне так же сложно вернуться назад и найти нужный путь, как и набрать его самому.
Есть ли короткая команда, которая позволила бы мне перейти в предыдущий каталог?
bazmoo
" или "blarghlog
" в приглашении :)Ответы:
Команда
выполнит нужный вам обмен на большинство основных оболочек, более старый и длинный вариант
который будет использовать переменную среды, которая содержит предыдущий рабочий каталог.
Страница людей POSIX для
cd
упоминания:источник
cd $OLDPWD
для этого. Хорошо, что обычные оболочки предлагают намного более короткую форму.pushd
, по крайней мере , это встроенный вbash
.В дополнение к ответу Брайана стоит упомянуть, что есть
pushd
иpopd
, которые создают каталоги как стек. Это также доступно в Windows NT; однако, это доступно не во всех оболочках.Например, мы можем перейти к трем различным каталогам, и вы всегда будете видеть свой стек при вызове
pushd
:И когда вы вызываете
popd
три раза подряд, вы попадаете в эти каталоги в стеке в обратном порядке. В то же время, стек будет снова очищен.Если вы используете Zsh; у него есть опция AUTO_PUSHD, которая автоматически помещает
cd
в стек.источник
cd
кpushd
, и это было бы в основном то же самое.Есть несколько "прыгающих" программ
Это облегчает любой вид навигации по каталогам. Вы используете это, давая часть пути, и это просто работает.
В твоем случае
Этим программам вы можете назначить любую букву, которую хотите, «j» - это традиция :)
j2 и z поддерживают несколько условий поиска, ...
... и больше вариантов.
источник
В дополнение к
cd -
иcd $OLDPWD
Вы можете использовать поиск по истории, нажав
CTRL-R
и набрав несколько буквcd
введенной ранее команды.CTRL-R
Повторное нажатие приведет к старым совпадениям.Этот метод будет более полезным, если у вас есть более двух путей для изменения.
источник
cd
, отличная помощь!Вы можете использовать это, чтобы легко создавать псевдонимы для каталогов:
и позже:
источник
alias =
частей? хмммbashmarks позволят вам добавить в закладки ряд папок и переходить между ними с завершением вкладки:
источник
Другой возможностью было бы просто держать два окна открытыми, по одному в каждом каталоге.
источник
share_history
в zsh.Я знаю, что это не является строго говоря ответом на ваш вопрос, но это полезно для достижения цели, чтобы привести вас в ваши важные каталоги .
в любом спуске UNIX-bash вы можете использовать CDPATH для расширения папки, в которой ищет команда cd.
из моего .bashrc-файла:
Сначала CD выполняет поиск в вашей текущей папке, а затем - в моем каталоге coding-project-directory.
... переносит меня в ~ / sources / myproject с того места, где я сейчас нахожусь.
Простая маленькая функция, которая очень помогла моей навигации по каталогам.
источник
cd
список автозаполнения (TAB), что хорошо. Но если.
оно не включено и если в папке CDPATH есть папка с тем же именем, что и в вашем текущем каталоге, тоcd samename
вы перейдете в каталог CDPATH, а не в текущий каталог, что является Плохо. Приходится использовать,cd ./samename
чтобы попасть в двойную папку.Да,
cd -
это путь, но я переживаю из-за недостатка энергии, который есть в твоей оболочке.popd
иpushd
тоже хороши, и этаj
штука тоже выглядит хорошо.Я добавлю свою собственную утилиту в кольцо ... это просто то, что я строил, настраивал и переносил со мной последние 10 лет или около того, и это прекрасно работает для того, что я хочу.
Сообщение в блоге для моей утилиты управления каталогами
Если это работает для вас, тогда круто, но если это не так, то пообещайте мне, что вы получите что-то еще :) Вы просто не можете жить в
cd
одиночестве.источник
Если у вас есть только 2 каталога, самый простой способ, как уже упоминалось,
Когда у меня были такие вещи в прошлом, у меня было несколько трюков, которые я сделал, которые могут быть полезны.
Поместите команды псевдонимов в файл .cshrc, что-то вроде этого
Ссылка ярлыков на интересующие пути из моего домашнего каталога. Это разовая вещь.
Это позволит изменить каталог так же просто, как:
источник
Autojump - это команда bash / sh / zsh "cd", которая из ваших действий видит это видео .
так что это переместит вас в му после того, как он узнал последние папки
источник
луч
У меня есть свой собственный инструмент, но я тоже посмотрю на инструмент Дерекс
j
.Конечно, первый выбор для прыжков назад и вперед
Мой инструмент предназначен для каталогов с уникальными именами в системах, где
locate
это возможно; он ищет подходящее имя каталога и переходит к первому совпадению:зависимости:
Недостатки:
Усовершенствования / модификации:
Использование:
Преимущество моего решения:
cd -
источник