현재 세션의 bash 기록

현재 세션의 bash 기록

어쩌면 내가 뭔가를 간과하고 있을 수도 있지만 사용 중인 현재 세션에 대한 현재 bash 기록을 얻을 수 있는 방법이 있습니까?

내가 달리면

ssh host
$ pwd
$ ls
$ cd /tmp

이 3개의 명령만 보고 싶습니다. 다른 것은 없습니다.

답변1

약간 우회적인 방법:

history -a ~/current_history

그러면 현재 세션의 저장되지 않은 bash 기록이 에 저장되어 ~/current_history볼 수 있습니다.

답변2

history문제가 있어서 현재 글을 쓰고 싶어요문서하지만 여전히 항목이 기본 bash에 기록되기를 원합니다.history

나는 추가하여이 문제를 해결했습니다.문서그리고 cat:

history -a current-history
cat current-history >> .bash_history

답변3

history -a파일 이름으로 작업합니다 . 와 같은 장치 파일일 수 있습니다 /dev/stdout.

그런 다음 원하는 대로 파이프할 수 있습니다. 예를 들어 현재 세션 기록을 보려면 less다음을 수행하세요 .

history -a /dev/stdout | less

답변4

comp전체 기록(현재 Bash 세션 포함)을 저장된 기록과 비교 .bash_history하고 현재 세션과 관련된 줄만 인쇄하는 데 사용됩니다 . 이는 현재 Bash 쉘이 시작된 이후 실행된 명령만 표시해야 합니다.

comm -23 <( history | cut -c 8- ) ~/.bash_history

편집하다:@Wildcard가 지적했듯이 이 명령은 모든 배포판에서 작동하지 않습니다 comm. 저는 이것을 Mac OS에서 테스트했습니다.

동일한 아이디어의 다음 변형을 사용하십시오 diff.

diff <( history | cut -c 8- ) ~/.bash_history | sed -n 's/^< //pg'

관련 정보