1 文件内容查看命令
1.1 查看文本文件内容
cat可以查看文本内容
格式:cat [OPTION]... [FILE]...
选项:
-E: 显示行结束符$
-A: 显示所有控制符
-n: 对显示出的每一行进行编号
-b: 非空行编号
-s: 压缩连续的空行成一行
tac 逆向显示文本内容
nl 显示行号,相当于cat -b
rev 将同一行的内容逆向显示
1.2 查看非文本文件内容
1.2.1 hexdump
1.2.2 od
1.2.3 xxd
2 分页查看文件内容
more 可以实行分页查看内容,可以配合管道实现输出信息的分页
格式:more [OPTIONS...] FILE...
选项:
-d: 显示翻页及退出提示
less 也可以实现分页查看文件或STDIN输出
查看时有用的命令包括:
/文本 搜索文本
n/N 跳到下一个/上一个匹配
less命令是man命令使用的分页器
3 显示文本前或后行内容
3.1 head
head 可以显示文件或标准输入的前面行
格式:head [OPTION]... [FILE]...
选项:
-c# 指定获取前#字节
-n# 指定获取前#行
-# 同上
范例:
[root@Rookie Code]# head -c 3 /etc/passwd roo [root@Rookie Code]# head -n 3 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin [root@Rookie Code]# head -3 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
3.2 tail
tail 和head相反,查看文件或标准输入的倒数行
格式:tail [OPTION]... [FILE]...
选项:
-c# 指定获取后#字节
-n# 指定获取后#行
-# 同上
-f 跟踪显示文件fd新追加的内容,常用于日志监控,相当于--follow=descriptor,当文件删除在新建同名文件,将无法继续跟踪文件
-F 跟踪文件名,相当于--follow=name --retry,当文件删除再新建同名文件,将可以继续跟踪文件
tailf 类似于tail -f,当文件不增长时并不访问文件
4 按列抽取文本
cut命令可以提取文本文件或STDIN数据的指定列
格式:cut [OPTION]... [FILE]...
选项:
-d DELIMITER:指明分隔符,默认tab
-f FILEDS:
#:第#个字段。例如:3
#,#[,#]:离散的多个字段。例如:1,3,6
#-#:连续的多个字段。例如:1-6
混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符
范例:获取本机ip
[root@Rookie Code]# ifconfig | head -n2 |tail -n1|cut -d" " -f 10 192.168.48.111
范例:
[root@Rookie Code]# cut -d: -f1,3,7 --output-delimiter="---" /etc/passwd root---0---/bin/bash bin---1---/sbin/nologin daemon---2---/sbin/nologin
5 合并多个文件
5.1 paste 合并多个文件同行号的列到一行
格式:paste [OPTION]... [FILE]...
选项:
-d 分隔符: 指定分隔符,默认用Tab
-s: 所有行合成一行显示
范例:
[root@Rookie Code]# paste alpha.log seq.log a 1 b 2 c 3 [root@Rookie Code]# paste -s alpha.log seq.log a b c 1 2 3 [root@Rookie Code]# paste -d: alpha.log seq.log a:1 b:2 c:3
6 分析文本的工具
文本数据统计:wc
整理文本:sort
比较文件:diff和patch
6.1 收集文本统计数据
wc命令可用于统计文件的行总数、单词总数、字节总数和字符总数可以对文件或 STDIN中的数据统计 选项: -l 只计数行数 -w 只计数单词总数
-c 只计数字节总数 -m 只计数字符总数 -L 显示文件中最长行的长度
6.2 文本排序sort
把整理过的文本显示在STDOUT,不改变原始文件
格式:sort [options] file(s)
选项: -r 执行反方向(由上至下)整理 -R 随机排序 -n 执行按数字大小整理 -f 选项忽略(fold)字符串中的字符大小写 -u 选项(独特,unique)删除输出中的重复行 -t c 选项使用c做为字段界定符 -k # 选项按照使用c字符分隔的#列来整理能够使用多次
6.3 去重uniq
uniq命令从输入中删除前后相接的重复的行
格式:uniq [OPTION]... [FILE]...
选项:
-c:显示每行重复出现的次数
-d:仅显示重复过的行
-u:仅显示不曾重复的行
uniq常和sort命令一起配合使用
6.4 比较文件
6.4.1 diff
diff命令比较两个文件之间的区别
6.4.2 patch
patch 复制在其他文件中进行的改变(要谨慎使用)
适用 -b
选项来自动备份改变了的文件
选项:
-d:后面可以接分隔字符,默认以TAB来分隔
-:如果file部分写成-,表示来自标准输入的数据的意思