Bash

查看一系列 bash 歷史記錄

  • April 20, 2022

history命令列出目前會話的所有歷史記錄。像:

1 ls 
2 cd /root
3 mkdir something
4 cd something
5 touch afile
6 ls
7 cd ..
8 rm something/afile
9 cd ..
10 ls
11 history

為了搜尋感興趣的項目,我可以history使用greplike

history | grep ls
1 ls
6 ls
10 ls

我還可以查看最後 3 個命令,例如:

history 3
11 history
12 history | grep ls
13 history 3

但是我如何獲得特定範圍的歷史記錄?例如:

history range 4 7
4 cd something
5 touch afile
6 ls
7 cd ..

代替history,您可以使用fc,它允許您選擇範圍:

fc -l 4 7

如果必須使用 history 命令,請通過 sed 或 awk 進行管道傳輸:

history | sed -n '10,20p'

history | awk 'NR >= 10 && NR <= 20'

否則 cuonglm 的答案是更好的選擇。

引用自:https://unix.stackexchange.com/questions/291285