一,文本查看命令
cat命令
cat [OPTION]... [FILE]...
OPTION:
-E:显示行结束符$
-n: 对显示出的每一行进行编号
-A: 显示所有控制符
-b: 非空编号
-s: 压缩连续的空行成一行
more命令
more命令是用来分页查看文件内容
more [options] file [...]
-d选项是为了显示翻页和退出
less命令
less命令是用来一页一页地查看文件或STDIN输出
查看是有用地命令包括:
/文本 搜索 文本
n:转到下一个匹配项 N:转到下一个匹配项
并且,less命令还是man命令使用地分页器
head命令
head [OPTION]... [FILE]...
OPTION:
-c#:指定获取前#字节
-n#:指定获取前#行
tail命令
tail [OPTION]... [FILE]...
OPTION:
-c#:指定获取后#字节
-n#:指定获取后#行
-f:跟踪显示问津新追加的内容,常用日志监控
二,文本内容操作命令
cut命令
cut OPTION... [FILE]...
-d DELIMITER:指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]: 离散的多个字段,例如1,2,4,5
#-#: 连续的多个字段,例如1-5
混合使用:1-3,6,9
-c 按字符切割
--output-delimiter=STRING 指定输出分隔符
比如:显示/etc/passwd文件中用户,uid,默认的shell,中间用 --++-- 作为分隔符
比如按照字符切割,每行第一个到第八个字符切割出来
paste命令
主要用户合并两个文件同行号的列到一行
paste [OPTION]... [FILE]...
OPTION:
-d 分隔符,指定分隔符,默认用TAB
-s :所有行合成一行显示
比如
wc命令
文本数据统计命令,用来计数单词总数,行总数,字节总数和字符总数,可以对文件或者STDIN中的数据运行
命令结果中的三对数字分别对应为 行数,字数,字符数
它有以下几个参数
-l 用来统计行数
-w 用来统计单词总数
-c 用来统计字节总数
-m 用来统计字符总数
三,文本排序
sort命令
主要是把整理过的文本显示在STDOUT ,不会改变原始文件内容
Usage: cut OPTION... [FILE]...
OPTION:
-r 执行反方向排序
-n 按数字大小进行排序
-f 忽略字符串中的字符大小写
-u (unique)删除输出中的重复行
-t c 使用c作为字段界定符
-k X 按照使用c字符分割的X列来整理能够使用多次
比如 若实现对/etc/passwd 中uid进行由大到小排序,可以以:为分隔符,对第三列进行排序,如下
uniq命令
该命令可以从输入中删除重复的前后相接的行
Usage: uniq [OPTION]... [INPUT [OUTPUT]]
OPTION:
-c 显示每行重复出现的次数
-d 仅显示重复过的行(连续且完全相同方为重复)
-u 仅显示不曾重复的行
此命令常和sort命令同时使用:
sort test.txt | uniq -c
diff命令
该命令是用来比较连个文件之间的区别,比如
diff 命令的输出可以被保存到一种叫做"补丁"的文件中,可以使用-u选项来输出统一(unified)的diff格式文件,适用于补丁文件
path 命令复制在其他文件中进行的改变(需要谨慎使用!),可以使用-b选项来自动备份改变了的文件
diff -u one.txt two.txt > path.patch
patch -b one.txt path.patch
实战练习:
1、找出ifconfig命令结果中本机的所有IPv4地址
ifconfig | tr -s ' ' | cut -c7-23|head -2|tail -1|cut -d ' ' -f1
2、查出分区空间使用率的最大百分比值
df | cut -c44-46|sort -n|tail -1
3、查出用户UID最大值的用户名、UID及shell类型
cat /etc/passwd | sort -n -t: -k3|tail -1|cut -d: -f1,3,7
4、查出/tmp的权限,以数字方式显示
stat /tmp | head -4|tail -1 |cut -d '(' -f2|cut -d '/' -f1
5、统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序
netstat -nt | tr -s ' '|cut -d ' ' -f5 |cut -d: -f1 | uniq -c|\grep [.]