Библиотека сайта rus-linux.net
Завершение командной строки |
||
---|---|---|
Глава 3. Введение в командную строку |
Завершение командной строки
Завершение
- это очень удобная функция, и все современные shells
(включая bash) обладают ее. Ее роль заключается в облегчении работы
пользователя настолько, насколько это возможно. Наилучший способ
демонстрации завершения - это иллюстрация на примере.
Пример
Допустим, что в
вашем личном каталоге имеется
файл_с_очень_длинным_и_сложным_для_ввода_именем
,
и вам нужно его просмотреть. Допустим, что у вас в том же самом
каталоге есть файл с именем файл_с_текстом
.
Вы находитесь в своем личном каталоге, поэтому введите следующую
последовательность:
$ less фа<TAB> |
(т.е., введите
less фа, а
затем нажмите клавишу TAB
).
Затем shell
расширит командную строку до следующего:
$ less файл_с_ |
а также выведет список возможных вариантов (это его конфигурация по умолчанию, которая может быть настроена). Затем введите следующую последовательность символов:
less файл_с_о<TAB> |
и shell
расширит командную строку до нужного вам результата:
less файл_с_очень_длинным_и_сложным_для_ввода_именем |
Затем все, что
вам нужно сделать - это нажать клавишу Enter
для подтверждения и приняться за чтение файла.
Другие способы завершения
Клавиша
TAB - это не единственный способ для выполнения завершения, хотя он и
является самым общим. Как правило, завершаемым словом будет название
команды для первого слова в командной строке (результатом nsl<TAB>
будет nslookup),
а имя файла - для всех стальных слов, если только перед словом не
идет «магический» символ типа ~
,
@
или $
.
В данном случае shell
попытается завершить имя пользователя, имя машины или имя переменной
окружения соответственно[8].
Также существует магический символ для завершения имени файла (/
)
и команда для повторного вызова команды из истории (!
).
Другие два
способа для выполнения завершения - это последовательности Esc-<x>
и Ctrl+x <x>
,
где <x>
- это один из упомянутых выше магических символов. Esc-<x>
попробует предложить единственное завершение. В случае неудачи слово
будет завершено наибольшей возможной подстрокой из списка вариантов.
Звуковой
сигнал (beep) означает, что выбор
не является единственным, или просто нет подходящего варианта.
Последовательность Ctrl+x <x>
выводит список возможных вариантов без попытки какого-либо
завершения. Нажатие на клавишу TAB
- это то же самое, что и последовательное нажатие Esc-<x>
и Ctrl+x <x>
,
где магический символ зависит от контекста.
Таким образом,
единственным способом увидеть все определенные переменные окружения
будет ввести в пустой строке последовательность Ctrl+x
$
. Другой пример: если вам нужно
просмотреть страницу man для команды nslookup,
просто введите man nsl,
а затем Esc-!
,
и командный процессор автоматически завершит команду до man
nslookup.
[8]
Помните: UNIX®
различает верхний и нижний регистры. Переменная окружения HOME
и переменная home
- это не одно и то же.
Перенаправления и каналы |
Запуск и обработка фоновых процессов: управление заданиями |