13

Если я хочу перемещаться внутри папки с длинным трудно вводимым именем, есть ли способ использовать 'cd' с каким-то сокращенным именем этой папки, чтобы освободиться от ненужной работы?

3 ответа3

18

Если вы знаете, что имя является уникальным после нескольких напечатанных букв, вы можете сделать это, например, чтобы перейти в папку "FooBarBaz":

cd Foo*

Глобус * расширится до имени всех папок, начинающихся с Foo , и cd перейдет к первой найденной папке.

То же самое работает наоборот, или если часть, которую вы знаете, находится в середине имени папки:

cd *Baz
cd *Bar*

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

Вы можете стать еще короче, если вы установите опцию autocd , предполагая, что вы используете Bash, с shopt -s autocd . Требуется только ввести имя каталога без cd чтобы иметь cd оболочки. Например:

shopt -s autocd
Foo*

Конечно, вы можете добавить эту опцию в файл конфигурации вашей оболочки, чтобы она автоматически загружалась (например, ~/.bash_profile или ~/.bashrc , в зависимости от того, что вы используете).

13

Вы можете использовать клавишу Tab ↹ для автоматического заполнения частично напечатанных имен файлов.

1

Вы можете попробовать использовать 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .