изменить первое слово предыдущей команды

изменить первое слово предыдущей команды

Например, я ввожу

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

Связанный контент