0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

總結(jié)Linux系統(tǒng)上的命令使用詳細(xì)情況

如意 ? 來源:Linux中國(guó) ? 作者:Sandra Henry-stocker ? 2020-08-16 09:16 ? 次閱讀

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

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

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

91 sudo apt-get install ccrypt

^

+-- command

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

$ echo $HISTSIZE

1000

$ history | wc -l

1000

$ grep HISTSIZE ~/.bashrc

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

HISTSIZE=1000

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

$ history

7 vi tasks

8 alias

9 echo $HISTTIMEFORMAT

10 history

11 date …

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

$ history | tail -4

1007 echo $HISTSIZE

1008 history | wc -l

1009 history

1010 history | tail -4

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

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

$ history | awk ‘{print $2}’

vi

alias

echo

history

date

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

$ history | awk ‘{print $2}’ | sort

7z

7z

alias

apropos

cdcd

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

$ history | awk ‘{print $2}’ | sort | uniq -c

2 7z

1 alias

2 apropos

38 cd

21 chmod

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

$ history | awk ‘{print $2}’ | sort | uniq -c | sort -nr

178 ls

95 vi

63 cd

53 sudo

41 more

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

HISTIGNORE=“pwd:clear:man:history”

當(dāng)修改了歷史記錄格式時(shí)

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

$ alias cmds=‘history | awk ’\‘’{print $2}‘\’‘ | sort | uniq -c | sort -nr’

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

$ echo $HISTTIMEFORMAT

%d/%m/%y %T

這個(gè)日期/時(shí)間信息有時(shí)會(huì)很有幫助,但是這意味著你必須在選擇 history 命令的第 4 個(gè)字段而不是第 2 個(gè)字段來匯總命令,因?yàn)槟愕臍v史記錄條目將如下所示:

91 05/07/20 16:37:39 sudo apt-get install ccrypt

^

+-- command

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

$ alias cmds=‘history | awk ’\‘’{print $4}‘\’‘ | sort | uniq -c | sort -nr’

可將別名保存在 .bashrc 或其他啟動(dòng)文件中,請(qǐng)確保在 $ 符號(hào)前面插入反斜杠,以便 bash 不會(huì)嘗試解釋 $4。

alias cmds=‘history | awk ’\‘’{print \$2}‘\’‘ | uniq -c | sort -nr’

alias cmds=‘history | awk ’\‘’{print \$4}‘\’‘ | uniq -c | sort -nr’

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

$ wc -l .bash_history

2000 .bash_history

$ history | wc -l

1000

總結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208717
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    676

    瀏覽量

    21965
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    904

    瀏覽量

    28018
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為Linux命令
    的頭像 發(fā)表于 11-05 15:40 ?100次閱讀

    晶閘管導(dǎo)通的五種情況

    晶閘管作為一種重要的電力電子器件,其導(dǎo)通狀態(tài)受多種因素影響。以下是晶閘管導(dǎo)通的五種詳細(xì)情況,每種情況都結(jié)合了晶閘管的工作原理、結(jié)構(gòu)特性及外部條件進(jìn)行闡述。
    的頭像 發(fā)表于 08-27 16:25 ?1128次閱讀

    util-linux修復(fù)WallEscape漏洞,影響Linux系統(tǒng)wall命令使用

    WallEscape 主要影響“wall”命令操作,Linux 系統(tǒng)中的常規(guī)下,該指令被用作向系統(tǒng)所有登錄用戶的終端發(fā)布消息。然而在處理命令
    的頭像 發(fā)表于 03-29 14:35 ?916次閱讀

    Linux如何通過命令行來更改日期和時(shí)間?

    Linux如何通過命令行來更改日期和時(shí)間? 在Linux,我們可以使用命令行工具來更改日期
    的頭像 發(fā)表于 01-16 17:10 ?2701次閱讀

    Linux基本命令總結(jié)

    都說Linux命令多,實(shí)際工作中我們又有多少命令會(huì)接觸用到呢?本文跟大家分享Linux運(yùn)維工作中常用的600個(gè)命令,可以說這些
    的頭像 發(fā)表于 01-11 10:32 ?933次閱讀

    常用Linux命令總結(jié)

    今天浩道跟大家分享一些平時(shí)運(yùn)維工作中常用到的Linux命令,讓你關(guān)鍵時(shí)候也可以在領(lǐng)導(dǎo)面前露一手!大家不要覺得命令使用簡(jiǎn)單,實(shí)際浩道接觸的現(xiàn)場(chǎng)同事,
    的頭像 發(fā)表于 12-26 09:49 ?389次閱讀

    linux系統(tǒng)修改ip命令

    Linux系統(tǒng)修改IP命令是掌握Linux網(wǎng)絡(luò)管理的基礎(chǔ)之一。在Linux操作系統(tǒng)中,我們可以使
    的頭像 發(fā)表于 11-27 15:17 ?2005次閱讀

    linux更改ip步驟命令

    inux是一種廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備的操作系統(tǒng),通過更改IP地址,可以對(duì)網(wǎng)絡(luò)進(jìn)行重新配置和優(yōu)化,以滿足不同的需求。在Linux中,可以使用不同的命令和配置文件進(jìn)行IP地址的更改。本文將
    的頭像 發(fā)表于 11-27 14:38 ?1667次閱讀

    linux備份文件命令bak

    Linux系統(tǒng)中,備份文件是非常重要的,它可以防止數(shù)據(jù)丟失和損壞的風(fēng)險(xiǎn)。為了達(dá)到安全的目的,我們經(jīng)常需要備份文件。在這篇文章中,我們將詳細(xì)介紹Linux中備份文件的
    的頭像 發(fā)表于 11-23 10:12 ?2447次閱讀

    linux關(guān)閉docker的命令

    Linux 系統(tǒng)中,關(guān)閉 Docker 的操作可以通過以下多種方式進(jìn)行。本文將詳細(xì)講解每一種方式,并提供示例代碼和命令,以幫助讀者更好地理解和實(shí)踐。 使用 docker
    的頭像 發(fā)表于 11-23 09:39 ?2702次閱讀

    linux關(guān)機(jī)命令有哪些

    Linux系統(tǒng)中用于關(guān)機(jī)的命令有多種,包括shutdown、poweroff、halt、reboot等等。下面將詳細(xì)介紹這些命令的用法和參數(shù)
    的頭像 發(fā)表于 11-17 11:15 ?1646次閱讀

    linux中top命令詳解

    Linux系統(tǒng)中的top命令是一個(gè)非常強(qiáng)大和常用的命令,用于實(shí)時(shí)監(jiān)控和管理系統(tǒng)的運(yùn)行狀態(tài)。它能夠顯示系統(tǒng)
    的頭像 發(fā)表于 11-17 10:25 ?1975次閱讀

    總結(jié)linux命令行的主要用法

    Linux命令行是一種在Linux操作系統(tǒng)中通過文本界面來執(zhí)行指令和管理系統(tǒng)的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務(wù)。本文將
    的頭像 發(fā)表于 11-17 10:19 ?598次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux中,有多種命令用于重啟系統(tǒng)。在本文中,我們將
    的頭像 發(fā)表于 11-17 09:49 ?1945次閱讀

    linux查看物理接口的命令

    顯示和配置網(wǎng)絡(luò)接口。它可以顯示當(dāng)前系統(tǒng)的所有網(wǎng)絡(luò)接口及其配置信息。以下是ifconfig命令的用法和輸出示例: ifconfig -a 這將顯示所有網(wǎng)絡(luò)接口的詳細(xì)信息,包括名稱、物理
    的頭像 發(fā)表于 11-16 16:48 ?1118次閱讀