Как избежать написания полных имен файлов

Как избежать написания полных имен файлов

Мне было интересно, есть ли способ в оболочке Linux ввести первую уникальную часть имени файла или каталога, а затем добавить «~» или «...» и избежать написания всего имени файла.

Например, если мне нужноCDв каталог

example-program-source-0.11.229-dev

Вместо того, чтобы писать

cd example-program-source-0.11.229-dev

Просто чтобы написать что-то подобное

cd example-program...

Или

cd example-program~

Я думаю, что в оболочке должно быть что-то подобное, но я не знаю, что именно искать.

решение1

Большинство оболочек поддерживают так называемое «Tab Completion». Просто введите уникальную часть имени файла, а затем нажмите клавишу Tab. Оболочка должна автоматически дополнить остальную часть имени файла за вас. Если все еще есть несколько файлов, которые соответствуют тому, что вы ввели до сих пор, оболочка либо будет циклически перебирать соответствующие файлы, когда вы нажмете Tab, либо выведет список всех соответствующих файлов, когда вы дважды нажмете Tab, в зависимости от конфигурации. По умолчанию Bash выводит список, когда вы нажмете Tabдважды.

решение2

*В качестве подстановочного знака можно использовать :

cd example-program*

Обратите внимание, что это расширится довсефайлы, соответствующие подстановочному знаку. В вашем случае вы можете использовать его только в том случае, если есть только один путь, начинающийся с example-program. Если есть несколько каталогов с префиксом, команда будет фактически расширена, например, до:

cd example-program-source-0.11.229-dev example-program-other example-program.txt

Это может быть полезно, если вы на самом делехотетьдля работы с несколькими файлами, например, если вы хотите отобразить содержимое всех .logфайлов в папке:

cat *.log

Связанный контент