简介
linux一切皆文件,需要熟练掌握对文件输出处理的一些工具,这些工具包括:查看、分析、统计等。数量掌握这些工具能够对日志、配置文件、资源监控等,进行精确查看分析。
查看文件内容cat
命令 | 选项 | 含义 |
---|---|---|
cat | -E | 显示行结束符$ |
-n | 对显示出的每一行进行编号 | |
-A | 对显示所有控制符 | |
-b | 非空行编号 | |
-s | 压缩连续的空行成一行 | |
补充: nl:读取文件,并对每一非空行添加行号。 tac:按行倒序显示文件,第一行显示为最后一行,最后一行显示为第一行。 rev:以行进行倒序显示,行首行尾字符反向显示,行的顺序不变。 |
分页查看文件内容
命令 | 语法 | 用法说明 |
---|---|---|
more | more [OPTIONS...] FILE... | 直接加文件名,可加多个,显示完后自动退出,空格键显示下一页,回车键显示下一行 |
less | less [OPTIONS...] FILE... | 直接加文件名,一般只加一个,显示完后按“q”退出,空格键显示下一页,回车键显示下一行;可以进行查找 /文本,n/N跳转到下一个或上一个。 |
从开头或结束显示内容
命令 | 常用选项 | 含义 |
---|---|---|
head | -c # | 指定获取前#字节 |
-n # | 指定获取前#行 | |
-# | 指定行数 此选项和此-n #功能相同 | |
tail | -c # | 指定获取前#字节 |
-n # | 指定获取前#行 | |
-# | 指定行数 此选项和此-n #功能相同 | |
-f | 跟踪显示文件fd新追加的内容,常用日志监控 | |
tailf | 功能与tail -f相同,此命令与tail安装包不同 |
抽取文本cut与合并paste
命令 | 选项 | 含义 |
---|---|---|
cut | -d | 指明分隔符,默认tab键 |
-f FILEDS | #:第#个字段;#,#离散的多个字段;#-#:连续的多字段 | |
-c | 按字符切割,取出多少个字符 | |
--output-delimiter=STRING | 指定输出分隔符 | |
paste | 不加任何选项 | 合并两个文件同行号的行到一行 |
-d | 指定分隔符,默认使用TAB |
统计 排序
命令 | 选项 | 含义 |
---|---|---|
wc | -l | 只统计行数 |
-w | 只统计单词总数 | |
-c | 只统计字节总数 | |
-m | 只统计字符总数 | |
-L | 显示文件中最长行的长度 | |
sort | -r | 执行反向整理(由上到下) |
-R | 随机排序 | |
-n | 执行按数字大小整理 | |
-t c | 选项使用c作为字段界定符 | |
-k X | 按照使用c字符分割的X列来整理能够使用多次 |
文件比较 diff 去重uniq
命令 | 选项 | 含义 |
---|---|---|
uniq | -c | 显示每行重复出现的次数 |
-d | 仅显示重复过的行 | |
-u | 仅显示不曾重复的行 | |
注:连续且完全相同的为重复行 | ||
diff | null | 不添加任何参数进行比较,可以比较文件也可以比较两个目录 |
输出说明: diff描述两个文件不同的方式是告诉我们怎么样改变第一个文件之后与第二个文件匹配,中间字母c表示需要在第一个文件上做的操作(a=add,c=change,d=delete)后与第二个文件相同,字母前后的数字表示第一、二个文件的行号 | ||
-y | 并排格式输出 | |
“|”表示前后2个文件内容有不同 “<”表示后面文件比前面文件少了1行内容 “>”表示后面文件比前面文件多了1行内容 |
转换删除tr
命令 | 选项 | 含义 |
---|---|---|
tr | -c或-C | 取字符集的补集 |
-d | 删除所有属于第一字符集的字符 | |
-s | 把连续重复的字符以单独一个字符表示 | |
-t | 将第一个字符集对应字符转化为第二字符集对应的字符 |
最佳实践
cat输入输出重定向
使用cat重定向功能,给文本中追加数据。
[root@localhost ~]# cat test
a
[root@localhost ~]# cat << EOF >> test
> b
> c
> EOF
[root@localhost ~]# cat test
a
b
c
[root@localhost ~]#