1、查找当前目录先所有以 .tar结尾的文件并移动到指定目录
find ./ -name "*.tar" | xargs -i mv {} ./mysql/
find ./ -name "*.tar" -exec mv {}./mysql/ ;#可能会有问题
-exec 、xargs可以来承接前面的结果,一般跟find再一起使用;
-mtime查找时间,-type指定类型,-size指定大小,
#查找当前目录30天以前大于100M的log文件,并删除
find ./ -name "*.log" –mtime +30 –type f –size +100M |xargs rm –rf {};
#将大于100k的文件移动到特定目录
find . -size +100k -exec mv {} /tmp ;
#查找最后创建时间是3天前,后缀是*.log的文件并删除
find . -mtime +3 -name "*.log" |xargs rm -rf {} ;
2、批量解压当前目录下以 .zip结尾的压缩包到指定目录
for i in `find . –name "*.zip" –type f `
do
unzip –d $i /data/
done
3、sed常用命收集:
如何去掉行首的.字符:
sed -i 's/^.//g' test.txt
在行首添加一个a字符:
sed 's/^/a/g' test.txt
在行尾添加一个a字符:
sed 's/$/a/' tets.txt
在特定行下一行添加一个cbd字符:
sed '/wuguangke/acbd' test.txt
在行特定行前一行加入一个cbd字符:
sed '/wuguangke/icbd' test.txt
替换文件中指定字符串
find makefile | xargs sed -i "s:/Main/:${user_path}:g"
sed -i 's//usr/local//tmp/g' test.txt
sed 's:/user/local:/tmp:g' test.txt
#修改文本中以jk结尾的替换成yz
sed -e 's/jk$/yz/g' b.txt
4、如何判断某个目录是否存在,不存在则新建,存在则打印信息
if [! –d /data/backup/];then
Mkdir –p /data/backup/
else
echo "The Directory alreadyexists,please exit"
fi
5、cat
#统计 访问日志,访问量排在前20 的 ip地址
cat access.log |awk '{print $1}'|sort|uniq -c |sort -nr |head -20 #sort排序、uniq(检查及删除文本文件中重复出现的行列 )
#打印出一个文件里面最大和最小值
cat a.txt |sort -nr|awk '{}END{print} NR==1'
cat a.txt |sort -nr |awk 'END{print} NR==1'
#显示最常用的20条命令
cat .bash_history |grep -v ^# |awk '{print $1}' |sort |uniq -c |sort -nr |head-20
6、防火墙配置脚本,只允许远程主机访问本机的80端口。
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 80 -j accept
iptables -A INPUT -p tcp -j REJECT
##或者
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
7、网络抓包
#抓取56.7通过80请求的数据包。
tcpdump -nn host 192.168.56.7 and port 80
#排除0.22 80端口!
tcpdump -nn host 192.168.56.7 or ! host 192.168.0.22 and port 80
8、查询网路I/O
netstat -an | grep TIME_WAIT 或 netstat -antp 查找处于TIME_WAIT状态的连接,这可能是大量并发短连接导致的网络资源消耗。
netstat -i 或 netstat -s 显示网络接口统计信息,可以查看总的网络I/O错误和丢包情况。
ss -t state established '(recv-q|send-q) > 0' 可以找出TCP连接中有大量数据积压在接收或发送队列中的连接。
ss -u 可以查看UDP连接统计。
-
iftop
: 实时的网络带宽监视工具,可以直观地看到每个进程的网络流量。 -
nethogs
: 可以按进程查看网络流量,方便找到哪个进程占用了大量网络带宽。 -
这些工具提供实时和历史网络流量分析,有助于识别异常流量高峰。iptraf-ng
或vnstat
: -
对可疑进程执行strace
:strace -p <PID>
,可以追踪该进程的系统调用,包括网络相关的系统调用,以查看是否有阻塞在网络I/O上的迹象。 -
lsof
:lsof -i
或lsof -i :<port>
可以列出所有打开网络套接字的进程及其相关的文件描述符,结合-P
参数可以看到进程ID。 -
pidstat
(part of sysstat package):pidstat -t -u -n
可以显示每个进程的CPU、内存以及网络统计信息,其中包括发送和接收的数据量。 -
虽然主要用于磁盘I/O监控,但如果网络I/O映射到了文件系统的缓存,也可能在此处体现出来iotop
: