简介
本篇博客收集一些常用的复杂命令组合,这些命令组合能够高效的定位、分析、处理一些问题,希望对需要的小伙伴有所帮助。
命令集合
批量备份文件
将名称为config.xml的文件查找出来,并在原目录备份find /var/lib/jenkins/jobs -name config.xml | xargs -t -I '{}' /usr/bin/cp '{}' '{}.bak'
删除最后一行
将名称为config.xml的文件查找出来,并将该文件的最后一行删除find /var/lib/jenkins/jobs -name config.xml | xargs -t -I '{}' sed -i '$d' {}
追加内容到指定文件
将名称为config.xml的文件查找出来,并将/data/scripts/post文件内容find /var/lib/jenkins/jobs -name config.xml -exec bash -c "cat /data/scripts/post >> {}" \;
压缩文件同时排除某些文件
tar -zcvf marketdata.tar.gz marketdata/ --exclude 20190323*
一个文件内容插入到另一个文件
将test文本的内容插入到demo的第6行sed -i '6 r test' demo
如果不知道行号,但是知道模式可以用sed -i '/regex/ r test' demo # regex是正则表达式
不换行输出时间
echo -n `date +%Y-%m%d-%H:%M-`
打印分隔符
for i in `seq 1 $COLUMNS`; do echo -n "+"; done
循环输出docker信息
docker ps | awk -F' ' '{print $NF}' | xargs -I {} bash -c "docker top {}"
docker ps | awk -F' ' '{print $NF}' | xargs -t -I '{}' docker top '{}'
批量替换文本
替换当前目录下文本中文本sed -ig 's/text1/text2/g' ./*
测试TCP或UDP连接
nc -v 192.168.30.100 1200
nc -uv 192.168.30.100 1200
查看该目录下文件夹大小
du -sh ./* | sort -nr
统计显示网络连接状态的个数
netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
杀掉服务
ps -ef |grep CtpTradeServe |grep -v grep | awk '{print $2}'|xargs kill -9
命令行ip查询:
UNIX/Linux: #curl cip.cc
Windows: >telnet cip.cc
\>ftp cip.cc
命令行查询(纯ip):
UNIX/Linux: #curl ip.cip.cc
监控到某一网站的网络状况
curl -o /dev/null -s -w %{http_code}-%{time_namelookup}-%{time_redirect}-%{time_pretransfer}-%{time_connect}-%{time_starttransfer}-%{time_total}-%{speed_download}"\n" https://www.glinux.top
ping监控
#!/bin/bash
while true; do
echo -n `date` "---> ">> /root/ping.txt; (ping 172.31.65.241 -c 1 -W 1|grep "from">> /root/ping.txt) && (echo -n "" >> /root/ping.txt) || (echo "Fail.">> /root/ping.txt)
sleep 1
done
web ip访问日志统计
tail -n 1000000 www.glinux.top-access.log|grep '06/Sep/2018:08:'|awk '{print $1}'| sort |uniq -c|sort -nr
grep -r 11/Oct/2018:04: ./www*.glinux.top-access.log | awk '{print $1}'| sort |uniq -c|sort -nr
cnetos 7查看服务报错日志
journalctl -u 服务名
wget请求网页,功能类似curl,请求数据不保存为文件,直接cosole输出
wget -O - -q https://www.glinux.top/index.html
参考文档
sed命令:
- https://www.cnblogs.com/alwayswyy/p/5191137.html
- https://github.com/lutaoact/script/blob/master/sed%E5%8D%95%E8%A1%8C%E8%84%9A%E6%9C%AC.txt
jq命令:
- https://www.ibm.com/developerworks/cn/linux/1612_chengg_jq/index.html
- https://stedolan.github.io/jq/manual/