Как я могу отменить последнюю команду CD?
Есть ли способ вернуться к предыдущему рабочему каталогу после выполнения cd в другой каталог?
Мой вариант использования заключается в том, что я просматриваю структуру каталогов для проекта Java и ожидаю, что текущий каталог имеет только один подкаталог. Итак, я печатаю cd и нажмите Tab и Enter довольно быстро. Однако вкладка не удалась, как я ошибочно ожидал, один подкаталог, хотя на самом деле их больше. Итак, я только что казнил cdи теперь я нахожусь в моем домашнем каталоге, а не в проекте Java. Есть ли способ отменить это cd и вернуться в каталог, в котором я был?
5 ответов
Ты можешь использовать cd - чтобы вернуться к вашему прежнему местоположению, независимо от того, где это было.
cd - отлично подходит для возврата на один уровень, но если вы захотите вернуться на несколько уровней, посмотрите этот скрипт:
Это великолепно. cd -- чтобы увидеть вашу историю, и cd -3 чтобы вернуться на 3 уровня, например.
Вы также можете использовать pushd а также popd использовать стек каталогов:)
Некоторая информация здесь
К тому же, cd .. может вернуть вас в родительский каталог рабочего каталога, а затем при необходимости команда может повторяться до тех пор, пока вы не попадете туда, куда хотите. Фактически, каждый раз, когда он вызывается, он возвращает вас назад через дерево каталогов, которое в конечном итоге заканчивается / (корневой каталог), если вы просто продолжали повторять команду.
В отличие от cd - фактически делает предыдущий рабочий каталог текущим рабочим каталогом (который известен как .), и какое точное местоположение в файловой системе можно найти с помощью pwd,
Так что оба cd .. а также cd - может быть полезен в различных обстоятельствах при навигации по дереву каталогов, хотя они отличаются в вышеупомянутых отношениях. Пожалуй, самая полезная команда после экспериментов с этими двумя командами cd, который возвращает вас в домашнюю папку.
Лучший способ сделать это для возвращения cd -Однако, если вы хотите пропустить много уровней одновременно, лучше использовать cd .. для одного уровня, cd ../.., для двоих, cd ../../.. в течение трех и далее... хороший способ сделать это быстро это скрипт:
#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK