Поиск в истории команд Linux с помощью grep
Часто возникает необходимость найти ранее выполненную команду,
особенно если помнишь только часть.
Для этого идеально подходит связка history
и grep
:
1. Базовый поиск
history | grep фраза_для_поиска
history
— выводит список всех выполненных команд|
(пайп) — перенаправляет вывод вgrep
grep
— фильтрует строки по заданному шаблону
2. Поиск фраз с пробелами
history | grep 'фраза с пробелами'
Используйте одинарные или двойные кавычки,
чтобы обернуть фразу. Это нужно для корректной обработки пробелов и
специальных символов в shell.
3. Поиск с кавычками в самой фразе
Пример 1: ищем двойные кавычки внутри фразы
history | grep 'фраза с "кавычками"'
Результат: команды, содержащие фраза с "кавычками"
Пример 2: ищем одинарные кавычки внутри фразы
history | grep "фраза с 'кавычками'"
Результат: команды, содержащие фраза с 'кавычками'
4. Важное примечание
В shell работает правило «чередования кавычек»:
- Если внешние кавычки одинарные
' '
— внутри можно использовать двойные" "
- Если внешние кавычки двойные
" "
— внутри можно использовать одинарные' '
Это позволяет избежать необходимости экранирования символов через обратный слеш \
.