linux常用指令集-持续更新...
0.查看所有java进程GC情况:for i in `jps|egrep -v "Jps|Launcher" |cut -d" " -f1`;do pwdx $i; jstat -gcutil $i ;done
1.统计每个java进程的线程数:for i in `ps aux|grep java|awk '{print $2}'` ;do echo pid:$i; jstack $i |grep java.lang.Thread.State|awk '{print $2}'|sort|uniq -c;done
2.统计TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
3.统计每个IP的连接数:netstat -anp| awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr|more
4.统计每个进程的网络连接数:netstat -anp|awk '{print $7}'|awk -F/ '{print $1}'|sort|uniq -c | sort -nr|more
5.统计日志文件里接口被调用次数:grep RestChannelHandler global.log|cut -d"," -f3|cut -d"?" -f1|sort |uniq -c |sort -nr |more
grep '14/Nov/2017:09:4[0,1,2,3,4]' access.log|awk '{print $2}'|sort -nr |uniq -c
6.替换文件里指定字符串:sed -i "s/10.10.30.247/localhost/g" `grep 10.10.30.247 -rl */conf/*` 或者:find -name *.shtml|xargs perl -pi -e 's|10.10.30.247|localhost|g'
7.同步目录:rsync -av -e 'ssh -p 10007' 192.168.1.3:/root/server103 /root/
8.实时查看正在执行的sql语句: /usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i 'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'
tcpdump -i em2 port 53|grep 10.59.96.211
9.删除空目录:find /data -type d -empty | xargs -exec rmdir; 删除空文件:for emp in `/usr/bin/find -size 0` ;do /bin/rm $emp;done
删除五天前的文件:find /temp -mtime +5 -type f -exec rm -rf {} \;
10.批量kill进程 : ps -efww|grep sqlr-listener|grep -v grep|cut -c 9-15|xargs kill -9
11.列出所有jvm可选参数:java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
12.同时跟踪fork和vfork出来的进程 strace -f -F -p 123
13.网络流量的分析iptraf ,dstat
14.ldd /usr/bin/mysqldump 列出使用哪些so及路径
15.测试zk: echo stat |nc localhost 2181
16.sed 删除第一个单词
sed -r 's/[a-zA-Z]+ //1' your-file
cat soa_report.txt |grep HiveClient|awk -F'size:' '{print $2}'|sed -r 's/[0-9]+//1'
删除每行开头的所有空格
sed 's/^[ ]//g' test
17.查看网络连接状态统计:ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'
18.视频压缩
ffmpeg -i Wildlife.wmv-y -ab 32 -ar 44100 -r 15 -b 520000 -qscale 4 Wildlife_mencoder.flv
ffmpeg -i 1115.mp4 -qscale 4 1115compress.mp4
19.代码统计:find . -name "*.m" -or -name "*.h" |xargs grep -v "^$"|wc -l
代码统计:find ./ -name "*.swift"|xargs cat| wc -l
20.分组统计
如果要统计每个网址出现的次数, 实现类似于mysql group by的效果. 将wc -l 换成:
awk '{a[$1]++}END{for (j in a) print j","a[j]}'
输出格式: 分组,出现的次数
最大数/最小数/平均数统计
基于上一个例子, 如果我们提取的是一个数字, 要进行最大数/最小数/平均数的统计, 需要用到awk管道了, 将wc -l 换成:
awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1< min) {min=$1}; total+=$1; count+=1} END {print total/count, min, max}'
21.慢日志查询:
cat search_test/logs/run.log_2015-09-11.log |awk '{print $4}'|awk -F: '{if($2>1000){slow+=1};count+=1} END {print count,slow}'
统计resin accesslog大于1秒的记录
zcat access_107.105.2016-07-10.log.1650.gz |awk '{if($12>1000000){slow+=1;slowtime+=$12};count+=1}END{print slow,slowtime,slowtime/slow,count}'
分钟统计:
for i in {0..5};do DT="2016:20:$i" ; zcat access_107.*|grep $DT |awk '{if($12>2000000){slow+=1;slowtime+=$12};count+=1}END{print $4,slow,slowtime,slowtime/slow,count}'; done
22.nc 端口转发
nc -l -p $localport -c “nc $remotehost $remoteport”
nc -l -p 8000 -c “nc LAN-IP 8000″
nc -l 9009 | nc -nvv 10.10.10.239 9009
23.curl显示请求头部信息,指定Header
curl -v http://10.5.121.144/top/soa/RankService -H "soa_appid:bk" -H "soa-appsign:7e7ec59d" -d '{"jsonrpc":"2.0","method":"findAllByGameCode","params":[["1000022"]],"id":100}'
curl返回响应时间:
curl -w %{time_connect}:%{time_starttransfer}:%{time_total} http://test.newgame.173.com/soa/v1/GameService -d '{"method":"search","params":[{"page":1,"pageSize":20}],"id":1,"jsonrpc":"2.0"}' -s -o /dev/null
curl --connect-timeout 2 --keepalive-time 1 --max-time 1 -w %{time_connect}:%{time_starttransfer}:%{time_total} http://test.newgame.soa.173.com/search/soa/SearchService
24.dubbo服务状态监测
echo status -l |nc -i 1 10.5.15.222 20880
25.SYN_without_MSS 肉鸡对外洪水攻击排查
dstat+nethogs
ps aux 查找可疑进程
26.循环字符串数组,分别取文件路径和文件名
#!/bin/bash
set -o nounset
#set -o errexit
DIRNAME=/usr/bin/dirname
BASENAME=/bin/basename
BASE_PATH=`$DIRNAME $0`
cd $BASE_PATH
a="/global/soalog/20170408/20/198.sea.internal.com.log /global/soalog/20170407/15/sea5.log /global/soalog/20170709/15/10.59.107.146_v2.log"
arr=($a)
for i in ${arr[@]};
do
echo $i""
FILE_NAME=`$BASENAME $i`
echo $FILE_NAME
DIR_NAME=`$DIRNAME $i`
echo $DIR_NAME
done
27.编码转换,GBK转UTF-8
for i in *.log ;do echo $i;iconv -f GBK -t UTF-8 $i -o utf8/$i; done
28play game
[ $[ $RANDOM % 6 ] == 0 ] && echo "You die" || echo "Lucky boy";
linux常用指令集-持续更新...的更多相关文章
- Linux常用命令——持续更新(2018-05-09)
此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3 ...
- Linux常用命令(持续更新中)
cd 目录名 :进入某个目录 ls :列出当前目录的内容 locate 文件名/目录名:寻找文件.目录 find 目录名1 -name 文件名/目录名2 :在目录1中寻找目录2 whereis 文件 ...
- linux常用命令[持续更新]
top 察看系统状态,退出按q ps -A 察看所有进程 ps -A|grep gcalc|awk '{print $1}'|xargs kill 杀掉所有gcalc进程
- Linux常用(持续更新)
1. scp ./bcec_computernode_check.sh root@10.254.3.1:/tmp 2. # uname -a # cat /proc/version # cat /e ...
- 常用linux,DOS命令——持续更新
cd 文件夹名 进入某个文件夹 cd ../ 退出该级目录进入上一级 cd ../../ 退出该级目录进入上上级 cd ../../demo 退出该级目录进入上上级的目录 d: 回车 进入d盘 ls ...
- Linux命令(持续更新ing)
*.命令语法: a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号; b.指令太长的时候,可以使用“\”符号使指令连续到下一行; c.各种符号的意义: '' ...
- [Linux] Linux指令汇总(持续更新中...)
写在前面: 以前真心没有玩过Linux系统,总感觉整天摆弄Linux的同学都是大牛.如今,在公司里实习需要远程登录Linux服务器,所有的代码都要在开发板上完成,所以被逼无奈也不得不定下心来好好学学L ...
- 工作中常用的linux命令(持续更新)
一.top 实时动态地查看系统的整体运行情况1.在top命令后 > < 切换排序方式,根据cpu排名或者内存排名查看 2.top -p 进程pid 查看某一进程的整体运行情况 二.解压缩 ...
- 本人常用的Linux bash快捷键(持续更新)
按使用频率由高到低排列: Ctrl + a :移到命令行首Ctrl + e :移到命令行尾 Ctrl + u :从光标处删除至命令行首Ctrl + k :从光标处删除至命令行尾 Ctrl + d :删 ...
随机推荐
- 洛谷 P3157 [CQOI2011]动态逆序对(树套树)
题面 luogu 题解 树套树(树状数组套动态开点线段树) 静态使用树状数组求逆序对就不多说了 用线段树代替树状数组,外面套树状数组统计每个点逆序对数量 设 \(t1[i]\)为\(i\)前面有多少个 ...
- 洛谷 P1800 software_NOI导刊2010提高(06)
题目链接 题解 二分答案+dp 如果我们知道答案,贪心地想,让每个人做尽量多的模块一定不会比最优解差 \(f[i][j]\)表示前\(i\)个人第一个模块做了\(j\)块,第二个模块最多能做多少 然后 ...
- 将M个客服随机分配给N个客户
class AllocUser { //客户多于客服 public static void Test() { var customers = new List<Customer>() { ...
- js实现点击按钮滚动条缓慢滚动到顶部
toTop:function(){ //toTop 滚动到顶部 var currentPosition,timer; var speed=10; timer=setInterval(function( ...
- Spring property文件配置方法以及如何与工程分离
1,Spring使用property文件作为配置源 工程中难免出现一些需要每次部署都需要配置的参数,如数据源连接参数等,测试环境跟实际运行环境是不一样的. 使用spring框架的话,这些参 ...
- mysql GPID学习
1.为什么引入GPID? 解决主备复制的延时问题 单线程太慢, 多线程复制的问题是:最终数据可能不一致 MySQL主从延时这么长,要怎么优化? 2. 引入后有哪些缺点 不支持create table ...
- Hadoop Ecosytem
There are a lot of Hadoop related projects which are open sourced and widely used by many componies. ...
- CentOS 下 安装 JDK8
1.下载 在 /usr/local 目录下创建目录 java # cd /usr/local # mkdir java 登录网址:http://www.oracle.com/technetwork/j ...
- js经验点滴js apply/call/caller/callee/bind使用方法与区别分析
一.call 方法 调用一个对象的一个方法,以另一个对象替换当前对象(其实就是更改对象的内部指针,即改变对象的this指向的内容). Js代码 call([thisObj[,arg1[, arg2[, ...
- UiPath进阶
最近RPA比较火,UiPath工具排名前几位并且免费试用,很多朋友们都选择了学习自动化工具UiPath,今天我就向大家介绍一下UiPath的学习过程,希望对后来的学习这个工具的人有所帮助. UiPat ...