Мне было интересно, есть ли способ в оболочке 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