Многие знают, что в bash есть история команд (history, !, !!), но мало кто активно пользуется экспресс-заменой.
▪️ Замена в последней команде: ^old^new
Если вы ввели команду с ошибкой, не нужно её перепечатывать целиком. Просто используйте конструкцию:
^ошибка^правильноПример:
sl -l #неверная команда
bash: sl: command not found
^sl^ls # исправление
ls -l
Bash сам возьмет последнюю команду из истории и заменит в ней sl на ls.
▪️ Более гибкая работа с историей: !
!! - повторяет последнюю команду!ls - повторяет последнюю команду, начинавшуюся с ls!$ - последний аргумент предыдущей команды!* - все аргументы предыдущей командыПример:
tar -xf archive.tar.gz /tmp
cd !$
cd /tmp
▪️ Ctrl+R для интерактивного поиска
нажмите Ctrl+R и начните печатать часть команды - bash покажет совпадение из истории.
Нажимайте Ctrl+R ещё раз, чтобы найти следующее.
BashTex 📱 #bash