01 开篇
Linux 中查看文件内容常用的有如下 5 个命令:
- cat;
- more;
- less;
- tail;
- head。
02依次看看这些命令的使用姿势
cat
- 一次性将所有内容输出到屏幕上,方便查看,适用于于文件内容较少时使用。
- 合并文件,与输出符 “>” 一起使用,输出到新文件中。
- 与管道符“|”一起来用,用来作为管道符的输入内容。eg:cat service.log |grep “ERROR” #从 service.log 中查找 “ERROR” 输出。
cat 命令常用格式示例:
- cat [文件名] # 输出文件所有内容到屏幕上。
- cat [文件1] [文件2] # 输出文件1、文件2所有内容到屏幕上。
- cat [文件1] [文件2] > [文件3] # 将文件1、文件2合并,输出到文件3中,如果没有文件3会自动生成一个新的文件3。
- cat -n [文件名] # 输出文件内容时加上行号。
- cat -A [文件名] # 输出文件内容时显示所有隐藏字符。
more 和 less
- more 可现实文件的百分比,一般从头查看文件用它。
- less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。如果文件很大,如几百MB或上G,用 less 效率高。less 比 more 更强大,还具备便捷的查找功能。
more 命令常用格式示例:
- more [文件名] #打开文件。
- more -f [文件名] # 加参数-f,计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)。
- more +[num] [文件名] # 查看指定行号以后的内容 ,eg: more +20 info.log。
- more -[num] [文件名] # 查看指定行号以前的内容,eg: more -20 info.log。
more 命令常用的快捷键:
- 空格键 # 向下滚动一屏,很便捷
- b # 向上滚动一屏
- = # 查看当前行号
- :f # 输出当前文件名及行号
- q # 退出 more 命令, [ctrl + c] 也可以退出
less 命令常用格式示例:
- less [文件名] # 基本查看命令
- less -m [文件名] # 类似 more 命令,显示百分比
- less -N [文件名] # 显示行号
less 命令常用的快捷键及查找字符功能:
- less 和more有相同的快捷键,只是不能用ctrl + c退出,用 q 快捷键退出。
- 此外less 可以使用vim编辑器(ps:后面讲vim时会详细说)的查找命令。先 less [文件名] ,接着输入查找符号(/ 或 ?)及查找 字符,按 Enter 键后,配合n建即可查找。
- /[查找字符] # 配合n键,从上往下查所有。
- ?[查找字符] # 配合n键,从下往上查所有。
tail 和 head
- tail 顾名思义是尾巴,从文件尾部显示文件内容,默认显示文件最后10行。
- head 是从开头显示文件内容,一般用法为 head -n [文件名],用法与 tail 差不多。
tail 命令的常用姿势:
- tail 一般用来查看实时日志使用,显示文件最新追加的内容,如线上服务的日志文件会不断的有内容追加,tail 命令就非常好用。
- tail -f info.log # 不停地追加显示 info.log 文件的最后10行 ,查看实时日志时非常常用的命令。
- tail -f n info.log # 加上n参数,不停地追加显示 info.log 文件的最后 n 行。eg: tail -f 20 info.log 。
- tail -n 10 info.log # 查询日志尾部最后10行的日志。
- tail -n +10 info.log # 查询10行之后的所有日志。
命令使用应用场景案例
应用场景一:按行号查看过滤出关键字附近的日志
- cat -n info.log |grep “debug” # 得到关键日志的行号
- cat -n info.log |tail -n +92|head -n 20 # 选择关键字所在的中间一行, 然后查看这个关键字前10行和后10行的日志。
- tail -n +92 # 表示查询92行之后的日志;
- head -n 20 # 则表示在前面的查询结果里再查前 20 条记录;
应用场景二:日志内容特别多,打印在屏幕上不方便查看
- 使用 more 和 less 命令
- cat -n info.log |grep “debug” |more # 这样就分页打印了,通过点击空格键翻页
- 使用 > xxx.txt 将其保存到文件中,到时可以下载这个文件分析
- cat -n info.log |grep “debug” > debug.txt
03 小结
- 锅锅在这篇总结了查看文件内容的5个命令 cat、 more与less、tail与head。
- cat 命令除了查看文件还可以用来合并文件。
- less 命令使用起来灵活,也可以配合查找字符串。
- tail 命令在工作实践中查看实时日志非常常用,在实际生产过程中,tail -f n [fileName] 来显示日志内容;在看到相应的关键日志时,可以使用ctrl + s停止日志滚动,恢复日志使用ctrl + q。
- 各位小主,今天锅锅就比比到这里,下期再会( _ )。