Linux每周几个命令(二)--日志查看篇

Linux每周几个命令(二)--日志查看篇

标签(空格分隔): linux


作为后端开发人员,经常需要和日志打交道,查看日志也就成了一个技术活,该篇总结常用查看日志命令.

1.tail和head

这两个命令对于大文件处理都是很好地,因为并不是处理全部内容,所以速度会很快,尤其是tail -f 这个指令,实时查看日志时很实用.

1.1 tail

1.命令格式

tail [参数] 文件名

2.命令作用

查看文件末尾内容,实时刷新日志,从第n行输出日志.

3.命令参数

-f 当文件增长时,输出后续添加的数据,也就是实现实时刷新日志
-n 输出最后的n行,默认是10行
--pid 与-f配合,表示在进程ID,PID死掉之后结束

4.使用示例
1.查看日志最后20行内容

[root@VM_105_120_centos logs]# tail -n 20 catalina.out

2.实时刷新日志

[root@VM_105_120_centos logs]# tail -f catalina.out

3.从第100行显示日志,对于大文件很不实用

[root@VM_105_120_centos logs]# tail -n +100 catalina.out

1.2 head

1.命令格式

head [参数] 文件名

2.命令作用

查看文件开头n行

3.命令参数

-n 显示的行数

4.使用示例
查看文件开头前10行

[root@VM_105_120_centos logs]# head -n 10 catalina.out

2.more和less

more和less是非常常用的两个命令,两者都可以分页显示,而且还有类似vim的操作方式,对于大文件日志很有用处.

2.1 more

1.命令格式

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

2.命令作用

Linux more 会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)

3.命令参数

-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数

配合指令:

Enter 向下n行,需要定义。默认为1行
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
!命令 调用Shell,并执行命令
q 退出more
more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找

4.使用示例
从第20w行分页显示日志

[root@VM_105_120_centos logs]# more +200000 catalina.out

2.2 less

1.命令格式

less [参数] 文件 

2.命令作用

less命令可以随意移动查看文件,并且不会加载整个文件,所以更常用.

3.命令参数

-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

4.使用示例

示例和more差不多,指令都类似vim

3.sed

sed命令很强大,这里对于日志来说最有用的是查看指定时间段的日志.

查看在这两个时间段的日志

sed -n ‘/2010-11-17 09:25:55/,/2010-11-17 09:25:55/p’  logfile

并且可以使用正则表达式

sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’  logfile

如果量还是很多的话,就配合less指令,简直完美

sed -n '/08:00:00/,/10:00:00/p' catalina.out | less

再者sed可以批量替换文本内容,这个还是很常用的功能。比如下面命令替换niudear为hero

ps -ef | sed 's/niudear/hero/g'

4.awk

awk命令多用于复杂情况的筛选信息,其是每读入一行就处理,下面举几个例子.

4.1打印指定行号内容,列号内容

在awk中行号使用变量NR处理,并且前面可以是逻辑表达式.
NR==3||NR==4 指第三行或者第四行,另外还内置的列变量NF
$0 是指当前行全部内容,$1对应第一行,依次类推$2为第二行
该指令为打印第三行和第四行的内容.

sudo netstat -punt | awk 'NR==3||NR==4 {print NR, $0}' 

4.2指定分隔符

-F参数可以指定分隔符对行元素进行切割
下面使用/对pwd后的输出进行切割

pwd | awk -F/ '{print $1,$2,$3}'

4.3 正则

正则匹配,下面是

#匹配第一列以r开头的内容
ps aux | awk '$1 ~/^r/ {printf $0"\n"}'
#忽略大小写的
awk 'BEGIN{IGNORECASE=1} /this/' log.txt
#取反匹配
awk '$2 !~ /th/ {print $2,$4}' log.txt

另外可以结合sort和uniq使用.更多内容可以参考菜鸟教程上面的

目前本人常用的就这些,对于cat指令,因为日志文件巨大,所以cat这种一下子读完的就不太适合了,查看配置文件利用cat还是很不错的.

另外文章命令使用来源于互联网资料.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,130评论 2 34
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,085评论 0 0
  • 这篇文章翻译自http://www.thegeekstuff.com/2010/11/50-linux-comma...
    sufun_wu阅读 722评论 0 4
  • 生姜灸神阙,肚脐结缔组织(导热、导电性能优于其他组织) 灸使温度传到入丰富的肠系膜网络(肠系膜动静脉),血管扩张,...
    汤云程阅读 204评论 0 0
  • 建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2)...
    jy__Lu阅读 583评论 0 7