![현재 세션의 bash 기록](https://linux55.com/image/60011/%ED%98%84%EC%9E%AC%20%EC%84%B8%EC%85%98%EC%9D%98%20bash%20%EA%B8%B0%EB%A1%9D.png)
어쩌면 내가 뭔가를 간과하고 있을 수도 있지만 사용 중인 현재 세션에 대한 현재 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'