Як в терміналі я можу визначити ключ для переходу до попереднього каталогу, в якому я був, коли міняв каталог за допомогою 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
файл, як згадується у відповіді).