Как быстрее перемещаться по каталогам в Linux

by itisgood

Сегодня мы собираемся изучить некоторые трюки производительности командной строки.

Как вы уже знаете, мы используем команду «cd» для перемещения между стеком каталогов в Unix-подобных операционных системах.

В этом руководстве я собираюсь научить вас, как перемещаться по каталогам быстрее, без необходимости часто использовать команду «cd».

Может быть для этого есть много способов, но я знаю только следующие четыре метода.

Я буду постоянно обновлять это руководство, когда буду сталкиваться с любыми методами или утилитами для решения этой задачи.

Быстрая навигация по каталогам в Linux

Способ 1: использование команд Pushd, Popd и Dirs

Это наиболее частый метод, который я использую каждый день для перемещения между стопками каталогов.

Команды «Pushd», «Popd» и «Dirs» предустановлены в большинстве дистрибутивов Linux, так что не беспокойтесь об их установке.

Эти трио-команды очень полезны, когда вы работаете с глубокой структурой каталогов и скриптами.

Способ 2: использование утилиты «bd»

Утилита «bd» также помогает вам быстро вернуться к определенному родительскому каталогу без необходимости многократно вводить «cd ../../.» в Bash.

Bd также доступен в репозиториях Debian extra и Ubuntu Universe.

Таким образом, вы можете установить его, используя менеджер пакетов «apt-get» в Debian, Ubuntu и других системах на основе DEB, как показано ниже:

$ sudo apt-get update
$ sudo apt-get install bd

Для других дистрибутивов вы можете установить, как показано ниже.

$ sudo wget --no-check-certificate -O /usr/local/bin/bd https://raw.github.com/vigneshwaranr/bd/master/bd
$ sudo chmod +rx /usr/local/bin/bd
$ echo 'alias bd=". bd -si"' >> ~/.bashrc
$ source ~/.bashrc

Чтобы включить автозаполнение, запустите:

$ sudo wget -O /etc/bash_completion.d/bd https://raw.github.com/vigneshwaranr/bd/master/bash_completion.d/bd
$ source /etc/bash_completion.d/bd

Утилита Bd теперь установлена.

Давайте рассмотрим несколько примеров, чтобы понять, как быстро перемещаться по стеку каталогов с помощью этого инструмента.

Создайте несколько каталогов.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

Приведенная выше команда создаст иерархию каталогов.

Давайте проверим структуру каталогов, используя команду:

$ tree dir1/
dir1/
└── dir2
 └── dir3
 └── dir4
 └── dir5
 └── dir6
 └── dir7
 └── dir8
 └── dir9
 └── dir10

9 directories, 0 files

Хорошо, теперь у нас есть 10 каталогов.

Допустим, вы в настоящее время находитесь в 7-м каталоге, то есть в dir7.

$ pwd /home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Вы хотите перейти на dir3. Обычно вы набираете:

$ cd /home/sk/dir1/dir2/dir3

Правильно? да! Но это не обязательно.

Чтобы вернуться к dir3, просто наберите:

$ bd dir3

Теперь вы будете в dir3.

Легко, не правда ли?

Он поддерживает автоматическое заполнение, поэтому вы можете просто ввести частичное имя каталога и нажать клавишу табуляции, чтобы автоматически завершить полный путь.

Чтобы проверить содержимое определенного родительского каталога, вам не нужно быть там. Просто введите:

$ ls `bd dir1`

Приведенная выше команда отобразит содержимое dir1 из вашего текущего рабочего каталога.

Для получения более подробной информации, проверьте следующую страницу GitHub.

Способ 3: использование скрипта «up»

«up» – это скриптй оболочки, позволяющий быстро перейти в родительский каталог.

Он хорошо работает на многих популярных оболочках, таких как Bash, Fish, Zsh и т. д.

Установка также абсолютно проста!

Чтобы установить «Up» на Bash, запустите следующие команды:

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh' >> ~/.bashrc

Скрипт up регистрирует функцию «up» и некоторые функции завершения через ваш файл «.bashrc».

Обновите изменения, используя команду:

$ source ~/.bashrc

На zsh:

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh' >> ~/.zshrc

Скрипт up регистрирует функцию «up» и некоторые функции завершения через ваш файл «.zshrc».

Обновите изменения, используя команду:

$ source ~/.zshrc

На fish:

$ curl --create-dirs -o ~/.config/up/up.fish https://raw.githubusercontent.com/shannonmoeller/up/master/up.fish
$ source ~/.config/up/up.fish

Скрипт up регистрирует функцию «up» и некоторые функции завершения через «funcsave».

Теперь пришло время увидеть некоторые примеры.

Давайте создадим несколько каталогов.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

Допустим, вы находитесь в 7-м каталоге, то есть в dir7.

$ pwd
/home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Вы хотите перейти в dir3.

Используя команду «cd», мы можем сделать это, набрав следующую команду:

$ cd /home/sk/dir1/dir2/dir3

Но действительно легче вернуться к dir3, используя скрипт «up»:

$ up dir3

Теперь вы будете в dir3.

Чтобы перейти на один каталог вверх, просто наберите:

$ up 1

Чтобы вернуться назад на два каталога:

$ up 2

Это так просто. Я набрал полный путь? Нет.

Также он поддерживает завершение вкладки.

Так что просто введите частичное имя каталога и нажмите вкладку, чтобы завершить полный путь.

Для более подробной информации, посетите страницу GitHub.

Пожалуйста, помните, что инструменты «bd» и «up» могут только помочь вам вернуться назад, то есть к родительскому каталогу текущего рабочего каталога.

Вы не можете двигаться вперед.

Если вы хотите переключиться на dir10 с dir5, вы не сможете!

Вместо этого вам нужно использовать команду «cd» для переключения на dir10.

Эти две утилиты предназначены для быстрого перемещения в родительский каталог!

Способ 4. Использование инструмента «Shorcut»

Это еще один удобный способ быстро и легко переключаться между различными каталогами.

Он похож на команду алиасов.

В этом методе мы создаем ярлыки для часто используемых каталогов и используем имя ярлыка, чтобы перейти в этот соответствующий каталог, не вводя путь.

Если вы работаете с глубокой структурой каталогов и стеком каталогов, этот метод значительно сэкономит время.

Вы можете узнать, как это работает, в руководстве, приведенном ниже.

В этой статье вы узнали о различных способах быстрой и простой навигации по стеку каталогов в Linux.

Как видите, не так сложно быстро просмотреть кучу каталогов.

Теперь прекратите вводить «cd ../../ ..» бесконечно, используя эти инструменты.

Если вы знаете какой-либо другой полезный инструмент или метод для более быстрой навигации по каталогам, сообщите нам об этом в разделе комментариев ниже.

Я рассмотрю и добавлю их в этом руководстве.

 

You may also like

Leave a Comment