- Вопрос или проблема
- Autojump
- Использование подстановочных знаков
- bash/zsh: autocd
- Ответ или решение
- Как использовать команду ‘cd’ в терминале с частичным именем папки
- 1. Использование подстановочных знаков (wildcards)
- 2. Использование autojump
- 3. Автокомплектация с помощью клавиши Tab
- 4. Включение опции autocd в Bash и Zsh
- 5. Использование расширенных функций Zsh
- Заключение
Вопрос или проблема
Если я хочу перейти в папку с длинным названием, которое трудно ввести, есть ли способ использовать ‘cd’ с какой-то сокращенной версией этого названия, чтобы избежать ненужной работы?
Autojump
Autojump вероятно, не является тем решением, которое вы непосредственно запрашивали, но это, вероятно, наиболее полезный инструмент для изменения названий папок. Он запоминает, в какие папки вы часто заходите, и вы можете переводиться в них, вводя:
j Foo
Это изменит директорию на основанную на этом (частичном) названии. Вы можете ограничить поиск дочерними каталогами с помощью jc
.
Использование подстановочных знаков
Если вы знаете, что название уникально после нескольких введенных букв, вы можете сделать, например, чтобы перейти в папку “FooBarBaz”:
cd Foo*
Подстановочный знак *
расширится до названия всех папок, начинающихся с Foo
, и cd
перейдет в первую найденную папку.
Обратите внимание, что это действительно работает только если у вас мало совпадений для подстановочного знака. В противном случае вы получите слишком длинный список аргументов для cd
.
То же самое работает в другую сторону или если часть, которую вы знаете, находится в середине названия папки:
cd *Baz
cd *Bar*
Это, вероятно, требует наименьшего количества нажатий клавиш. Вы можете просто нажать Enter, и она расширится автоматически.
bash/zsh: autocd
Вы можете сделать еще короче, если установите опцию autocd
, если вы используете Bash, с помощью shopt -s autocd
, или zsh с помощью setopt autocd
.
Это требует, чтобы вы просто ввели название директории без cd
, чтобы оболочка сама перешла туда. Например:
shopt -s autocd
Foo*
Конечно, вы можете добавить эту опцию в конфигурационный файл вашей оболочки, чтобы она загружалась автоматически (например, ~/.bash_profile
или ~/.bashrc
, в зависимости от того, что вы используете, или .zshrc
).
Вы можете использовать клавишу Tab ↹, чтобы автоматически дополнять частично введенные имена файлов.
Вы можете попробовать использовать zsh, у него есть продвинутые функции завершения команд.
cd /u/sh/lo + tab = cd /usr/share/locale
Также мы можем использовать хэш-алиасы zsh и другие магические функции zsh)
https://github.com/robbyrussell/oh-my-zsh
https://github.com/zsh-users/zsh-completions
Ответ или решение
Как использовать команду ‘cd’ в терминале с частичным именем папки
В мире IT часто возникает необходимость навигации по файловой системе через командный интерфейс. Команда cd
(change directory) является основным способом изменения текущего рабочего каталога. Однако длинные и сложные имена папок могут затруднить эту задачу. В этом ответе мы рассмотрим несколько эффективных методов, чтобы упростить навигацию к папкам с использованием их частичных имен.
1. Использование подстановочных знаков (wildcards)
Подстановочные знаки — это мощный инструмент, позволяющий вам переходить в каталоги, зная лишь часть их имён. Например, если вы хотите перейти в папку с именем "FooBarBaz", вы можете выполнить команду:
cd Foo*
Здесь *
будет заменён на любое количество символов, что позволит вам перейти в первую найденную папку, начинающуюся с "Foo". Тем не менее, этот метод эффективен только в случае уникальности введённого сегмента. Если существует несколько совпадений, вы получите сообщение об ошибке из-за слишком длинного списка аргументов.
Вы также можете использовать подстановочные знаки в других частях имени:
cd *Baz
cd *Bar*
Этот подход достаточен для минимизации количества нажатий клавиш и упрощает процесс навигации.
2. Использование autojump
Autjump — это утилита, предназначенная для более удобного перехода в часто используемые директории. Программа запоминает каталоги, которые вы посещаете наиболее часто, и позволяет перейти к ним с помощью команды j
. Например:
j Foo
Эта команда переключит вас в папку, название которой содержит "Foo", с учётом частоты её использования. Вы также можете ограничить поиск по подкаталогам, воспользовавшись jc
.
3. Автокомплектация с помощью клавиши Tab
Используйте клавишу Tab для автоматического завершения имен файлов или каталогов. При частичном вводе имени папки просто нажмите Tab, и терминал предложит подходящие варианты. Например, вы можете ввести:
cd /u/sh/lo
Затем нажать Tab, что приведёт к автоматическому завершению до полного пути /usr/share/locale
, если он существует.
4. Включение опции autocd
в Bash и Zsh
Если вы хотите минимизировать ввод команд, вы можете активировать опцию autocd
. Это позволит вам переходить к директориям без явного указания команды cd
. В Bash это можно сделать следующим образом:
shopt -s autocd
В Zsh для этого используется команда:
setopt autocd
После активации этой опции можно просто ввести:
Foo*
И оболочка автоматически выполнит команду cd
в соответствующий каталог.
5. Использование расширенных функций Zsh
Zsh имеет более продвинутые функции автозавершения и может быть настроен с помощью алиасов и функций, что значительно улучшает опыт навигации. Вы можете ознакомиться с oh-my-zsh, чтобы получить доступ к более совершенной функциональности.
Заключение
Команда cd
в терминале, особенно с длинными именами папок, может быть сложной. Однако, используя подстановочные знаки, автозавершение с помощью клавиши Tab, утилиту autojump
и опции autocd
, вы можете существенно упростить процесс навигации в файловой системе. Эти методы не только сэкономят ваше время, но и сделают работу более удобной и эффективной.