作为开发者,我们每天都要和 Linux 系统打交道,都要在 Linux 系统上敲大量的命令。但是你有没想过,你敲了这么多的 Linux 命令,你最经常敲的是哪个命令呢?
对于我个人而言,我最经常使用的命令之一是 sudo
,因为我每天都要在 Linux 系统上安装、更新、删除软件包等等工作,经常需要管理员权限。
每个人使用 Linux 系统的目的可能都不一样,工作内容也不一样,所以每个人最经常使用的 Linux 命令也很可能是不一样的。
在 Linux 系统上查看自己最经常使用的命令
在 Linux 系统里,你在 Shell 终端中所敲入的所有命令都会被记录在历史文件 ~/.bash_history
中,所以通过对这个文件的分析,我们就可以找到我们最经常用的 Linux 命令。
分析的过程不难,我们只需要使用下面这条命令就可以了。
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
运行这个命令,我们就可以得到自己在 Linux 系统上最常用的 5 个命令。
输出结果如下。
153 sudo
118 pngquant
33 cd
30 ssh
29 exit
上面那条命令比较长,初学者可能一下子反应不过来,现在我们来拆解一下。
-
awk '{print $2}'
– 使用awk
命令打印历史文件中的第二列的字符串,但是不包含命令选项及参数; -
sort
– 将打印出的命令按字母顺序重新排列; -
uniq -c
– 删除重复命令,并对重复命令进行计数统计; -
sort -nr
– 将uniq
命令得到的结果进行反向排序; -
head -5
– 取sort
命令排序结果的前 5 行。
Tips:如果你不知道一条命令每部分的具体用途,可以使用 ExplainShell
来查询。
从结果中可以看到的,sudo
是最常用的命令,使用了 153 次。
结果的显示是降序的,若你要让他升序显示,使用以下命令。
$ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
仔细对比,你会发现 sort
命令与 tail
命令的选项有所差异。
结果如下:
29 exit
30 ssh
33 cd
118 pngquant
153 sudo
如果你不想只看 5 条结果,那么你只需要删掉最后的 head
那部分命令就行了。
$ history | awk '{print $2}' | sort | uniq -c | sort -nr
好了,以上就是通过分析 ~/.bash_history
文件来找到自己在 Linux 系统中最常用的命令了,有兴趣的小伙伴可以去试试。