Например, я ввожу
cat /very/long/path/textfile
и сразу после этого я решаю дать следующую команду
rm /very/long/path/textfile
Итак, мой вопрос: какой самый простой/быстрый способ заменить первое слово предыдущей команды? (без клавиш со стрелками или копирования-вставки)
Это должно работать для любой команды (cat, rm и textfile приведены только для этого примера, это не обязательно)
решение1
Предполагая, что вы используете оболочку со стандартным механизмом истории (например, bash, C shell, …), введите новую команду (например, rm
), а затем !*
. Введите man bash
, man csh
, или что-то другое, что вам подходит, чтобы увидеть больше подробностей (и естьмногоиз них).
решение2
Если вы используете bash, вы можете ввести <Esc>_
, чтобы получить последний аргумент предыдущей команды. Вы также можете использовать переменную $_
.
Другой подход — вызвать предыдущую команду с помощью Ctrl-P
, затем использовать Ctrl-A
, чтобы перейти к началу команды, затем, Alt-D
чтобы удалить первое слово, ввести новое первое слово (имя команды) и нажать Enter.
решение3
Если вы используете bash или sh, вы можете ввести первую команду, а затем нажать «Alt» с «.» (точкой), чтобы получить последний аргумент предыдущей команды.
cat /very/long/path/textfile
использовать последний аргумент более раннего типа команды
нажмите "Alt+." и вы получите
rm /very/long/path/textfile