Linux查看⽇志⽂件命令(整合)当⽇志存储⽂件很⼤时,我们就不能⽤ vi 直接去查看⽇志了,就需要Linux的⼀些内置命令去查看⽇志⽂件.
系统Log⽇志位置:
/var/log/message 系统启动后的信息和错误⽇志,是Red Hat Linux中最常⽤的⽇志之⼀
/var/log/secure 与安全相关的⽇志信息
/var/log/maillog 与邮件相关的⽇志信息
/var/log/cron 与定时任务相关的⽇志信息
/var/log/spooler 与UUCP和news设备相关的⽇志信息
linux退出文件命令/var/log/boot.log 守护进程启动和停⽌相关的⽇志消息
⼀、cat命令:
参数:
-n 或 --number 由 1 开始对所有输出的⾏数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空⽩⾏不编号
-s 或 --squeeze-blank 当遇到有连续两⾏以上的空⽩⾏,就代换为⼀⾏的空⽩⾏
-v 或 --show-nonprinting
-E --show-ends 在每⾏结束处显⽰ $
-e --等价于-vE
cat主要有三⼤功能:
1. $ cat filename ⼀次显⽰整个⽂件。
2. $ cat > filename 从键盘创建⼀个⽂件。(只能创建新⽂件,不能编辑已有⽂件)
3. $ cat filename1 filename2 > filename 将⼏个⽂件合并为⼀个⽂件(如果原本file⽂件中有内容,会被覆
盖掉)盖掉)
例:
把 file1 的内容加上⾏号后输⼊到 file2 这个⽂件⾥
cat -n filename1 > filename2
把 file1 和 file2 的内容加上⾏号(空⽩⾏不加)之后将内容追加到 file3 ⾥
cat -b filename1 filename2 >> filename3
把⽂件扔进垃圾箱,赋空值
cat /dev/null > /
注意:>意思是创建,>>是追加。千万不要弄混了。
⼆、more命令:
more 命令是⼀个基于vi编辑器⽂本过滤器,它以全屏幕的⽅式按页显⽰⽂本⽂件的内容,⽀持vi中的关键字定位操作。
该命令⼀次显⽰⼀屏⽂本信息,满屏后停下来,以百分⽐的形式,以上下翻页,以上下⾏移动显⽰查看⽇志并且在屏幕
的底部给出⼀个提⽰信息,从开始⾄当前⼰显⽰的该⽂件的百分⽐:–More–(XX%)
**按键 **说明**
按Space键:显⽰⽂本的下⼀屏内容。
按B键:显⽰上⼀屏内容。
按Enter键:只显⽰⽂本的下⼀⾏内容。
按斜线符:接着输⼊⼀个模式,可以在⽂本中寻下⼀个相匹配的模式。
按H键:显⽰帮助屏,该屏上有相关的帮助信息。
按Q键:退出more命令
三、less命令:
less 命令查看⽇志,和more命令类似,只不过less⽀持上下键前后翻阅⽂件。
四、head命令:
参数:
-q 隐藏⽂件名
-v 显⽰⽂件名
-c 显⽰字节数
-n 显⽰的⾏数
从⽂本⽂件的头部开始查看,head 命令⽤于查看⼀个⽂本⽂件的开头部分。
例:
head filename 或 head -n 10 显⽰⽂本⽂件 file 的前⼗⾏内容,然后退出命令
head -n 20 filename 显⽰⽂本⽂件 file 的前⼆⼗⾏内容
head -n -10 filename 显⽰⽂本⽂件除了最后10⾏的其他所有⽂本⽂件信息
五、tail命令:
tail 命令⽤于显⽰⽂本⽂件的末尾内容(默认10⾏,相当于增加参数 -n 10),并且实时不断有内容被打印出来,
若想中断进程,使⽤命令 Ctrl-C
参数:
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
参数解释:
-f 该参数⽤于监视File⽂件增长。
-c Number 从 Number 字节位置读取指定⽂件
-n Number 从 Number ⾏位置读取指定⽂件。
-m Number 从 Number 多字节字符位置读取指定⽂件,⽐⽅你的⽂件假设包括中⽂字,假设指定-c参数,可能导致
截断,但使⽤-m则会避免该问题。
-b Number 从 Number 表⽰的512字节块位置读取指定⽂件。
-k Number 从 Number 表⽰的1KB块位置读取指定⽂件。
File 指定操作的⽬标⽂件名称
上述命令中,都涉及到number,假设不指定,默认显⽰10⾏。Number前⾯可使⽤正负号,表⽰该偏移从顶部还是从尾部开始计算。
tail 可运⾏⽂件⼀般在/usr/bin/以下。
tail -f filename 监视filename⽂件的尾部内容(默认10⾏,相当于增加参数 -n 10)
tail -100f filename 监视filename⽂件的尾部内容(默认从底部往前100⾏,相当于增加参数 -n 100)
tail -n 20 filename 显⽰filename最后20⾏
tail -r -n 10 filename 逆序显⽰filename最后10⾏
六、tac命令:
tac (反向查看⽇志,会打开整个⽂件,倒序显⽰,不常⽤)
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反。
cat 是由第⼀⾏到最后⼀⾏连续显⽰在屏幕上,⽽ tac 则是由最后⼀⾏到第⼀⾏反向在萤幕上显⽰出来
七、echo命令:
echo 命令⽤来在标准输出上显⽰⼀段字符
echo [ -n ] 字符串其中选项n表⽰输出⽂字后不换⾏;字符串能加引号,也能不加引号
echo "the echo command test!"
echo "the echo command test!">filename 输出内容到⽂件
⽤ echo 命令输出加引号的字符串时,将字符串原样输出
⽤ echo 命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间⽤⼀个空格分割
⼋、grep命令:
grep 同时满⾜多个关键字和满⾜任意关键字,是⼀种强⼤的⽂本搜索⼯具,它能使⽤正则表达式搜索⽂本,并把匹配的⾏打印出来。grep全称是Global Regular Expression Print,表⽰全局正则表达式版本,显⽰完⾃动退
出命令
grep [options]
参数:
[options]参数:
-c:只输出匹配⾏的计数
-I:不区分⼤⼩写(只适⽤于单字符)
-h:查询多⽂件时不显⽰⽂件名
-l:查询多⽂件时只输出包含匹配字符的⽂件名
-n:显⽰匹配⾏及⾏号
-s:不显⽰不存在或⽆匹配⽂本的错误信息
-v:显⽰不包含匹配⽂本的所有⾏
-A: 显⽰匹配⾏及前⾯多少⾏, 如: -A3, 则表⽰显⽰匹配⾏及前3⾏
-B: 显⽰匹配⾏及后⾯多少⾏, 如: -B3, 则表⽰显⽰匹配⾏及后3⾏
-C: 显⽰匹配⾏前后多少⾏, 如: -C3, 则表⽰显⽰批量⾏前后3⾏
pattern正则表达式主要参数:
:忽略正则表达式中特殊字符的原有含义
^:匹配正则表达式的开始⾏
$: 匹配正则表达式的结束⾏
<:从匹配正则表达式的⾏开始
>:到匹配正则表达式的⾏结束
[ ]:单个字符,如[A]即A符合要求
[ - ]:范围,如[A-Z],即A、B、C⼀直到Z都符合要求
。:所有的单个字符
- :有字符,长度可以为0
例
grep -n "word" filename 查看⽂件包含条件的⽇志,全部显⽰出来(单引号或者双引号都可以,不区分)
grep -E "word1|word2|word3" filename 满⾜任意条件(word1、word2和word3之⼀)将匹配的内容全部打
印出来
grep word1 filename | grep word2 |grep word3 必须同时满⾜三个条件(word1、word2和word3)才匹配
多管道,多次筛选
使⽤正则表达式 -E 选项
grep -E "[1-9]+" 或 egrep "[1-9]+"
grep -A100 'word' filename 显⽰匹配⾏往后100⾏
grep -B100 'word' filename 显⽰匹配⾏往前100⾏
grep -C100 'word' filename 显⽰匹配⾏往前往后100⾏
九、sed命令:
sed 本⾝是⼀个管道命令,主要是以⾏为单位进⾏处理,可以将数据⾏进⾏替换、删除、新增、选取等特定⼯作
参数
-n∶使⽤安静(silent)模式。在⼀般 sed 的⽤法中,所有来⾃ STDIN的资料⼀般都会被列出到萤幕上。但如果加
上 -n 参数后,则只有经过sed 特殊处理的那⼀⾏(或者动作)才会被列出来。
-p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n ⼀起运作~
-s ∶取代,可以直接进⾏取代的⼯作哩!通常这个 s 的动作可以搭配正规表⽰法!例如 1,20s/old/new/g
例
sed -n '5,10p' filename 只查看⽂件的第5⾏到第10⾏
sed -n '/2019-01-04 21:30:00/,/2019-01-04 22:30:30/p' filename 只查看⽂件包含时间段的区间内容
混合命令:
tail -n +92表⽰查询92⾏之后的⽇志
tail filename -n 300 -f 查看底部即最新300条⽇志记录,并实时刷新
tail -f filename | grep -E 'word1|word2|word3' 实时打印出匹配规则的⽂件内容(注意或符号前后最好不要有空格)
cat -n filename |grep “地形” | more 得到关键⽇志的⾏号
cat -n filename |tail -n +92|head -n 20
grep 'nick' | tail filename -C 10 查看字符‘nick’前后10条⽇志记录, ⼤写C
head -n 20 则表⽰在前⾯的查询结果⾥再查前20条记录
附加:
vi filename 查看或编辑⽂件
查⽂件内容关键字⽅法:
先执⾏命令>: vi filename
然后输⼊>: /查字符串
按n查下⼀个
例
如查nohup.out⽇志⽂件的error关键字:
执⾏命令: vi nohup.out
输⼊以下回车: /error
按n查下⼀个
将实时⽇志打印到指定⽂件:
例
将实时⽇志打印到⽂件newlog.log内,⽅便查
执⾏命令: tail -f nohup.out >newlog.log
备注:newlog.log⽂件可以不存在,命令执⾏时会⾃动新建
转载请注明出处!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论