如何知道你在Linux里最常使用哪幾個(gè)命令?
不知道大家自接觸 Linux 以來,都使用過哪些命令,其中最常用的命令是什么?
我最常用的命令之一是 sudo ,因?yàn)槲颐刻於荚谑褂盟?Linux 上安裝、更新、刪除軟件包以及其它各種需要超級用戶權(quán)限的操作。
那么你知道你自己最經(jīng)常使用的是哪幾個(gè)命令呢?今天我們就來查看一下自己在使用 Linux 過程中最經(jīng)常用的命令吧。
在 Linux 上查看你自己最經(jīng)常使用的命令
在 Linux 中,歷史文件 ~/.bash_history 會記錄你在終端中輸入過的所有命令,所以,我們可以通過這個(gè)文件來尋找你最經(jīng)常使用的命令。
具體做法如下:
- $ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
上面這條命令的結(jié)果將顯示用戶在 Linux 上最經(jīng)常使用的 5 個(gè)命令。
輸出結(jié)果如下:
- 153 sudo118 ls33 cd30 ssh29 git
這個(gè)結(jié)果非常清爽直觀!
那么,上面這條命令各個(gè)部分你都知道它的具體作用嗎?現(xiàn)在,我們來詳細(xì)講解。
首先我們來看下 history 命令的輸出結(jié)果:
- alvin@alvin-pc:~$ history 743 sudo apt-get update 744 sudo apt-get upgrade 745 ls 747 ls 748 git status
這是在 Ubuntu 上看到的結(jié)果,如果在其它平臺,比如 CentOS,看到的結(jié)果會是另外一種情況,對應(yīng)的命令也需要小小改動(dòng)一下。
- awk '{print $2}' 從歷史文件中打印第2列字符串,不顯示命令選項(xiàng)和參數(shù)
- sort 按字母順序排列所有行
- uniq -c 刪除重復(fù)行并對它們進(jìn)行計(jì)數(shù)統(tǒng)計(jì)
- sort -nr 根據(jù) uniq 命令返回的統(tǒng)計(jì)數(shù)反向排序
小提示:你可以使用 ExplainShell 來查找命令中每個(gè)選項(xiàng)的功能介紹。
從結(jié)果中可以看到的,sudo 是當(dāng)前用戶最經(jīng)常使用的命令,使用了 153 次。
結(jié)果的顯示是降序的,若你要讓它升序顯示,那么需要使用以下命令:
- $ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
你可以對比上一條命令查看它們的差異。
輸出結(jié)果如下:
- 29 git
- 30 ssh
- 33 cd
- 118 ls
- 153 sudo
如果不想限制結(jié)果數(shù)量,只需刪除上述命令的最后一部分即可。
- $ history | awk '{print $2}' | sort | uniq -c | sort -nr