操作日志常用命令
操作日志
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