前几天,我和一位 Linux 用户正在讨论 Linux 命令。 他问我最常使用哪个 Linux 命令。 我告诉他我最常用的命令之一是 sudo
. 我每天都用它在我的 Linux 机器上安装、更新、删除包和其他管理任务。 我猜 "sudo"
是很多 Linux 用户最常用的命令。 如果您想知道在 Linux 上最常用的命令是什么,这里是如何找到它们的。
查找 Linux 上最常用的命令
如您所知,历史文件(~/.bash_history
) 记录您在终端中运行的所有命令。 通过参考此文件,您可以轻松找到最常用的命令。
让我向您展示我的 Linux 机器上最常用的 5 个命令:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
样本输出:
153 sudo 118 pngquant 33 cd 30 ssh 29 exit
让我们分解上面的命令,看看每个选项的作用。
- 这
"awk '{print $2}'"
command 打印历史文件中的第一个字符串,而不显示命令选项和参数。 - 这
"sort"
命令按字母顺序排列所有行。 - 这
"uniq -c"
命令删除重复的行(键入的命令)并计算它们。 - 而且,最后
"sort -nr"
命令按返回的计数以相反的顺序显示命令"uniq"
命令。
当心: 您可以使用 解释壳牌 查找命令的每个部分的作用。
如你看到的, "sudo"
是最常用的命令,我已经使用了 153 次。 和 "exit
” 是最少使用的命令。
我已按降序(反向)对结果进行排序,即从大到小。 要按升序(从小到大)显示最常用的命令,请改用以下命令:
$ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
样本输出:
29 exit 30 ssh 33 cd 118 pngquant 153 sudo
这是同一命令的另一个版本,它显示了一些额外的细节:
$ history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n5 1 177 17.7177% pngquant 2 173 17.3173% vagrant 3 101 10.1101% cd 4 71 7.10711% sudo 5 47 4.7047% ffmpeg
如果您不想限制结果数量,只需删除最后一个 (head
或者 tail
) 上述命令的一部分:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr
上述命令是特定于 Bash 的。 如果你在 鱼 外壳,运行:
$ history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -5
现在,是你的时候了。 去找出你在你的 Linux 机器上最常用的命令。
BASHBash 历史CLILinuxLinux 基础Linux 命令Linux 技巧最常用的Linux 命令