在UNIX中,如何查找历史上最常用的命令?
答案1
这更取决于你的“命令”意图。从一个角度来看,命令只是从命令行调用的可执行文件,因此ls
和ls -alh /tmp/foo/bar/*tar.bz
都是命令ls
。另一种观点是,命令是其各部分的总和,这意味着上面的示例是 2 个不同的命令。
如果您的目的是计算历史记录中完全唯一的命令,您可以执行:history | cut -d' ' -f4- | uniq -c | sort -n
请注意,这是在 Debian 系统上测试的,您的历史命令的输出语法可能略有不同。调整命令中的数字“4”以选择备用列。
如果您只想考虑不带参数的第一个命令,那么您可以执行:history | cut -d' ' -f4- | cut -d' ' -f1 | uniq -c | sort -n
要包含参数但不包含后面的任何链接或管道命令,您可以执行:history | cut -d ' ' -f4- | cut -d'|' -f1 | uniq -c | sort -n
请注意,这些命令中的每一个都按数字顺序对命令数量进行排序,出现频率最高的命令最后出现。
答案2
答案3
最常用的 20 个 CLI 命令:
history | cut -c7- | sort | uniq -c | sort -nr | head -n 20
答案4
您可以使用单个剪切命令:
history | cut -c 7-100 | sort | uniq -c | sort -nr