6

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

Например , если у меня есть на компакт - диск в каталог

example-program-source-0.11.229-dev

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

cd example-program-source-0.11.229-dev

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

cd example-program...

Или же

cd example-program~

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

2 ответа2

20

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

5

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

cd example-program*

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

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

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

cat *.log

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