Linux常用命令history/tcpdump/awk/grep
1. 历史命令回显history
查询是什么时间什么人操作过文件:
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile
ubuntu系统:查询是什么时间什么人登录的ip操作过文件:
export HISTFILESIZE=10000000
export HISTSIZE=1000000
# 实时记录历史命令,默认只有在用户退出之后才会统一记录,很容易造成多个用户间的相互覆盖>。
export PROMPT_COMMAND="history -a" USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ $USER_IP = ":0" ];then
USER_IP=localhost
fi
export HISTTIMEFORMAT="%F %T `whoami`:$USER_IP "
2. 抓包tcpdump
tcpdump -X -s -i any port -w ./tcpdump/xdrout.pcap -s 抓报长度,一般设置为0,即65535字节
-i 就是监听的网络接口,是eth0,eth1 还是什么,any 表示所有的网络接口。
port 就是只监听8123 端口的信息。
-w 就是将记录保存在一个指定的文件中,后面自然就是这个文件的地址了。
-X 打印十六进制和ASCII的数据,每一个数据包(减去其链路层报头)
捕获的pcap包可以用wireshark分析。
3. 文本处理awk
awk '{for(i=1;i<=NF;i++)a[$i]++;} END {for(i in a)print i" = "a[i]}' test.txt
test.txt
eclipse test one to one
many to many foreign
output:
eclipse =
to =
test =
many =
foreign =
one = 2 注释:
NF表示单行(记录 )中字段 数,$i表示对应字段 ,假设 文本是 "a b c d a b a" ,a出现3次所以a[a]++执行了3次,a[a]的值增加了3,这个循环完成 后a数组 中为已经读取的行相同内容字段出现次数 for (i in a) 表示 依次迭代a数组 的下标 ,赋值给变量 i,如上例a数组的下标 会是a,b,c,d(顺序是随机的),这四个下标会被按随机顺序赋值给变量 i。
print i"="a[i],打印字段 i和其出现次数a[i]
4. grep
使用扩展正则匹配(-E)规则,排除二进制文件(--binary-file=without-match)检索文件file中的"keyValue"
$ grep -nirE "keyValue" file --binary-file=without-match
--exclude-dir=参数就是为了排除某个目录的,即不包含等号后面的目录,所以我们可以利用此参数去掉.svn的隐藏目录。
可以把--exclude-dir=参数通过加入配置文件 ~/.bashrc (这是bash的当前用户配置文件) 的方法来简化操作,提高效率。
在~/.bashrc文件的末尾添加以下命令:
export GREP_OPTIONS="--exclude-dir=\.svn"
然后保存,执行source ~/.bashrc或者. ~/.bashrc,使修改起作用。
`dirname $` 定位到运行脚本的相对位置
Linux常用命令history/tcpdump/awk/grep的更多相关文章
- 测试必知必会系列- Linux常用命令 - history
21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 查看历 ...
- Linux常用命令(补充)-grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...
- linux常用命令 history命令
历史命令 history [选项] [历史命令保存文件] 选项 '-c' 清空历史命令 '-w' 把缓存中的历史命令写入历史命令保存文件~/.bash_history [root@ssgao1987 ...
- [转帖]「日常小记」linux中强大且常用命令:find、grep
「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
- linux 常用命令及技巧
linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...
- Linux 常用命令使用方法大搜刮
Linux 常用命令使用方法大搜刮 1.# 表示权限用户(如:root),$ 表示普通用户 开机提示:Login:输入用户名 password:输入口令 用户是系统注册用户成功登陆后,可以进入 ...
- 100个命令Linux常用命令大全
Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...
- Linux常用命令大全(非常全!!!)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
随机推荐
- POJ2531&&1416&&2676&&1129
搜索专题的最后一块了,也告别了这些老的东西了 接下来就是些全新的内容了啊! 这次的标签是简单搜索技巧和剪枝,也就是优化爆搜 当然,像Dancing links这样的玄学操作还是没有的 2531 题意: ...
- SCC的奇葩算法——Kosaraju
不会Tarjan,难道就不能与邪恶的SCC作斗争了吗? 祭出Kosaraju. 一些变量名的意义: a[N] 原图的vector存储 b[N] 原图的所有边反向vector存储 s dfs得出的拓扑序 ...
- C标准库string.h中几个常用函数的使用详解
strlen 计算字符串长度 size_t strlen(const char *str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符. 函数实现: int Strlen(cons ...
- Window下mysql环境配置问题整理
Window下mysql环境配置问题整理 参考如下链接. 无需安装解压版mysql包 创建选项配置 首次启动服务 用mysqld初始化目录 安装后设置和测试 启动服务错误信息 管理员模式打开cmd m ...
- effective c++ 笔记 (35-40)
//---------------------------15/04/24---------------------------- //#35 考虑virtual函数以外的其他选择 { /* 1: ...
- Java收发邮件过程中具体的功能是怎么实现的
SMTP协议 用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的. 因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为 ...
- [咸恩静][Love effect]
歌词来源:http://music.163.com/#/song?id=31877654 作曲 : Monster Factory/양승욱 [作曲 : Monster Factory/yang-seu ...
- 唐雎(jū)不辱使命
唐雎(jū)不辱使命 选自<战国策> 秦王使人谓安陵君曰:“寡人欲以五百里之地易安陵,安陵君其许寡人.”安陵君曰:“大王加惠,以大易小,甚善.虽然,受地于先生,愿终守之,弗敢易.”秦王不 ...
- Java 8 新特性---------Stream
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象 ...
- 第一次scrum meeting
在这次会议中,我们确定了任务的具体分配.这里截取一部分,每个人都有20个小时左右的编程任务,整个项目共计约140小时. 明天是正式开始软件实现的第一天,下面列出前两天每个人的任务: 第一天 第二天 ...