1.文件内容查看命令
1.1查看文本文件内容
1.1.1 cat
cat可以查看文本内容
格式:
cat [OPTION]... [FILE]...
常见选项:
- -E:显示行结束符号$
- -A:显示所有控制符
- -n:对显示出的每一行进行编号
- -b:非空行编号
- -s:压缩连续的空行成一行
1.1.2 nl
显示行号,相当于cat -b
1.1.3 tac
逆向显示文本内容
1.1.4 rev
将同一行的内容逆向显示
1.2查看非文本文件内容
1.2.1 hexdump
1.2.2 od
1.2.3 xxd
2.分页查看文件内容
2.1 more
可以实现分页查看文件,可以配合管道实现输出信息的分页
格式
more [OPTIONS...] FILE...
选项:
- -d:显示翻页及退出显示
2.2 less
less也可以实现分页查看文件或STDIN输出,less命令是man命令使用的分页器
查看时有用的命令包括:
/文本 搜索 文本
n/N 跳到下一个 或 上一个匹配
3.显示文本前或后行内容
3.1 head
可以显示文件或标准输入的前面行
格式:
head [OPTION]... [FILE]...
选项:
- -c # 指定获取前#字节
- -n # 指定获取前#行,#如果为负数,表示从文件头取到倒数第#前
- -# 同上
3.2 tail
tail和head相反,查看文件或标准输入的倒数行
格式:
tail [OPTION]... [FILE]...
常用选项:
- -c # 指定获取后#字节
- -n # 指定获取后#行,如果#是负数,表示从第#行开始到文件结束
- -# 同上
- -f 跟踪显示文件fd新追加的内容,常用日志监控,相当于 --follow=descriptor,当文件删除再新建同名文件,将无法继续跟踪文件
- -F 跟踪文件名,相当于--follow=name --retry,当文件删除再建同名文件,将可以继续跟踪文件
- tailf 类似tail -f,当文件不增长时并不访问文件,节约资源,centos8无此工具
4.按列抽取文本cut
cut
命令可以提取文本文件或
STDIN
数据的指定列
格式
cut [OPTION]... [FILE]...
常用选项:
- -d DELIMITER: 指明分隔符,默认tab
- -f FILEDS:
#: 第#个字段,例如:3
#,#[,#]:离散的多个字段,例如:1,3,6
#-#:连续的多个字段, 例如:1-6
混合使用:1-3,7
- -c 按字符切割
- --output-delimiter=STRING指定输出分隔符
5.合并多个文件paste
paste
合并多个文件同行号的列到一行
格式
paste [OPTION]... [FILE]...
常用选项:
- -d #分隔符:指定分隔符,默认用TAB
- -s # 所有行合并成一行显示
6.分析文本的工具
文本数据统计:
wc
整理文本:
sort
比较文件:
diff
和
patch
6.1收集文本统计数据 wc
wc
命令可用于统计文件的行总数、单词总数、字节总数和字符总数
可以对文件或
STDIN
中的数据统计
常用选项:
- -l 只计数行数
- -w 只计数单词总数
- -c 只计数字节总数
- -m 只计数字符总数
- -L 显示文件中最长行的长度
6.2文本排序 sort
把整理过的文本显示在
STDOUT
,不改变原始文件
格式
sort [options] file(s)
常用选项 :
- -r 执行反方向(由上至下)整理
- -R 随机排序
- -n 执行按数字大小整理
- -h 人类可读排序,如: 2K 1G
- -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.1diff
diff
命令比较两个文件之间的区别
-u 选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件
6.4.2 patch
patch
复制在其它文件中进行的改变(要谨慎使用)
-b 选项来自动备份改变了的文件
6.4.3 vimdiff
相当于
vim -d
6.4.4 cmp
范例:查看二进制文件的不同