自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

匯總你在Linux上的命令使用情況

系統(tǒng) Windows
使用合適的命令,你可以快速了解 Linux 系統(tǒng)上使用的命令以及執(zhí)行的頻率。

[[337878]]

使用合適的命令,你可以快速了解 Linux 系統(tǒng)上使用的命令以及執(zhí)行的頻率。

匯總 Linux 系統(tǒng)上使用的命令只需一串相對簡單的命令以及幾條管道將它們綁定在一起。當你的歷史記錄緩沖區(qū)保留了最近的 1,000 或 2,000 條命令時,總結(jié)你的命令活動可能會變得很乏味。這篇文章提供了一種方便的方法來匯總命令的使用情況,并高亮顯示最常用的命令。

首先,請記住,典型的命令歷史記錄可能看起來像這樣。請注意,命令是顯示在命令序列號之后,并緊跟其參數(shù)。

  1. 91 sudo apt-get install ccrypt
  2. ^
  3. +-- command

請注意,history 命令遵循 HISTSIZE 的設(shè)置,這會決定保留多少條命令??赡苁?500、1,000 或更多。如果你不喜歡它的設(shè)置,那么可以在 .bashrc 或其他啟動文件中添加或更改 HISTSIZE 設(shè)置。

  1. $ echo $HISTSIZE
  2. 1000
  3. $ history | wc -l
  4. 1000
  5. $ grep HISTSIZE ~/.bashrc
  6. # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
  7. HISTSIZE=1000

記下大量命令的主要好處之一是,它可以讓你輕松地重新運行過去使用的命令,而不必重新輸入或記住它們。它還能讓你輕松地查看你在一個任務(wù)中已經(jīng)做了多少工作。單獨使用 history 命令時,你會看到類似下面這樣,最早的在最前面:

  1. $ history
  2. 7 vi tasks
  3. 8 alias
  4. 9 echo $HISTTIMEFORMAT
  5. 10 history
  6. 11 date

查看最新使用命令需要查看記錄的命令的尾部:

  1. $ history | tail -4
  2. 1007 echo $HISTSIZE
  3. 1008 history | wc -l
  4. 1009 history
  5. 1010 history | tail -4

另外,你可以使用 tail 命令查看 .bash_history 文件的尾部,但是 history 命令顯示的數(shù)字可以讓你輸入如 !1010 這樣的數(shù)字重新運行命令,這點通常更有用。

要提供已使用命令的匯總(例如 vi 和 echo),你可以首先使用 awk 將命令與 history 中保存的其他信息分隔開來:

  1. $ history | awk '{print $2}'
  2. vi
  3. alias
  4. echo
  5. history
  6. date

如果你將歷史記錄中的命令列表傳遞給 sort 命令以按字母順序?qū)γ钸M行分組,那么會得到以下內(nèi)容:

  1. $ history | awk '{print $2}' | sort
  2. 7z
  3. 7z
  4. alias
  5. apropos
  6. cd
  7. cd

接下來,將 sort 命令的輸出傳遞給 uniq -c ,這將計算每個命令使用了多少次:

  1. $ history | awk '{print $2}' | sort | uniq -c
  2. 2 7z
  3. 1 alias
  4. 2 apropos
  5. 38 cd
  6. 21 chmod

最后,添加第二個 sort 命令按倒序?qū)γ罱M計數(shù)進行排序,這將先列出最常用的命令:

  1. $ history | awk '{print $2}' | sort | uniq -c | sort -nr
  2. 178 ls
  3. 95 vi
  4. 63 cd
  5. 53 sudo
  6. 41 more

這樣可以讓你了解使用最多的命令,但不會包括任何你可能故意從歷史記錄文件中刪除的命令,例如:

  1. HISTIGNORE="pwd:clear:man:history"

當修改了歷史記錄格式時

對于默認的歷史記錄格式,history 命令輸出中的第一個字段將是每個命令的序號,第二個字段是使用的命令。因此,上面所有 awk 命令都設(shè)置成顯示 $2

  1. $ alias cmds='history | awk '\''{print $2}'\'' | sort | uniq -c | sort -nr'

如果你像下面那樣將日期和時間添加了到 history 命令中,那么你還必須修改所設(shè)置的別名:

  1. $ echo $HISTTIMEFORMAT
  2. %d/%m/%y %T

這個日期/時間信息有時會很有幫助,但是這意味著你必須在選擇 history 命令的第 4 個字段而不是第 2 個字段來匯總命令,因為你的歷史記錄條目將如下所示:

  1. 91 05/07/20 16:37:39 sudo apt-get install ccrypt
  2. ^
  3. +-- command

因此,在將 $2 變?yōu)?nbsp;$4 之后,用于檢查 history 命令的別名將改為這樣:

  1. $ alias cmds='history | awk '\''{print $4}'\'' | sort | uniq -c | sort -nr'

可將別名保存在 .bashrc 或其他啟動文件中,請確保在 $ 符號前面插入反斜杠,以便 bash 不會嘗試解釋 $4

  1. alias cmds='history | awk '\''{print \$2}'\'' | uniq -c | sort -nr'
  2. alias cmds='history | awk '\''{print \$4}'\'' | uniq -c | sort -nr'

請注意,日期和時間信息與命令本身保存在歷史記錄文件的不同行中。因此,添加此信息后,bash 歷史記錄文件的行數(shù)將增加一倍,盡管在 history 命令輸出時不會:

  1. $ wc -l .bash_history
  2. 2000 .bash_history
  3. $ history | wc -l
  4. 1000

總結(jié)

你可以隨時決定要保留多少命令歷史記錄,哪些命令不值得記錄,以使你的命令摘要最有用。 

責任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2017-01-18 21:57:14

2022-07-13 14:26:26

Linux

2019-06-24 08:53:01

Bash腳本Linux系統(tǒng)運維

2020-02-10 19:50:08

Linux內(nèi)存使用命令

2010-10-14 16:10:28

MySQL排序

2017-03-17 16:00:20

2009-06-16 09:18:26

Linux系統(tǒng)管理系統(tǒng)資源

2021-03-01 13:11:20

duf終端工具Linux

2010-06-02 11:06:15

Linux 內(nèi)存監(jiān)控

2010-02-03 17:16:58

Linux內(nèi)存使用

2009-12-14 17:25:20

Linux操作系統(tǒng)

2014-04-24 16:26:31

UbuntuUbuntu 磁盤Linux基礎(chǔ)

2018-09-14 16:38:43

FilelightLinux磁盤

2015-11-09 15:32:34

TorTor網(wǎng)絡(luò)隱私網(wǎng)絡(luò)

2010-06-02 12:47:12

Linux 內(nèi)存監(jiān)控

2009-10-21 12:42:20

Linux系統(tǒng)資源操作系統(tǒng)

2023-08-21 14:18:48

操作系統(tǒng)Linux

2022-09-26 09:44:10

Linux

2021-05-10 11:25:24

Linux命令磁盤

2009-07-09 18:03:25

tomcatJVM內(nèi)存
點贊
收藏

51CTO技術(shù)棧公眾號