用wordcloud分析一年来终端的命令行记录

来源:互联网 发布:php人才招聘系统 编辑:程序博客网 时间:2024/06/05 01:54

最近看到一个python函数库,wordcloud(词云),觉得十分有意思,于是想要用来分析一些自己收集的数据。

从去年8月份开始使用archlinux, shell用的是zsh,这个shell好处很多(详情请见https://wiki.archlinux.org/index.php/Zsh), 其中之一是为每一个目录建立一个zhistory文件,用于存储每个目录下的命令行历史,所有的文件在~/.zsh_history目录下。

于是乎,我想用wordcloud来分析这一年多以来我都使用了哪些命令,

代码如下:

#!/usr/bin/env pythonimport os from wordcloud import WordCloudimport sysif len(sys.argv) == 1:    print("Please input a filename")else:    # Read the whole text.    text = open(sys.argv[1]).read()    # Generate a word cloud image    wordcloud = WordCloud(background_color='black',width=1200,height=800,margin=2).generate(text)    wordcloud.to_file(sys.argv[1]+".png")

得到的结果如下:
这里写图片描述
效果还不错,但就是不知道为什么好多重复的关键词,ls,cd重复了好多遍,有人知道的话希望在留言中告知我一下,感激不尽。

图中很明显地看出, ls, cd这两个命令使用最为频繁,在所有的命令当中,前几个命令总频次占比如下(共116554个):

命令排名 总占比 前1 34.8% 前2 55.9% 前5 69.5% 前10 78.0% 前20 85.9%

因此,掌握20个命令就能基本掌握Linux是有道理的。。。

附录

排名前十的命令是:
ls cd vim m eog c mv ev rm du
(m,c,ev分别是自定义的make, vim *c *h以及evince)

原创粉丝点击