Это простое, но очень полезное средство, действующее следующим образом. Если набрать в командной строке достаточное число символов, чтобы указать уникальное имя файла, команды или каталога, то Bash может дополнить недостающую его часть. Предположим, вы набрали
$ /usr/lo
В большинстве систем этого достаточно для идентификации единственного объекта - каталога /usr/local/. Нажмите клавишу Tab, и Bash попытается дополнить недостающую часть имени. Если существует единственный объект (файл, каталог или команда) с именем, начинающимся с /usr/lo, то Bash дополнит это имя. В нашем случае до /usr/local/.
Конечно, в некоторых случаях введенной части имени недостаточно для определения единственного объекта. Тогда Bash выводит список возможных имен. Например, если набрать
$ /usr/1
это может соответствовать /usr/local/ или /usr/lib/. Если нажать клавишу Tab, оболочка Bash будет не в состоянии выбрать единственный вариант и выдаст список всех возможных.
lib local
Пользователь может набрать еще несколько символов и снова нажать Tab. В данном примере достаточно набрать "о". После нажатия клавиши Tab Bash дополнит имя до /usr/local / .
Вероятно, вам не дает покоя вопрос: что произойдет, если набрать неполное имя файла, находящегося в локальном каталоге или любом другом, включенном в путь по умолчанию, без указания полного пути? Сможет ли Bash дополнить его? Ответ - да. При дополнении имени файла или каталога, указанных без полного пути, как в команде
Bash проводит поиск имен, совпадающих с введенной частью строки, в каталогах, указанных в пути по умолчанию. В большинстве систем для дополнения указанной команды найдется лишь несколько имен, в том числе grep и groff , так что предложенный список возможных вариантов будет выглядеть примерно так:
grep groff grotty
Чтобы выбрать команду grep, достаточно набрать букву "е" и нажать Tab.