不知道大家自接触 Linux 以来,都使用过哪些命令,其中最常用的命令是什么?
我最常用的命令之一是 sudo ,因为我每天都在使用它在 Linux 上安装、更新、删除软件包以及其它各种需要超级用户权限的操作。
那么你知道你自己最经常使用的是哪几个命令呢?今天我们就来查看一下自己在使用 Linux 过程中最经常用的命令吧。
在 Linux 上查看你自己最经常使用的命令
在 Linux 中,历史文件 ~/.bash_history 会记录你在终端中输入过的所有命令,所以,我们可以通过这个文件来寻找你最经常使用的命令。
具体做法如下:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
上面这条命令的结果将显示用户在 Linux 上最经常使用的 5 个命令。
输出结果如下:
153 sudo118 ls33 cd30 ssh29 git
这个结果非常清爽直观!
那么,上面这条命令各个部分你都知道它的具体作用吗?现在,我们来详细讲解。
首先我们来看下 history 命令的输出结果:
alvin@alvin-pc:~$ history 743 sudo apt-get update 744 sudo apt-get upgrade 745 ls 747 ls 748 git status
这是在 Ubuntu 上看到的结果,如果在其它平台,比如 CentOS,看到的结果会是另外一种情况,对应的命令也需要小小改动一下。
- awk '{print $2}' 从历史文件中打印第2列字符串,不显示命令选项和参数
- sort 按字母顺序排列所有行
- uniq -c 删除重复行并对它们进行计数统计
- sort -nr 根据 uniq 命令返回的统计数反向排序
- 小提示:你可以使用 Explain Shell 来查找命令中每个选项的功能介绍。
从结果中可以看到的,sudo 是当前用户最经常使用的命令,使用了 153 次。
结果的显示是降序的,若你要让它升序显示,那么需要使用以下命令:
$ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
你可以对比上一条命令查看它们的差异。
输出结果如下:
29 git 30 ssh 33 cd 118 ls 153 sudo
如果不想限制结果数量,只需删除上述命令的最后一部分即可。
$ history | awk '{print $2}' | sort | uniq -c | sort -nr