.bash_history
파일 의 내용을보고 싶지만 명령 줄을 통해 파일을 얻는 방법을 모르겠습니다.
/home/username/.bash_history
?
.bash_history
터미널이 닫힐 때만 추가됩니다.
.bash_history
파일 의 내용을보고 싶지만 명령 줄을 통해 파일을 얻는 방법을 모르겠습니다.
/home/username/.bash_history
?
.bash_history
터미널이 닫힐 때만 추가됩니다.
답변:
당신은 실제 파일 자체에 액세스하려면, 단지 (내가 사용 좋아하는 텍스트 편집기를 사용 emacs
하지만 당신은 사용할 수 pluma
의 gedit
또는 vim
또는 무엇이든) :
emacs ~/.bash_history
히스토리 파일 인 경우 기본 위치입니다. 거기에서 아무것도 찾지 못하면 기록 파일 이름이 변경되었을 수 있습니다. $HISTFILE
변수에 저장 되므로 현재 값을 확인하기 위해 인쇄하십시오.
echo $HISTFILE
파일 대신 기록을보고 싶다면 history
@ minerz029가 제안한대로 실행할 수 있습니다 . 명령을 옵션없이 그냥의 내용을 인쇄 아직 줄 번호와 함께 해당 파일에 기록되지 않은 현재 쉘에서 실행되는 명령 다음에 있습니다.history
$HISTFILE
당신이 실제로 경우 필요 의 출력 .bash_history
파일을 대체 history
와 함께
cat ~/.bash_history
아래의 모든 명령한다.
실제로 숫자가없는 명령을 원하면 다음 대신이 명령을 사용하십시오 history
.
history | cut -d' ' -f 4-
그렇지 않으면 차이가 없습니다 (다른 쉘을 사용하는 경우 제외).
당신이 사용할 수있는
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종료하려면 누르 십시오.
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는 우분투 기본 쉘이기 때문에 거기에서 찾을 수 있습니다.
당신은 "추천 상자"와 같은 역사를 시도하고 싶을 수도 있습니다 https://github.com/dvorka/hstr-Bash 역사를 읽고 빠른 탐색을 허용합니다.
history | less