Команду, набранную час назад, не нужно вспоминать по буквам: оболочка помнит её за тебя.
Стрелка вверх достаёт прошлую команду, следующие нажатия — команды старше, стрелка вниз — новее. Вызванную строку можно поправить до Enter. Весь список с номерами, датой и временем печатает history:
В историю команд попадают и опечатки, и команды, которые упали с ошибкой. Одна и та же команда, набранная несколько раз подряд, хранится один раз. Как команда выполнилась, история не помнит: она хранит строки.
Давнюю команду быстрее найти поиском. Ctrl+R открывает поиск по истории: набирай кусок команды, и в строке появится последняя подходящая. Каждый следующий Ctrl+R находит совпадение раньше. Что делать с найденной строкой, решает следующая клавиша:
| Клавиша | Что будет с найденной строкой |
|---|---|
| Enter | выполнится сразу |
| → | останется в строке для правки |
| Ctrl+G | пропадёт: поиск закроется, вернётся прежняя строка |
Пароль, набранный прямо в команде, останется в истории. Секреты в командной строке не пиши.
Ctrl+R по слову host нашёл sudo hostname web-01. Тебе нужна такая же команда, но с именем web-02. Что сделаешь?
-
historyпечатает список команд с номерами и временем и ничего не выполняет. Найденную строку оставляет для правки стрелка вправо. -
Ctrl+G закрывает поиск и возвращает строку, какой она была до Ctrl+R, — найденная команда пропадёт. Для правки служит стрелка вправо.
-
Enter в поиске выполняет найденное сразу: машина получит имя web-01. Проверь
hostnameпосле такого Enter.
Найденную строку стрелка вправо оставляет в строке ввода, и её можно поправить. Enter в поиске выполнил бы sudo hostname web-01 как есть, а Ctrl+G закрыл бы поиск и вернул прежнюю строку.
Главное в шаге
- Стрелки вверх и вниз листают историю, вызванную строку можно поправить до Enter.
- Ctrl+R ищет по истории: Enter выполняет найденное сразу, стрелка вправо оставляет его для правки.