Linux下查看文本相关的命令

当你经常游离在linux系统之上时,你更多的是对日志类的文本文件操作,所以掌握一些linux下关于文本的操作还是很有必要。
首先你可能想找到某个文件,这时候需要用到find命令:

 
find . -name test.log

该命令是用于查找当前目录下名字为test.log的文件,当然你可以用正则来查找一类文件,

 
find . -name test*.log

查找当前目录下名字为test开头,.log结尾的文件,比如test0.log,test1.log …
find还有很多有用的参数可选
当你找到一个文本文件后,你当然想看一下它了,如果文件不是很大,不到1M,你可以直接vi打开(vi的使用网上有很多的教程了),
但是如果文件太大,而且你也不想看文件的全部内容,那确实太多了,这时候你就需要用到head命令了

 
head -n 5 test.log

只看test.log文件的前5行
当然了Linux是一门艺术,如果你想看文件名以test开头的所有文件的第一行,可以这样:

 
head -1 test*

好吧,其实我很少用head这个命令,因为日志文件的写入都是在文件的最后,所以我更想看文件的最后几行

 
tail -n 1 test*

tail命令还有一个重要的功能,比如你想实时观察web服务器的访问日志,那么

 
tail -f -n 10 test.log

该命令会动态返回文件最后10行的变化.
我比较奇怪,我就是喜欢看浏览你们所有的东西,那么

 
cat test.log

cat命令是将文件的内容全部输出到标准输出上的(zcat 命令可以查看压缩包里面的所有文本文件),如果文件很多超过你的显示器,其实你只能看到一屏的显示,这时候,就得使用组合命令了,
很多时候,你其实在看日志文件的时候,往往会过滤掉无用的信息的(日志文件不是武侠小说),所以你会借助 grep这个命令来看你想看的内容,

 
cat test.log | grep "test"

该命令过过滤出文件中所有含有test的行,其中” | ” 是linux下的强大的管道命令,也是很有想象力的命令,借助它你可以写出外星人都无法理解却又神奇的命令组合。
我无聊,我就是喜欢拿日志文件当小说看,

 
cat test.log | more

more这个命令用于分页查看文件,可以单独使用,

 
 more test.log

如果每页只显示文件的一行,可以这样

 
 more -1 test.log

more也可以一次打开多个文件,当然个人觉得没什么用处,
与more相对的就是less命令,less是从文件的最后分页的。

上面总结的这几个简单的命令很多linuxer都应该很熟悉,这些命令主要还是用于肉眼查看分析。


高级进阶参考 :
http://linuxcommand.org/learning_the_shell.php
http://www.commandlinefu.com/commands/browse
http://www.grymoire.com/Unix/

This entry was posted in Linux. Bookmark the permalink.