Як в терміналі я можу визначити ключ для переходу до попереднього каталогу, в якому я був, коли міняв каталог за допомогою 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 char) замість cd -(4 char). Швидше: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 char) замість cd ~-(5 char). :)
cd ~-/..працює, але cd -/..ні!
Ви можете "визначити ключ" для "cd -", відредагувавши файл "~ / .bashrc" і включивши псевдонім для команди. Наприклад, ви можете додати "cdc", щоб зробити його "cd -", що забезпечить вам коротший спосіб дістатися до останнього каталогу, додавши:
alias cdc='cd -'
Таким чином, ви просто введете "cdc", і він помістить вас у ваш останній робочий каталог.
bind '"\e[24~":"\C-k \C-ucd -\n"'(або більш бажано перемістити його у inputrcфайл, як згадується у відповіді).