В Bash зачастую приходится много чего выполнять вручную, поэтому были разработаны разные способы для упрощения ввода команд. В первую очередь, Bash позволяет сохранять и быстро вызывать историю ранее введённых команд. А также существует функция автодополнения, которая завершает команду или путь, если вы написали только начало.

История команд

Если в командной строке нажимать клавишу со стрелкой вверх, будут отображаться ранее введённые команды. Сначала показана последняя команда, затем предпоследняя, и так далее, по мере нажатия. Нажатие стрелки вниз поможет вернуть вас к более поздним командам после просмотра более ранних.

Это особенно полезно для повторного ввода длинной команды или команды с незначительными изменениями. Прокручивая историю, можно наблюдать, какие команды исполнялись ранее.

Чтобы избежать сохранения команды в историю, перед её вводом напечатайте пробел.

В завершении сеанса Bash сохраняет команды в файл .bash_history, который находится в папке пользователя. В Unix-подобных системах такие файлы скрыты из виду за счёт точки в начале имени, но их всегда можно просмотреть или изменить при необходимости.

История команд в файле .bash_history

На изображении команда cat выводит на экран содержимое файла. Заметим, что команды текущего сеанса ещё не добавлены в .bash_history.

Автодополнение

Автодополнение — это возможность оболочки автоматически завершать ввод слов, если они определяются однозначно. Для автодополнения в Bash используется клавиша Tab.

Например, если вы хотите запустить программу filezilla, обычно достаточно ввести filez и нажать Tab. Оболочка завершит название до filezilla, если нет других совпадающих команд.

Автодополнение работает как с программами-командами, так и с путями к файлам. Например, в домашних каталогах Linux обычно есть папка Загрузки или Downloads. Можно начать ввод её имени, нажать Tab, и получив полное имя.

Важно учитывать, что Bash и Linux различают регистр символов. Поэтому text.txt и Text.txt считаются разными файлами.

Если не получается однозначно определить команду или файл, двойное нажатие Tab выведет все возможные варианты на экран.

Получение списка команд при двойном нажатии Tab

В примере введено apt, затем дважды нажата клавиша Tab, что дозволяет Bash вывести все команды, начинающиеся с этого слова.

Кроме того, автодополнение полезно, если вы не помните точное название программы.

Ctrl + U и Ctrl + W

Сочетание клавиш Ctrl + U удаляет всю строку, очищая её полностью (не путать с командой clear, очищающей весь терминал). Это удобнее стирания Backspace. Курсор должен быть в конце строки.

Если курсор расположен в середине, удаляется всё впереди него, а текст позади остаётся.

Комбинация клавиш Ctrl + W удаляет одно слово перед курсором. Например, в следующем примере нажатие Ctrl + W удаляет слово install.

Удаление одного слова из командной строки

Обычно в файловых менеджерах Linux при нажатии Ctrl + H отображаются скрытые файлы.

Задание

  1. Откройте "Терминал" и убедитесь, что история команд доступна. Закройте "Терминал".
  2. Откройте файл .bash_history в текстовом редакторе и удалите его содержимое, затем сохраните файл.
  3. Снова откройте "Терминал". Сохранились ли в истории ваши прошлые команды?

Вопросы для самопроверки:

  1. Какую клавишу нужно нажать, чтобы просмотреть ранее введённые команды в Bash?
  2. Как предотвратить сохранение команды в историю перед её вводом?
  3. Для чего используется клавиша Tab в Bash?
  4. Как Bash позволяет просмотреть все возможные варианты команд или файлов, если не удаётся определить их однозначно?
  5. Что происходит при нажатии сочетания клавиш Ctrl + U в командной строке Bash?
  6. Какое действие выполняет сочетание клавиш Ctrl + W в Bash?
  7. Что происходит, если в файловых менеджерах Linux нажать Ctrl + H?

Программа курса:

  1. Описание курса
  2. История операционной системы Linux
  3. Основы лицензии GNU GPL и её преимущества
  4. Функции и структура ядра Linux-систем
  5. Структура и каталоги файловой системы Linux
  6. Основные типы файлов в системе Linux
  7. Интерфейс командной строки в Linux
  8. Командная оболочка Bash в Linux
  9. Использование параметров команд в Bash
  10. Использование Ctrl+C, Ctrl+D и Ctrl+Z
  11. Автодополнение и история команд в Bash
  12. Перенаправление ввода и вывода в Bash
  13. Документация Linux и Man-страницы
  14. Абсолютная и относительная адресация в Linux
  15. Команда ls - как просматривать каталоги в Linux
  16. Копирование, перемещение и удаление в Linux
  17. Жесткие и символьные ссылки в Linux
  18. Создание жестких и символических ссылок в Linux
  19. Права доступа к файлам и каталогам в Linux
  20. Изменение прав доступа к файлам с помощью chmod
  21. Использование шаблонов имен файлов в Linux
  22. Поиск файлов в Linux с помощью команды find
  23. Использование команды sudo в Linux
  24. Управление пакетами с помощью APT в Linux