【网络安全】用 Linux 命令行 CLI 日志文件处理指南
Linux 命令行 CLI 神技回忆录:日志文件处理指南(以 Zeek Logs 为例)
- 1. CLI简介
- 2. 基础操作
- 3. 文件读取
- 4. 查找与筛选
- 5. 进阶操作
- 6. Zeek 日志骚操作
- 7. 结语
1. CLI简介
在数据分析的世界里,图形界面(GUI)确实很方便,尤其是进行可视化处理时,优势明显。但当我们需要处理海量数据时,GUI 就显得力不从心了 —— 性能受限、稳定性不足,甚至没有对应的功能按钮。
那么,当你想查看/提取某些信息,但 GUI 没有对应功能时怎么办?
掌握命令行(CLI)处理数据的能力,就是你的超级武器!
无论是在安全分析、日志调查,还是数据包处理时,灵活运用命令行工具、BPF 过滤器和正则表达式,能让你迅速找到想要的结果。
今天就为大家整理一份CLI 快速秘籍,帮助你高效处理日志文件!
2. 基础操作
操作 | CLI 命令 |
---|---|
查看命令历史记录 | history |
执行历史中的第10条命令 | !10 |
执行上一条命令 | !! |
3. 文件读取
操作 | CLI 命令 |
---|---|
查看文件内容 | cat sample.txt |
读取文件的前10行 | head sample.txt |
读取文件的后10行 | tail sample.txt |
4. 查找与筛选
操作 | CLI 命令 |
---|---|
提取第1个字段 | cat test.txt | cut -f 1 |
提取第一列 | cat test.txt | cut -c1 |
过滤特定关键词 | cat test.txt | grep 'keywords' |
按字母顺序对输出进行排序 | cat test.txt | sort |
按数字对输出进行排序 | cat test.txt | sort -n |
消除重复的行 | cat test.txt | uniq |
计算行数 | cat test.txt | wc -l |
显示行号 | cat test.txt | nl |
5. 进阶操作
操作 | CLI 命令 |
---|---|
打印第 11 行 | cat test.txt | sed -n '11p' |
打印 10-15 行 | cat test.txt | sed -n '10,15p' |
打印 11 以下的行 | cat test.txt | awk 'NR < 11 {print $0}' |
打印第 11 行 | cat test.txt | awk 'NR == 11 {print $0}' |
6. Zeek 日志骚操作
操作 | CLI 命令 |
---|---|
删除重复项并计算每个值的出现次数 | sort | uniq -c |
按数字和递归方式对值进行排序 | sort -nr' |
反转字符串字符 | rev |
在每个点上拆分字符串并打印,保留前两个字段 | cut -d '.' -f 1-2 |
显示与“test”字符串不匹配的行 | grep -v 'test' |
显示与“test1”和“test2”字符串中的一个或两个不匹配的行 | grep -v -e 'test1' -e 'test2' |
查看文件信息 | file |
在所有地方搜索“Testvalue1”字符串,组织列空间并用更少的资源查看输出 | grep -rin Testvalue1 * | column -t | less -S |
7. 结语
命令行处理日志文件,初看可能有点枯燥,但真正掌握之后,你会发现:CLI 是数据世界里的光剑。
一行命令,可能胜过无数次鼠标点击!
下次处理 Zeek 日志或其他大数据文件时,试试这些技巧吧。
越熟练,效率越高!