每个程序员都应该知道的8个Linux命令

发表于:2012-9-17 09:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:aqee    来源:51Testing软件测试网采编

  uniq

  uniq – 删除重复的行

  下面的例子展示了如何过滤出跟书相关的交易,删除不需要的信息,获得一个不重复的信息。

  1. jfields$ cat order.out.log | grep "\(Kindle\|Hardcover\)" | cut -d"," -f3 | sort | uniq -c  
  2.    1  Joy of Clojure  
  3.    2  Patterns of Enterprise Architecture

  看起来这是一个很简单的任务。

  这都是很好用的命令,但前提是你要能找到你想要的文件。有时候你会发现一些文件藏在很深的文件夹里,你根本不知道它们在哪。但如果你是知道你要寻找的文件的名字的话,这对你就不是个问题了。

  find

  find – 在文件目录中搜索文件

  在上面的例子中我们处理了order.in.log和order.out.log这两个文件。这两个文件放在我的home目录里的。下面了例子将向大家展示如何在一个很深的目录结构里找到这样的文件。

  1. jfields$ find /Users -name "order*"  
  2. Users/jfields/order.in.log  
  3. Users/jfields/order.out.log

  find命令有很多其它的参数,但99%的时间里我只需要这一个就够了。

  简单的一行,你就能找到你想要的文件,然后你可以用cat查看它,用cut修剪它。但文件很小时,你用管道把它们输出到屏幕上是可以的,但当文件大到超出屏幕时,你也许应该用管道把它们输出给less命令。

  less

  less – 在文件里向前或向后移动

  让我们再回到简单的 cat | sort 例子中来,下面的命令就是将经过合并、排序后的内容输出到less命令里。在 less 命令,使用“/”来执行向前搜索,使用“?”命令执行向后搜索。搜索条件是一个正则表达式。

jfields$ cat order* | sort | less

  如果你在 less 命令里使用 /113.*,所有113订单的信息都会高亮。你也可以试试?.*112,所有跟订单112相关的时间戳都会高亮。最后你可以用 ‘q’ 来退出less命令。

  Linux里有很丰富的各种命令,有些是很难用的。然而,学会了前面说的这8个命令,你已经能处理大量的log分析任务了,完全不需要用脚本语言写程序来处理它们。

33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号