OS X에서 모든 터미널 명령 내역을 읽습니다.


10

OS X의 터미널에서 실행되는 모든 명령에 액세스하여 실행중인 알림 시트로 검토하고 사용할 수 있습니다.

Reverse-I-Search 프롬프트를 사용하고 있으며 여기에서 Mactoids : 터미널 명령 히스토리 검색 방법에서 언급 한대로 내 히스토리를 모두 저장하도록 .bash_profile을 업데이트했습니다 .

  1. 터미널을 시작하십시오.

  2. 다음을 입력하여 홈 폴더로 이동하십시오.

    cd ~/
    
  3. 다음을 입력하여 .bash_profile을 작성하십시오.

    touch .bash_profile
    
  4. 이제 좋아하는 텍스트 편집기에서 .bash_profile을 편집하거나 터미널 창에 이것을 입력하여 기본 TextEdit에서 파일을 자동으로 엽니 다.

    open -e .bash_profile
    
  5. 마지막으로 이것을 .bash_profile 파일에 추가하십시오.

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
  6. 저장하고 종료.

OS X에서 터미널 명령 기록을 출력하기 위해 어떻게 액세스 할 수 있는지 알고 있습니까?


4
나는 당신이 읽은 것으로 추정 man bash하므로 기록이 파일에 저장되어 있음을 알아야합니다 ~/.bash_history. 더 알아야 할 것이 있습니까? 명확히 할 수 있습니까?

예, 'man'명령이 새로 생겼기 때문에 설명서를 읽고 답을 찾은 다음 재미를 위해 위의 질문을하기로 결정했습니다. 빠르고 명확하며 소박한 답변을 해주셔서 감사합니다.
Cameron McGrane

답변:


6

모든 내역은에 저장되며 ~/.bash_history여기 reverse-i-search에서 위 / 아래 키를 사용합니다. 해당 파일은 정기적으로 정리되지만 링크의 안내를 따르면 .bash_history실제로 파일이 정리되지 않습니다.


FIFO 또는 LIFO 전정?
Pacerier

@Pacerier, 나는 더 이상 macOS를 사용하지 않기 때문에 완전히 확신 할 수는 없지만 추측해야한다면 FIFO 정리.
fideli

2

개인적으로, 나는 모든 터미널 창과 모든 명령을 다루지 않는 최신 세션을 확인하는 대신 보다 간단한 방법으로 모든 것을 인쇄하는 것을 선호 합니다.

전체 역사를 얻으십시오

cd ~/.bash_sessions
cat *.historynew *.history

세션 날짜별로 정렬하려면

cd ~/.bash_sessions
cat `ls -tr *.historynew *.history`

1

여전히 수정이 필요한 경우 여기에 내가 한 일이 있습니다. 이를 통해 모든 탭에서 내역을 저장하고 액세스 할 수 있습니다 (예 : 하나의 탭에서 명령을 입력 한 다음 새 탭을 열고 위로 누르면 이전 탭에서 방금 입력 한 명령이 제안됩니다)

다음 두 가지가 필요합니다. 1. 터미널에 다음 명령을 입력하여 histappend가 켜져 있는지 확인하십시오.

shopt -s histappend && shopt histappend

2. 당신은 또한 당신의 히스토리 명령이 저장되는 곳을 알아야합니다.

내 히스토리 파일은 ~ / .bash_sessions에 저장되므로 코드가 반영됩니다. ~ / .bash_history 또는 다른 디렉토리에 저장되어 있다면 ~ / .bash_sessions로 바꾸십시오.

알아 낸 후에는 bash_profile을 열고 다음 코드를 추가하십시오.

source ~/.bash_sessions/*.history        #<--sources prev sessions through your bash_profile. If you don't use ~/.bash_sessions to store your history, replace it with whatever you use (i.e. source ~/.bash_history/*.history

export HISTCONTROL=ignoredups:erasedups #<-- auto-erases duplicates in your history
export HISTSIZE=1000                    #<-- assigns # of results to return
export HISTFILESIZE=100000              #<-- assigns # of results to store in your .bash_history
shopt -s histappend                     #<-- appends & saves history throughout all tabs

export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"  <--appends history from all tabs, clears & uses appended history file as current  

1
실행 source ~/.bash_sessions/*.history은 모든 명령을 실행합니다.
panchicore
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.