내 것이 무엇인지 확인하고 싶었습니다 history
. 성공할 것이라고 생각했지만 history | tail -n 5
여러 줄 명령에 그 만큼 많은 줄이 있다는 것을 알았습니다.
$ echo "hello
how are you"
$ history | tail -2
how are you"
1051 history | tail -2
그래서 내 질문은: 이 작업을 수행하려면 명령의 출력을 구문 분석해야 합니까?
답변1
찾았어요!
역사[n]
n 매개변수는 마지막 n 줄만 나열합니다.
$ echo "hello
how are you"
$ history 2
1060 echo "hello
how are you"
1061 history 2
답변2
예를 들어 다음과 같이 음수를 사용할 수도 있습니다.
history -1
또는 범위(마지막 10)를 사용하십시오.
history -1 -11
답변3
히스토리를 적용하면 마지막 히스토리 명령도 표시됩니다. 공간 낭비를 방지하려면 다음과 같은 별칭이 편리할 수 있습니다.
alias hs=' history 16 | head -n 15'
(명령 자체 history 16 | head -n 15
)
또 다른 유용한 역사적 별칭:
alias hsg=' history | grep '
(ctr+R이 너무 작아서 선택할 수 없는 경우)
_history 앞의 공백은 기록에 기록되지 않은 명령을 실행합니다.
fc -l #은 마지막 16개 명령(및 그 이상)도 나열합니다.
답변4
OpenBSD 6.3(PD KSH v5.2.14 99/07/13.2)에서 테스트되었습니다.
history [b]
숫자 [b] 항목으로 시작하는 모든 기록 표시
history [b] [e]
[b]부터 [e]까지의 과거 간격을 표시합니다.