Intereting Posts
Странные символы вместо значков в Firefox Как изменить стандартный каталог окон из tmux Предотвратите применение Wine от DirectX Сайт по-прежнему загружается с настройками по умолчанию UFW Вставить многострочный текст перед первой соответствующей строкой в ​​файле В linux, как удалить все файлы ЗА ИСКЛЮЧЕНИЕМ шаблона * .txt? Изменение размера и обрезка изображений с соотношением сторон 6×4 с шириной 1024 пикселя TeXstudio: открыть файл на номер строки n Переименование файлов работает, но мягкие ссылки указывают на старые имена. Как я могу это исправить? Линейный выход литиевого выхода Как получить доступ к крупному почтовому ящику и управлять им (11 ГБ) Как отметить «не полностью установленный» пакет apt-get как «успешно установленный», Каковы альтернативные инструменты для поиска файлов в полном объеме? Debian8 (jessie) не обнаруживает bluetooth Фоновый процесс (postgresql), получающий SIGINT от Ctrl-C в оболочке

Есть ли способ вернуться несколько раз в bash?

Я часто использую cd - чтобы вернуться туда, где я был. Как я могу сделать это несколько раз в bash? Или zsh или какой-нибудь другой инструмент поддерживают это?

В zsh есть опция auto_pushd . Этот параметр позволяет cd вести себя как pushd . Затем вы можете просто использовать popd для возврата к предыдущим каталогам.

 ~ $ setopt auto_pushd ~ $ cd / / $ cd /var /var $ cd /usr /usr $ dirs /usr /var / ~ /usr $ popd /var $ popd / $ popd ~ $ 

В Bash вы можете использовать псевдоним cd для pushd .

 alias cd=pushd 

Единственным недостатком этого является то, что вы потеряете три флага cd . Из записи справки cd :

-L заставляет следовать символическим ссылкам
-P использует структуру физического каталога без следующих символических ссылок
-e, если включена опция -P, и текущий рабочий каталог не может быть успешно определен, выйдите с ненулевым статусом

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

  • 'cd' – Цитирование команды заставляет оболочку не разрешать псевдоним и использовать обычный cd.
  • \cd – символы обратной косой черты. Если вы укажете один символ слова, оболочка рассматривает все слова как цитируемые.
  • builtin cd – это напрямую говорит оболочке использовать встроенный вместо псевдонима.

Вот быстрый и грязный способ удобного закладки каталогов и возврата к ним:

 $ a() { alias $1="cd $PWD"; } 

Идите куда-нибудь и введите:

 $ a 1 

Теперь у вас есть команда с именем 1 которая делает cd текущей в данный момент директорией. Позже просто введите:

 $ 1 

И престо, вернемся к этому каталогу. Я считаю это очень полезным.

удар

Я нашел сценарий, который решил эту проблему для меня. С этим вы можете ввести cd -- чтобы просмотреть последние 10 каталогов, которые вы использовали. Это будет выглядеть примерно так:

 0 ~/Documents/onedir 1 ~/Music/anotherdir 2 ~/Music/thirddir 3 ~/etc/etc 

Чтобы перейти к ~/Music/thirddir просто введите cd -2

http://www.geocities.com/h2428/petar/bash_acd.htm

ЗШ

oh-my-zsh предоставляет некоторые действительно приятные функциональные возможности для этого (по крайней мере, я думаю, что это о-мой-zsh, который устанавливает это).

В принципе, d сглаживается на dirs -v | head -10 dirs -v | head -10

dirs – встроенная команда zsh и показывает последние каталоги, в которых вы были.

Кроме того, 1 имеет псевдоним cd -1 и т. Д. Для всех чисел до 9 .

На практике он работает следующим образом:

 $ pwd /home/me/Documents/gems/java_regex/lib $ d 0 ~/Documents/gems/java_regex/lib 1 ~/Documents/gems/java_regex 2 ~/Documents/gems 3 ~/Documents 4 ~ $ 2 ~/Documents/gems $ pwd /home/me/Documents/gems 

Вы можете использовать pushd встроенный в bash, чтобы вставлять новые рабочие каталоги в стек каталога. Используйте popd для поп-каталогов стека, чтобы вернуться в предыдущие рабочие каталоги.

Я использую простую функцию, найденную на commandlinefu давным-давно

  up() { local x='';for i in $(seq ${1:-1});do x="$x../"; done;cd $x; } 

(добавлено в мой osx .profile работает как шарм)

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

Вместо того, чтобы делать несколько cd для навигации по каталогу, мы можем использовать псевдоним

Например :

 alias ..5="cd ../../../../.." 

Это займет у вас 5 директорий.