터미널에서 실행 된 명령 내역보기


75

입력 한 모든 터미널 명령을 저장하고 로그 북의 기록처럼 볼 수있는 방법이 있습니까?

답변:


92

이것은 자동으로 수행됩니다. 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=...현재 세션에서 실행 하십시오.


1
기본적으로 최신 500 명령 만 유지합니다. 보관할 번호를 변경할 수 있지만 실수로 기본 설정으로 한 번만 시작하면 모든 이전 기록이 사라집니다.
kasperd

이 우분투 16에 나를 위해 작동하지 않습니다
남 G VU

31

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^.


출처 : https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps


2
또한 입력 할 때 Ctrl-R을 눌러 호스트에서 검색을 수행 할 수도 있습니다.
Mhmd

historyUbuntu 16에서 나를 위해 일하고 있습니다. 감사합니다.
Nam G VU

9

그냥 입력 :

history > print.txt

현재 작업중인 디렉토리에 print.txt라는 새 파일이 생성됩니다.


3
1000 이후 명령을 차단
Antoine

3

나는 종종 최근 명령을 원합니다. 내 개발 노트 또는 다음과 같은 스택 교환 사이트에 게시하려면 ... 관련없는 행 번호를 제거하는 것이 매우 유용하다는 것이 입증되었습니다.

history | cut -c 8- | tail

또는 별칭으로 선호하는 경우 줄 번호가 제거되고 바로 들여 쓰기됩니다 (코드 인용 부호에 필요한만큼)

alias lastones="history | tail | sed -e 's/^ [0-9]\{1,5\}  /    /gi'"


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