커맨드 라인을 통해`.bash_history` 파일을 보는 방법은 무엇입니까?


답변:


56

당신은 실제 파일 자체에 액세스하려면, 단지 (내가 사용 좋아하는 텍스트 편집기를 사용 emacs하지만 당신은 사용할 수 plumagedit또는 vim또는 무엇이든) :

emacs ~/.bash_history

히스토리 파일 인 경우 기본 위치입니다. 거기에서 아무것도 찾지 못하면 기록 파일 이름이 변경되었을 수 있습니다. $HISTFILE변수에 저장 되므로 현재 값을 확인하기 위해 인쇄하십시오.

echo $HISTFILE

파일 대신 기록을보고 싶다면 history@ minerz029가 제안한대로 실행할 수 있습니다 . 명령을 옵션없이 그냥의 내용을 인쇄 아직 줄 번호와 함께 해당 파일에 기록되지 않은 현재 쉘에서 실행되는 명령 다음에 있습니다.history$HISTFILE


49

당신이 실제로 경우 필요 의 출력 .bash_history파일을 대체 history와 함께
cat ~/.bash_history아래의 모든 명령한다.

실제로 숫자가없는 명령을 원하면 다음 대신이 명령을 사용하십시오 history.

history | cut -d' ' -f 4-

그렇지 않으면 차이가 없습니다 (다른 쉘을 사용하는 경우 제외).


마지막 15 개 명령

당신이 사용할 수있는

history | tail -n 15

마지막으로 마지막으로 인쇄 된 (맨 아래) 인쇄 된 내역의 마지막 15 줄만 가져옵니다.


명령 검색

또는

history | grep "apt-get" | tail -n 15

apt-get마지막으로 실행 된 마지막 명령이 포함 된 마지막 15 개의 명령을 가져옵니다 (맨 아래). 당신은 대체 할 수 apt-get있습니다 (이 정규 표현식 일 수 있음)를 검색하려는 명령 (또는 명령 인수)와 함께.


히스토리 스크롤

당신이 사용할 수있는

history | tac | less

가장 최근에 시작하여 실행 된 모든 명령 을 스크롤 합니다. q종료하려면 누르 십시오.

마찬가지로

history | grep "apt-get" | tac | less

" "로 실행 된 모든 명령 apt-get(인수 포함)을 맨 처음부터 시작 하여 스크롤 합니다. q종료하려면 누르 십시오.


15

minerz029의 탁월한 답변 외에도.

반복해서 'history'명령은 옆에 숫자와 함께 기록을 인쇄합니다.

히스토리 출력을 grep 등으로 파이프 할 수 있습니다.

히스토리 출력에는 출력 옆의 왼쪽에 숫자가 표시됩니다. 예 :

  469  free
  470  ps -fA
  471  ps -fA | grep xend
  472  free
  473  sudo vi /etc/xen/xend-config.sxp 
  474  cat /etc/default/grub 

이 번호로 명령을 다시 실행할 수 있습니다.

예를 들어 473을 다시 실행하려면 터미널에 입력합니다.

 admin@xen1~$ !473

히스토리 출력에서 ​​473 옆에있는 명령을 반복하려면 enter 키를 입력하십시오.

당신은 또한 수 있습니다 대화 형으로 뒤로 검색 을 입력하여 명령 기록에서 ctrl + r키를 다음 명령의 내용의 일부를 입력하기 시작하며 검색하여 작성합니다. 찾은 경우 enter를 입력하여 반복하거나 [tab]키를 눌러 명령 행에 복사하여 명령을 먼저 편집 할 수 있습니다.

물론 마지막 두 옵션은 bash 쉘에서 작동합니다. 이러한 기능이 다른 쉘에서 작동하는지 확실하지 않습니다. 그러나 bash는 우분투 기본 쉘이기 때문에 거기에서 찾을 수 있습니다.


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