답변:
이것은 자동으로 수행됩니다. Bash는에 명령을 저장합니다 ~/.bash_history
. 히스토리를 보려면 다음 중 하나를 사용하여이 파일의 출력을 인쇄하십시오.
cat ~/.bash_history
less ~/.bash_history
...any other pager or output command...
또는 bash의 내장 명령을 사용할 수 있습니다.
history
기록을 지우려면 파일을 삭제하고 임시 기록을 지우십시오.
rm ~/.bash_history && history -c
히스토리 크기는 기본적으로 500 개의 명령입니다. 그러나 다음 줄을 추가하여 이것을 늘릴 수 있습니다 ~./bashrc
.
HISTSIZE=<number of entries, -1 for unlimited>
이것은 즉시 적용되지 않고 새로 시작된 세션에만 적용됩니다. 이를 적용하려면 .bashrc 파일을 리소스로 사용하십시오.
. ~/.bashrc
또는 HISTSIZE=...
현재 세션에서 실행 하십시오.
history
터미널에서 입력 하여 이전에 실행 한 모든 명령을 볼 수 있습니다 .
출력을 일부 행으로자를 수 있습니다 (여기서 5는 행 수).
history 5
문자열이 포함 된 명령 (예 :) 만 보려면 mv
다음을 수행하십시오.
history | grep mv
!
항목 번호를 입력하여 명령을 호출 할 수 있습니다 .
내가 이런 역사를 가지고 있다고 가정 해 봅시다.
1 ls -la
2 mkdir foo
3 mv bar.txt foo
mkdir foo
다음을 입력하십시오 !2
.!-1
또는!!
!-2
루트 권한 (예 :)이 필요하기 때문에 실패한 명령 을 실행하면 마지막 명령을 루트로 실행할 touch /etc/foo
수 있습니다 sudo !!
.
!man
하면 다음으로 시작하는 마지막 명령이 실행됩니다man
!?man?
하면 포함 된 마지막 명령이 실행됩니다 man
(필수적으로 시작하는 줄 에는 없음)명령에 오타가 있으면 이런 식으로 수정할 수 있습니다. 의 내가 입력한다고 가정 해 봅시다 cat .bash_hi
대체하기 .bash_hi
로 .bash_history
난 단지 입력해야합니다 ^hi^history^
.
history
Ubuntu 16에서 나를 위해 일하고 있습니다. 감사합니다.
나는 종종 최근 명령을 원합니다. 내 개발 노트 또는 다음과 같은 스택 교환 사이트에 게시하려면 ... 관련없는 행 번호를 제거하는 것이 매우 유용하다는 것이 입증되었습니다.
history | cut -c 8- | tail
또는 별칭으로 선호하는 경우 줄 번호가 제거되고 바로 들여 쓰기됩니다 (코드 인용 부호에 필요한만큼)
alias lastones="history | tail | sed -e 's/^ [0-9]\{1,5\} / /gi'"
당신이 시도 할 수 있습니다 https://github.com/dvorka/hstr 간단한 허용하는 브라우징 , 탐색 및 배시 역사의 필터링을 "상자 스타일을 제안"
그것은 쉽게 할 수 바인딩 에 Ctrl-r및 / 또는Ctrl-s