рекомендации

среда, 27 января 2021 г.

Использование команд Pushd, Popd и Dirs для быстрой навигации в командной строке

Все мы знаем, что для перехода из одного каталога в другой мы используем команду cd. Чтобы вернуться в предыдущий каталог, мы используем команды «cd ..» или «cd <location_of_previous_directory>». Так я в основном перемещаюсь между каталогами, пока не обнаружил команды pushd, popd и dirs. Эти три команды обеспечивают более быструю навигацию между каталогами. В отличие от команды cd, команды pushd и popd используются для управления стеком каталогов. Просто войдите в каталог и сделайте то, что хотите, и быстро вернитесь в предыдущий каталог, не вводя длинного имени пути. Команда dirs используется для отображения текущего стека каталогов, как и команда «ls». Эти три команды чрезвычайно полезны, когда вы работаете с глубокой структурой каталогов и скриптами.

Все еще не понимаете? Нет проблем! Я собираюсь объяснить эти команды простым языком на некоторых практических примерах.

Использование команд Pushd, Popd и Dirs для более быстрой навигации в интерфейсе командной строки

Команды pushd, popd и dirs предустановлены, поэтому давайте не будем беспокоиться об установке и посмотрим, как их использовать в режиме реального времени.

Я сейчас в каталоге /tmp.



Я собираюсь создать десять каталогов, а именно test1, test2,…. test10 в каталоге /tmp.

Как вам, возможно, уже известно, мы можем легко создать несколько каталогов одновременно с помощью команды mkdir, как показано ниже.
$ mkdir test1 test2 test3 test4 test5 test6 test7 test8 test9 test10
или
$ mkdir test{1,2,3,4,5,6,7,8,9,10}
Теперь перейдем в каталог test3. Для этого просто введите:
$ pushd test3

Чтобы узнать, где вы сейчас находитесь, просто введите:
$ dirs
Пример вывода:
/tmp/test3 /tmp /tmp


Как видно из вышеприведенного вывода, команда dirs показывает, что теперь в стеке есть два каталога. Делайте в этом каталоге все, что хотите. После этого вы можете вернуться в предыдущий рабочий каталог с помощью команды:
$ popd

Нет необходимости указывать полный путь к предыдущему каталогу. Если вы используете команду cd, вы должны ввести «cd ..» или «cd <full_path_name>», чтобы вернуться в каталог /tmp. Но с помощью команды popd мы можем мгновенно вернуться в предыдущий рабочий каталог. Все просто.

Вернемся снова в каталог test8. Для этого выполните:
$ pushd test8
Пример вывода:
/tmp/test8 /tmp /tmp


Давайте углубимся в стек.
$ pushd /tmp/test10
Пример вывода:
/tmp/test10 /tmp/test8 /tmp /tmp

Теперь мы находимся в каталоге test10, и в нашем стеке всего 3 каталога (test10, test8 и tmp). Вы заметили направление? Каждый новый каталог добавляется слева. Когда мы начнем выталкивать каталоги, они тоже будут слева.

Теперь, если вы хотите перейти в предыдущий рабочий каталог, то есть test8, с помощью команды cd, команда будет выглядеть, как показано ниже.
$ cd /tmp/test8
Но это не обязательно. Мы можем сделать это быстрее, запустив команду popd.
$ popd
Пример вывода:
/tmp/test8 /tmp /tmp

Как видно из вышеприведенного вывода, мы перешли в предыдущий рабочий каталог без необходимости вводить полный путь (например, /tmp/test8).

А теперь давайте попробуем снова?
$ popd
Пример вывода:
/tmp /tmp

Наконец, мы вернулись в каталог, с которого начали.

В этом примере я использовал всего десять каталогов. Так что, может показаться, в этом нет ничего страшного. Подумайте о двадцати или более каталогах? Будете ли вы набирать «cd <path_name>» или «cd ..» каждый раз, чтобы перемещаться между каталогами? Нет. Это займет много времени. Просто используйте команду pushd, чтобы перейти в любой каталог в стеке и вернуться в предыдущий рабочий каталог с помощью команды popd. Кроме того, вы можете использовать команду dirs для отображения текущего стека каталогов в любое время. Вы можете добавить серию путей в свой стек, а затем переходить к ним в обратном порядке. Это сэкономит вам много времени при перемещении по стеку каталогов.

Теперь вы знаете, как эффективно перемещаться между каталогами без использования команды cd. Эти команды пригодятся, когда вы работаете с большим стеком каталогов. Вы можете быстро перемещаться между N каталогами. Эти команды также очень полезны при работе со скриптами.

Комментариев нет:

Отправить комментарий