一、cat命令
cat 命令用于连接文件并打印到标准输出设备上,主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能。
语法格式
cat [-AbeEnstTuv] fileName
参数说明:-n 或 --number:由 1开始对所有输出的行数编号。-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。-v 或 --show-nonprinting:使用 ^ 和 M-符号,除了 LFD 和 TAB 之外。-E 或 --show-ends : 在每行结束处显示 $。-T 或 --show-tabs: 将 TAB 字符显示为 ^I。-A, --show-all:等价于 -vET。-e:等价于"-vE"选项;-t:等价于"-vT"选项;
示例:
1、cat -n f1.txt>f2.txt,对f1.txt文件中每一行加上行号后然后写入到f2.txt中,会覆盖原来的内容,文件不存在则创建它。
2、cat -n f1.txt>>f2.txt,对f1.txt文件中每一行加上行号后然后追加到f2.txt中去,不会覆盖原来的内容,文件不存在则创建它
二、tail命令
tail 命令用于按照要求将指定的文件的最后部分输出到标准设备,通俗来讲就是把某个文件的最后几行显示到终端上,如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容。
语法格式:
tail [参数] [文件]
参数:-f 循环读取-q 不显示处理信息-v 显示详细的处理信息-c 显示的字节数 例:tail -c 10 notes.log(显示文件 notes.log 的最后 10个字符)-n显示文件的尾部 n 行内容--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束-q, --quiet, --silent 从不输出给出文件名的首部-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
定位日志文件错误信息
示例:
cat all_info.log | grep "错误的关键信息提示" -C 10
查看日志中出现关键字 "错误的关键信息提示" 的前后10行内容
从第10行开始显示,显示10行到30行:cat filename | tail -n +10 | head -n 30
tail -n 10:显示最后10行
tail -n +10:从10行开始显示,显示10行以后的内容
head -n 10:显示前面10行
搜索文件夹下所有文件或者某个文件匹配的字符串
搜索某个文件夹下所有文件:grep -rn '查找的字符串' *
搜索某个文件:grep -rn '查找的字符串' xxxxx.txt
搜索某个文件并输出到自定目录:grep -rn '查找的字符串' xxxxx.txt >/data/tmp/tmp.txt