명령 기록에서 bash 명령 내부를 검색하고 바꾸는 방법이 있습니까?

명령 기록에서 bash 명령 내부를 검색하고 바꾸는 방법이 있습니까?

예를 들어 내 명령줄 기록에는 다음이 포함됩니다.

systemctl status puppet.service

다시 실행하고 status다음과 같이 변경하고 싶습니다 start.

systemctl start puppet.service

%s/tus/art/g단축키 등을 사용할 수 있는 방법이 있나요 ?

답변1

다음 단축키를 사용하여 마지막 명령을 다시 입력할 수 있습니다.

!!

그런 다음 다음을 사용하여 내부 교체를 수행할 수 있습니다.

:s/from/to

그것들을 합치면 다음과 같습니다:

!!:s/from/to/

이전 숫자 명령을 참조할 수 !-n있으며 대체도 발생합니다.

!-1:s/from/to/

문자열 인용 명령을 사용하려는 경우 또 다른 유용한 단축키는 다음과 같습니다.

!?cmd?:s/from/to

귀하의 경우에는 다음과 같습니다.

!?systemctl?:s/tus/art/g

관련 정보