这几天把LINUX常用的文本处理命令学习总结了下,加上自己的一些思考,写出来和大家分享。


1.概述

Linux的基本思想大概有:

A 一切皆文件

B 由小的,目的单一的程序构成

C 减少和用户交互

D 大多数程序的配置文件都是纯文本格式

正是因为大都数程序的配置文件都是文本格式的,所以在linux下的文本处理命令很重要!


2.命令列表及使用心得

序号 命令 常用举例 使用心得
1 cat

cat file1 file2

cat -E file

cat -n file

1.cat可不是小猫的意思,而是concatenate and printing

2.可以用-E(end)来显示行结束符,注意LINUX下是$(和windows不同)

3.可以用-n显示行号

4.cat明显的缺点在于,如果文件内容过多,那么将一闪而过。事实上,在内存中可以部分保存这些内容的,在非SSH客户端下,我们可以使用shift+page up/page down来查看。(用的相当少)


2 more/less

more file

less file

1.more可以翻页显示文件内容

2.space,b,enter实现页,行的翻,也支持/keyword,?keyword,N,n查找。

3.more的缺点在于,第一,不支持k,也就是不支持前一行查看。第二,more一旦翻页到文件结尾,那么久自动退出了,这一点很不好。

4.man COMMAND实际上就是调用了less命令,很好用的,避免了more的缺点。详细用法同man,参见:

http://zhangfengzhe.blog.51cto.com/8855103/1405530


3 head

head file

head -NUMBER file

显示出文件头部的部分行内容,默认是10行。
4 tail

tail file

tail -NUMBER file

tail -f file

1.显示出文件尾部的部分行内容,默认是10行。

2.-f选项很常用,当我们启动一些服务,比如启动resin后,为了确定是否启动成功,可以-f动态查看启动日志。(实际上,就是打开一个文件,不退出,如果其他进程写入文件,那么显示出来)

5 sort

sort file

sort -n file

sort -r file

sort -t delimiter -k filed file

1.sort默认按字符串升序排序,-r可以逆序

2.使用-n选项,可以明确指定用数字方式进行排序

3.如果我们的文件内容很特殊,比如都是,分割的,那么可以指定分隔符delimiter,并进行指定指定字段的排序。(则十分类似于数据库的ORDER BY)

6 uniq

uinq file

uniq,顾名思义,可以对文件内容中重复行进行处理。需要明确的是,只有相邻的内容相同的才被认为是重复行。
7 wc

wc  file

wc -l file

wc -w file

wc,即word count,可以对行数,单词数,字符、字节数进行统计。
8 cut cut -d delimiter -f filed... file 列提取命令
9 join join file1 file2 对两个文件中有相同列的行进行合并。了解即可,用的很少。