一、目的
在linux服务器上,常常会需要查看linux文件/脚本或者是服务的log日志等等,此时就需要有技巧或方式达到各种查看目的。
二、查看方式
这里以查看 tomcat 的 catalina 日志文件为例。
1、cat
1) 选项
选项 | 说明 | 备注 |
-n | 显示所有行,并给所有行标注行号,包括空格 | |
-b | 显示所有,仅给非空格的行标注行号 | |
-A | 显示所有行,TAB 显示为字符 ^I,行换显示为字符 $ | |
-e | 相当于 -vE,即:显示所有行,每行结尾显示 $ | |
-E | 显示所有行,每行结尾处显示 $ | |
-s | 显示所有行,当时若连续出现超过2个空行,则显示一个空行 | |
-t | 相当于 -vT,即:显示所有行,Tab 则显示为字符 ^I | |
-T | 将 Tab 显示成 ^I | |
-v | ?? |
2) 示例
- 查看文件的时候显示所有行,并显示行号 (包括空行) (cat -n catalina.2021-09-02.log)
- 查看文件的时候显示行(不包括空行) (cat -b catalina.2021-09-02.log)
- 显示文件内容,显示^I标记(Tab键),显示$标记(换行符) (cat -A catalina.2021-09-02.log)
- 显示所有行,每行结尾处加 $,表示换行 (cat -E catalina.2021-09-02.log)
- 连续超过2个空行,则显示一个空行 (cat -s catalina.2021-09-02.log)
- 显示所有行,Tab 显示成 ^I (cat -T catalina.2021-09-02.log)
2、more
1) 选项
选项 | 说明 | 备注 |
-d | 当一屏显示不下文件内容的时候,在屏幕下方提示按键操作:Press space to continue,'q' to quit | |
-f | 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) | |
-l | 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 | |
-p | 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 | |
-c | 跟 -p 相似,不同的是先显示内容再清除其他旧资料 | |
-u | 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) | |
-s | 当遇到有连续两行以上的空白行,就代换为一行的空白行 | |
-NUM | 指定一个屏幕仅显示的行数(行数:屏幕的行数,非文件中实际的行数),在屏幕下方提示:MORE(1%),按空格再显示指定屏幕行数的内容 | |
+NUM | 从第 num 行开始显示 | |
+/SPRING | 在+/后面可以输入匹配的字符串,如果指定文件中不存在,则提示,否则直接显示对应字符串第一次匹配上所在的行。文件内容过多一个屏幕显示不了,在屏幕下方会提示:MORE(1%),按空格再显示指定屏幕行数的内容 |
2) 示例
- 当一屏显示不下文件内容的时候,在屏幕下方提示按键操作:Press space to continue,'q' to quit (more -d catalina.2021-09-02.log)
- 指定一个屏幕仅显示的行数(more -5 catalina.2021-09-02.log)
每次仅显示屏幕的5行内容,下方出现 “MORE”,则可以按空格键,继续显示5行屏幕内容,按 “ctrl + c” ,表示退出
- 文件中指定搜索的字符串,从第一次匹配的行开始显示 (more +/'startup in' catalina.2021-09-02.log)
从指定字符串第一次匹配的那行开始显示,一个屏幕显示不了内容,则下方出现 “MORE”,则可以按空格键,继续显示5行屏幕内容,按 “ctrl + c” ,表示退出
3、tail
1) 选项
选项 | 说明 | 备注 |
-f | 文件中不停追加内容时在控制台也不断输出 | |
-n |
+num:表示从第num行到文件结尾的内容全部显示 [-]num:表示从文件的倒数第num行到文件结尾的内容全部显示 |
|
-c |
+num:表示从文件的正数第num个字符开始显示到文件结尾 [-]num:表示从文件的倒数第num个字符开始显示到文件结尾 |
|
-v | 显示文件内容同时,在开头显示文件名称 |
2) 示例
- 文件中追加内容也不断追加显示在控制台上 (tail -f catalina.2021-09-02.log)
- 显示从文件的倒数第10行开始展示 (tail -n 10 catalina.2021-09-02.log)
- 显示从文件的第500行开始展示(tail -n +1750 catalina.2021-09-02.log)
- 从文件的倒数第 10 个字符开始显示到结尾(tail -c 10 catalina.2021-09-02.log)
- 显示文件内容之前显示文件名称(tail -v -c 10 localhost.2021-09-03.log)
4、head
1) 选项
选项 | 说明 | 备注 |
-c |
k:表示显示文件的前 k 个字符; -k:显示所有内容除了最后 k 个字符; |
|
-n |
k:表示显示文件的前 k 行; -k:显示所有内容除了最后 k 行; |
2)示例
- 显示文件的前10行(head -n 10 localhost.2021-09-03.log ) ,head 不指定任何选项时,也是输出文件的前 10 行内容
- 显示文件的全部内容,除了最后10行(head -n -10 localhost.2021-09-03.log)