텍스트 편집기로 쉘 명령 히스토리를 어떻게 검색합니까?


8

나는 Ctrl+ R명령 기록을 검색하도록하겠다는 것을 알고 있지만 약간 원시적이다. 모든 명령 내역 (현재 터미널 세션뿐만 아니라 전체 내역)을 텍스트 파일로 내보내는 방법이 있습니까? 그런 다음 텍스트 편집기를 사용하여 편안하게 검색 할 수 있습니다. 또는 기록 파일이 이미 존재하는 경우 어디에 있습니까?


쉘의 명령 히스토리를 의미한다고 가정하고 기본 쉘인 bash를 사용하도록 편집했습니다.
muru

답변:


13

보낸 사람 man bash:

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a shell exits.

따라서 변수 HISTFILE에는 기록이 저장 될 파일 이름이 포함됩니다.

$ echo "$HISTFILE"
/home/user/.bash_history

이제 패턴을 검색 할 수 있습니다.

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

@Dennis가 지적했듯이 history -a실행중인 세션의 명령 기록을 $HISTFILE파일 에 추가하도록 실행할 수 있습니다 . 기본적으로 세션을 닫으면 명령이 자동으로 추가 history -a되며 그 순간에 동일한 작업이 수행됩니다.

내장 자체 help history에 대해 더 많은 아이디어를 얻으려면 실행하십시오 history.


1
히스토리 파일에는 일반적으로 현재 bash 세션이 시작된 이후에 입력 된 행이 포함되지 않으며,이 행은을 실행하여 수정할 수 있습니다 history -a.
Dennis

@ 데니스 : 좋은 지적 .. 추가 ..
heemayl

4

이 시도:

history > output.txt
less output.txt

그런 다음 /+ 를 입력하여 검색searchterm


3

bash 기록은 홈 디렉토리에 저장됩니다 ~/.bash_history.

기본적 으로이 파일에서 Ctrl+를 R검색합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.