Linux常用命令history/tcpdump/awk/grep

本文介绍了Linux系统中的几个实用命令技巧,包括使用history命令查询文件操作记录、利用tcpdump进行网络数据包捕获、通过awk进行文本处理以及使用grep进行文件搜索。文章提供了具体的命令实例,帮助读者更好地理解和掌握这些命令的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 0 -i any port 8123 -w ./tcpdump/xdrout.pcap

-s 抓报长度,一般设置为0,即65535字节
-i 就是监听的网络接口,是eth0,eth1 还是什么,any 表示所有的网络接口。
port 8123 就是只监听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 = 1
to = 2
test = 1
many = 2
foreign = 1
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]
 
 

awk学习 by pspery  转载

 

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 $0` 定位到运行脚本的相对位置

 

转载于:https://www.cnblogs.com/guxuanqing/p/7843307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值