В терминале, как я могу определить ключ для перехода в предыдущий каталог, в котором я находился при смене каталога с помощью cdкоманды?
Например, я в /opt/soft/binи я cdв /etc/squid3и я хочу , чтобы вернуться к первой директории.
В терминале, как я могу определить ключ для перехода в предыдущий каталог, в котором я находился при смене каталога с помощью cdкоманды?
Например, я в /opt/soft/binи я cdв /etc/squid3и я хочу , чтобы вернуться к первой директории.
Ответы:
Вы можете использовать
cd -
или вы могли бы использовать
cd $OLDPWD
cd -. Например, когда вы печатаете, cd /usr/localвы знаете, что находитесь внутри /usr/loal, но когда вы печатаете, cd -вы не всегда помните, из какого каталога вы пришли. Так что это спасает вас от набора текста cd -; pwd. Но это все домыслы.
alias -- -='cd -'затем использовать -(1 символ) вместо cd -(4 символа). Быстрее:D
cd -дважды. Как cd /; cd /usr; cd -; cd -вы должны быть в /usr. Но, может быть, я скучаю по твоему вопросу.
Другие ответы определенно полны в смысле прямого ответа. cd -и cd $OLDPWD, безусловно, основной выбор для этого. Тем не менее, я часто нахожу, что с работы pushdи popdработает лучше.
Короче говоря, если вы переходите в каталог с конечным намерением вернуться туда, откуда вы начали, используйте pushd/ popd.
Основное отличие легко показать на примере.
$ cd dir1
$ pushd dir2
На данный момент у вас есть стек каталогов, который есть dir2, dir1. Запуск pushdбез аргументов вернет вас обратно в dir1стек сейчас как dir1, dir2. popdсделал бы то же самое, но оставил бы вас с пустым стеком каталогов. Это не сильно отличается от того, как вы были бы с cd -рабочим процессом.
Однако теперь вы можете менять каталоги несколько раз и вернуться к dir1. Например,
$ cd dir1
$ pushd dir2
$ cd dir3
Если вы бежите popdв этот момент, вы вернетесь к dir1.
pushdи возвращайтесь к предыдущей папке, popdнажимая -ing.
dirs -v, но реальность для меня заключается в том, что часто простой случай - это все, что я действительно использую. (Или, что еще хуже, я делаю ошибку, когда пытаюсь push +2или что-то подобное) Кроме того, я подумал, что ребенок делает шаги, чтобы заставить кого-то попробовать рабочий процесс. :)
cdна вершину стека без сования?
Вы должны использовать:
cd ~-
он делает то же, что и cd -(из принятого в настоящее время ответа) без раздражающего эха каталога, и его легче набирать, чем cd "$OLDPWD"или cd - > /dev/null.
alias -- -='cd "$OLDPWD"'используя -(1 символ) вместо cd ~-(5 символов). :)
cd ~-/..работает, но cd -/..нет!
Вы можете «определить ключ» для «cd -», отредактировав файл «~ / .bashrc» и добавив псевдоним для команды. Например, вы можете добавить 'cdc', чтобы сделать его 'cd -', который предоставил бы вам более короткий способ добраться до последнего каталога, добавив:
alias cdc='cd -'
Таким образом, вы просто наберете «cdc», и вы попадете в ваш последний рабочий каталог.
bind '"\e[24~":"\C-k \C-ucd -\n"'(или, более предпочтительно, переместите его в inputrcфайл, как указано в ответе).