操作日志常用命令

2017-04-09  本文已影响32人  梓青

操作日志

cat

直接显示文本内容

more 参数 file

+n 从笫n行开始显示

-n 定义屏幕大小为n行

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

交互命令

Enter 向下n行,需要定义。默认为1行

Ctrl+F 向下滚动一屏

空格键 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

V 调用vi编辑器

!命令 调用Shell,并执行命令

q 退出more

less file

交互命令

-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号

Q 退出less 命令

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

sort 参数

-u 去除重复行

-r 倒序

-o 排序结果输出到文件

-n 按数字排序

-t 指定间隔符 -k 指定排序的行

wc 选项 文件

-c 统计字节数。

-l 统计行数。

-m 统计字符数。这个标志不能与 -c 标志一起使用。

-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

-L 打印最长行的长度

uniq -c 文件

显示重复出现的行数的次数

grep 参数 搜索的模式 文件

-n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。

-c或--count 计算符合范本样式的列数。

-数字 显示查找到的列的前后n行

expr 10 \ * 3

表达式求值

常用命令

#访问量前十名的IP
cat access.log|cut -f 1 -d " "|sort|uniq -c|sort -k 1 -n -r|head -10
#全文显示      |空格分隔提取ip一行|排序重复行 |对行数倒排      |前十
#访问量前十名的URL
cat access.log|cut -f 4 -d " "|sort|uniq -c|sort -k 1 -n -r|head -10
#全文显示      |空格分隔提取url一行|排序重复行 |对行数倒排      |前十

日志分析脚本

sed 选项 文件编辑命令 文件

-n或--quiet或--silent 仅显示script处理后的结果。

文件编辑命令

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

#指定行输出
sed -n '2,6p' access.log
#替换文本
sed 's/oldStr/newStr/' access.log
#文本删除
sed '/str/d' access.log
#显示文件行号
sed '=' access.log
#行首插入
sed 'i/head' access.log
#行末插入
sed 'a/end' access.log

awk [option] 'pattern{action}' file

对pattern匹配的行执行动作action

上一篇下一篇

猜你喜欢

热点阅读