在終端上工作時,您經常需要重複使用之前執行過的命令,或者您甚至可能想要查找最常用命令的統計信息。 大多數用戶都知道如何瀏覽 bash 使用箭頭鍵滾動回以前的命令。 但很少有用戶知道他們可以用 bash 歷史記錄而不僅僅是使用向上和向下箭頭鍵。
在本文中,我們將看到兩種不同的方法,您可以通過它們查看在終端中最常用的命令。 我們將使用 Debian 10 來描述本文中提到的過程。
方法一:使用history命令查看命令統計
在這種方法中,我們將使用歷史命令來查看最常用的終端命令。 在 Linux 中,有一個歷史文件通常位於 ~/.bash_history 存儲用戶在先前會話中執行的所有命令的歷史記錄。 每次會話關閉時都會更新歷史文件。
方便用戶不僅可以獲取之前執行過的命令,還可以搜索到最常用的命令。 使用 history 命令,您甚至可以列出最常用的命令。
要查看它是如何工作的,只需鍵入 歷史 在終端:
$歷史
輸出將類似於以下內容。 可以看到,它已經按照最近的命令在底部的順序列出了當前用戶會話之前執行的所有命令。
查看最後一個列表 X 您之前執行過的命令數量,鍵入 歷史 後跟 x:
$歷史x
例如,要列出最後一個 6 命令數,替換 X 和 6 在上面的命令中。
要在歷史列表中搜索特定命令,請使用以下語法:
$ 歷史 | grep 命令
例如搜索 網絡 歷史列表中的命令,在終端中執行以下命令:
$ 歷史 | 網絡
1.查看最常用的命令列表
我們已經看到了 history 命令的用法。 現在我們將使用 history 命令查看終端中最常用的命令。 為此,請在終端中執行以下命令:
$ 歷史 | awk ‘開始 {FS=”[ t]+||”} {print $3}’ | sort | uniq -c | sort -nr
從上面的輸出中,您可以看到歷史記錄列表,其中頂部有最近使用的命令,底部有自安裝操作系統以來使用最少的命令。 根據以上結果, 歷史 命令是最常用的命令,使用了 13 次,第二個命令是 ip 第三個是 平. 同樣,最少使用的命令是 系統控制,用過一次。
2.查看最常用命令的具體數量
我們還可以僅查看最常用命令的具體數量。 為此,請在終端中運行以下命令。
$ 歷史 | awk ‘開始 {FS=”[ t]+||”} {print $3}’ | sort | uniq -c | sort -nr | head -nx
例如,僅查看頂部 4 最常用的命令,替換 X 與 4.
3.以相反的順序查看最常用的命令列表
也可以倒序查看歷史列表,最近的在底部,較早的在頂部。 為此,請使用上述相同的命令,但不要使用 r 第二種排序的選項,如下面的命令所示。
$ 歷史 | awk ‘開始 {FS=”[ t]+||”} {print $3}’ | sort | uniq -c | sort -n | head -nx
現在,您將以相反的順序查看歷史記錄。
4.按出現次數查看最常用的命令列表
要僅查看出現一次、兩次或任何特定次數的命令的歷史列表,請使用以下語法:
$ 歷史 | awk ‘開始 {FS=”[ t]+||”} {print $3}’ | sort | uniq -c | sort -n | grep ‘ x ‘
代替 X 任何想要的數字。
例如,要查看只出現兩次的命令列表,請替換 X 和 2 在上面的語法中:
$ 歷史 | awk ‘開始 {FS=”[ t]+||”} {print $3}’ | sort | uniq -c | sort -n | grep ‘ 2 ‘
以下是您可以與 history 命令一起使用的更多選項:
5. 從歷史記錄中刪除特定條目
要從 shell 歷史記錄中刪除特定行,請執行以下命令。
$ history -d <行號>
例如,刪除行號 19 從列表中,替換 <行號> 經過 19.
上述命令將刪除行號對應的條目 19.
6. Exit 不保存歷史
如果您想退出終端而不保存任何歷史記錄,請使用以下命令:
$ 殺 -9 $$
7.清除整個歷史
您甚至可以清除當前用戶會話的整個歷史記錄。 使用以下命令執行此操作:
$歷史 -c
方法二 # 創建一個函數來查看命令統計信息
您可以使用另一種方法來查看終端中執行次數最多的命令列表。 要使用它,首先在終端中執行以下命令來創建一個函數:
$ function zsh-stats() { fc -l 1 | awk ‘{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] ” “命令[a]/count*100 “% ” a;}’ | grep -v “./” | 列 -c3 -s ” ” -t | 排序-nr | nl | 頭-n25; }
然後執行下面的命令來調用這個函數:
$ zsh-stats
您將看到與此類似的輸出。
在上面的輸出中,您可以看到顯示為上述命令的輸出的四列。 第一列顯示索引號,第二列和第三列對應顯示最常用命令的頻率和出現百分比,最後一列顯示命令名稱。
這就是我們如何在 Debian 10 操作系統中查看最常用的終端命令。 我們上面討論了兩種方法,即 history 命令和 zsh-stats 函數,您可以根據自己的方便使用任何方法。 但是,需要注意的是,上述兩種方法都只顯示當前用戶會話的命令歷史記錄。