В Bash зачастую приходится много чего выполнять вручную, поэтому были разработаны разные способы для упрощения ввода команд. В первую очередь, Bash позволяет сохранять и быстро вызывать историю ранее введённых команд. А также существует функция автодополнения, которая завершает команду или путь, если вы написали только начало.
История команд
Если в командной строке нажимать клавишу со стрелкой вверх, будут отображаться ранее введённые команды. Сначала показана последняя команда, затем предпоследняя, и так далее, по мере нажатия. Нажатие стрелки вниз поможет вернуть вас к более поздним командам после просмотра более ранних.
Это особенно полезно для повторного ввода длинной команды или команды с незначительными изменениями. Прокручивая историю, можно наблюдать, какие команды исполнялись ранее.
Чтобы избежать сохранения команды в историю, перед её вводом напечатайте пробел.
В завершении сеанса Bash сохраняет команды в файл .bash_history, который находится в папке пользователя. В Unix-подобных системах такие файлы скрыты из виду за счёт точки в начале имени, но их всегда можно просмотреть или изменить при необходимости.
На изображении команда cat
выводит на экран содержимое файла. Заметим, что команды текущего сеанса ещё не добавлены в
.bash_history.
Автодополнение
Автодополнение — это возможность оболочки автоматически завершать ввод слов, если они определяются однозначно. Для автодополнения в Bash используется клавиша Tab.
Например, если вы хотите запустить программу filezilla, обычно достаточно ввести filez и нажать Tab. Оболочка завершит название до filezilla, если нет других совпадающих команд.
Автодополнение работает как с программами-командами, так и с путями к файлам. Например, в домашних каталогах Linux обычно есть папка Загрузки или Downloads. Можно начать ввод её имени, нажать Tab, и получив полное имя.
Важно учитывать, что Bash и Linux различают регистр символов. Поэтому text.txt и Text.txt считаются разными файлами.
Если не получается однозначно определить команду или файл, двойное нажатие Tab выведет все возможные варианты на экран.
В примере введено apt, затем дважды нажата клавиша Tab, что дозволяет Bash вывести все команды, начинающиеся с этого слова.
Кроме того, автодополнение полезно, если вы не помните точное название программы.
Ctrl + U и Ctrl + W
Сочетание клавиш Ctrl + U удаляет всю строку, очищая её полностью (не путать с командой clear, очищающей весь терминал). Это удобнее стирания Backspace. Курсор должен быть в конце строки.
Если курсор расположен в середине, удаляется всё впереди него, а текст позади остаётся.
Комбинация клавиш Ctrl + W удаляет одно слово перед курсором. Например, в следующем примере нажатие Ctrl + W удаляет слово install.
Обычно в файловых менеджерах Linux при нажатии Ctrl + H отображаются скрытые файлы.
Задание
- Откройте "Терминал" и убедитесь, что история команд доступна. Закройте "Терминал".
- Откройте файл .bash_history в текстовом редакторе и удалите его содержимое, затем сохраните файл.
- Снова откройте "Терминал". Сохранились ли в истории ваши прошлые команды?