과거에는 사람들이 어떻게 명령을 "복사하여 붙여넣기"했습니까?

과거에는 사람들이 어떻게 명령을 "복사하여 붙여넣기"했습니까?

나는 history | grep ‘whatever'cmd를 복사하여 붙여넣는 것을 사용하고 있는데 이것이 지루하다고 생각합니다.

$(history | grep 'whatever')1줄이면 cmd를 실행하기도 하는데(이보다 더 많으면 처리해야함) sed줄번호를 삭제하는데 사용해야 합니다.

그렇다면 복사-붙여넣기가 작동하지 않으면 사람들이 명령을 다시 입력해야 합니까? 아니면 그냥 사용 sed하고 awk처리한 다음 실행합니까?

답변1

내 경험에 따르면 UNIX가 반드시 연대순은 아닙니다.

"옛날"에는 명령줄 편집도 마우스도 없었습니다. Normal sh또는 을 입력하는 것처럼 명령을 다시 입력합니다 dash. 이것이 일반적인 명령이 더 짧은 이유 중 하나라고 생각됩니다. 개인 디렉터리 $HOME/bin의 간단한 스크립트는 $PATH보다 일반적인 작업을 용이하게 합니다.

이것은 수년 동안 나의 환경이었으며 PC에서 실행되는 X Windows로 향상되었습니다(X 비전)를 사용하면 마우스로 복사하여 붙여넣을 수 있습니다.

다음은 C Shell( csh)과 해당 명령 내역입니다. 아직 명령줄 편집은 없지만 이전 명령을 반복하고 간단히 수정할 수 있습니다. 다음은 %C 셸 프롬프트입니다.

% echo hello, world
hello, world

% ^world^earth
echo hello, earth
hello, earth

% history
    12  echo hello, world
    13  echo hello, earth
    14  history

% !13
echo hello, earth
hello, earth

% !13:s/hello/goodbye
echo goodbye, earth
goodbye, earth

% !h
history
    12  echo hello, world
    13  echo hello, earth
    14  history
    15  echo hello, earth
    16  echo goodbye, earth
    17  history

그런 다음 tcsh명령줄 편집 도구를 제공합니다. 내가 쓴 스크립트는 sh.

그런 다음 이것이 명령줄 대체(위와 같이 사용 ) bash를 사용할 수 있을 뿐만 아니라 내 스크립트와 동일한 구문을 사용할 수도 있다는 것을 발견했습니다 . 아직 이사한 적이 없어서 지금은 이것이 제가 선호하는 환경입니다.history^old^newzsh

답변2

Bash는 복사 및 붙여넣기가 불가능한 터미널에서 명령을 다시 입력하지 않도록 몇 가지 옵션을 제공합니다.

가장 유용한 것은 아마도Ctrl+R, 기록에서 역검색을 수행할 수 있습니다.

Alt+.마지막 명령의 매개변수를 삽입합니다.

CTRL+I또는상표명령, 파일 이름, 디렉터리 이름을 자동으로 완성합니다. Alt+/파일 이름과 디렉터리 이름만 자동으로 완성됩니다.

Ctrl+Alt+E현재 명령줄에 입력된 Bash 별칭을 확장합니다.

그렇다면 물론 당신은위로그리고아래에화살표 키를 사용하면 기록을 찾아보고 실행된 명령을 선택할 수 있습니다.

관련 정보