Поверніться до попереднього каталогу в оболонці


306

Чи є спосіб повернутися до попереднього каталогу, в якому ми використовували bash, tcsh, не використовуючи pushd / popd? Я хотів би набрати щось на кшталт "назад" і повернувся до попереднього каталогу, в якому я знаходився.

Редагувати:

"cd -" працює, але лише для поточних та попередніх каталогів. Чи все-таки я можу повернутися до попереднього попереднього попереднього каталогу, наприклад, як можна повернутися у веб-браузері?

З повагою


1
Як зазначено нижче, це можна зробити за допомогою "pushd" та "popd".
синюватий

8
Просто бічна примітка "cd -" переходить до користувача за замовчуванням direcotry (/ home / username)
sdaffa23fdsf

1
Найкраща відповідь imho: unix.stackexchange.com/a/180640/158177 надає cd -1 до cd -9, що, на мою думку, те, про що вимагала ОП
Титу

Відповіді:


413

cd - (повертається до попереднього каталогу)

Якщо ви хочете мати можливість перейти до інших попередніх каталогів, це неможливо поза полем. Але перевірте цей сценарій та інструкції:

Історія відвідуваних каталогів у БАШі

Команда cd працює як завжди. Нова функція - це історія останніх 10 каталогів та команда cd, розширена для відображення та доступу до неї. cd - (або просто натискання ctrl + w) показує історію. Перед кожною назвою каталогу ви бачите номер. cd-число з номером, яке ви хочете, переходить у відповідний каталог з історії.


20
також можуть бути корисні pushd та popd
lorenzog

6
@lorenzog: lydonchandra у своєму запитанні сказав "без використання pushd / popd"
Snark

@ ogc-nick для використання цього cd --способу, подібного до меню, слід скористатися згаданим сценарієм
Рам

1
@ ogc-нік ні, це не так. --Просто відокремлює команду і її параметри з параметрів (див цього поста ). Оскільки після --цього не слідує жодних аргументів , остання команда - це саме те, cdщо переходить у ваш домашній каталог. Це може бути другий попередній каталог, але це просто збіг.
Гріддо

вау синтаксичний цукор багато
BugWhisperer

24

Ви також можете використовувати змінну cd $OLDPWD. Це також можна використовувати в скриптах оболонки.


6
$ OLDPWD підтримує останній каталог, з якого ви потрапили, який корисний для сценаріїв. Я багато використовую $ OLDPWD з командою cp. Наприклад, cp -v $ OLDPWD / файл.
Ніл Уайтман

1

Для Windows (включаючи Node.js comads prompt case console) не працює cd - Для переміщення вас вгору працює одна директорія

cd ..

3
cd .. переходить до батьківського каталогу, який не є предметом запитання.
ViaSat

1
Це баш тут, ні Windows.
Тимо

0

Я вважаю найпростіший спосіб зробити це за допомогою цього редагування живлення .bashrc: https://github.com/wting/autojump . Ви отримуєте "позначити" папки, до яких ви переходите, даючи їм скорочене ім'я, яке легко запам'ятовується (моя порада; вищесказаного немає в документах), наприклад, " Pics for Pictures" тощо. "Стрибок" повертає вас у папку, яку ви "позначено" та "позначки" перелічує папки, які ви додали до "стека" (як у кнопці "push" та " pop d"), з додатковою перевагою, що ваші позначки залишаються однаковими від сеансу до наступного, ad infinitum.

Я ще спробував це на декількох жорстких дисках, але результати повинні бути подібними до тих, що використовують один том.

S Райт


-1

Якщо ви зійшли з дерева каталогів і хочете повернутися назад, cd ..це мій особистий фаворит. Ви можете легко перестрибувати навколо гілки дерева досить легко, cd ..піднімаючи одну директорію, cd ../..дві та cd ../../..три тощо. Ви також можете переходити вгору та вниз по іншій гілці з тією ж командою, як-то cd ../../exampleі cd ../../../example/exampleт. Д. Для простого перемикання, яке йде назад і назад між каталогами cd -або $OLDPWDнайкращі ставки, як згадували інші.


Якась конкретна причина, чому це було знято? Він містить правильні відповіді, хоча, мабуть, не єдині.
Адам Еріксон

-2

Я думаю, що cd ..може допомогти. Якщо ви робите ls -aв будь-якому каталозі, ви побачите, що є дві записи: одна назва "". та інший під назвою ".."; одинарна точка посилається на каталог, у якому ви вже перебуваєте, тоді як подвійна - попередній каталог у шляху.


22
..це не попередній каталог, це лише батьківський каталог.
Der Hochstapler

4
Ця відповідь дає корисну інформацію, навіть якщо вона не відповідає правильно на запитання. Тому немає сенсу накопичувати негативні голоси на цьому, я підтримав зусилля.
Тіту

1
Це не Берклі, немає спеціальних нагород лише за участь
натанчере
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.