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 :删 ...
随机推荐
- shim和polyfill,前端术语
最近项目临近发布,JS的bug大都修改完毕,终于进入了我在这家公司实习+入职为数不多的摸鱼时刻.(想想真是有点感人啊) 因为项目要兼容IE8,所以我们的代码里常常要用到 shim 以支持ES5 的相关 ...
- flask 的上下文管理
Flask的上下文对象 Flask有两种Context(上下文),分别是 RequestContext 请求上下文 Request 请求的对象,封装了Http请求(environ)的内容 Sessio ...
- asp web服务
项目名--->添加--->web引用 网址:http://www.webxml.com.cn/zh_cn/index.aspx https://blog.csdn.net/linshich ...
- Android 数据库框架GreenDao实战使用
1.添加记录(SQLite 增) 2.删除记录(SQLite 删) 3.修改记录(SQLite 改) 4.查询记录(SQLite 查) <1> DAO查询 <2>QueryBu ...
- CNN 卷积神经网络结构
cnn每一层会输出多个feature map, 每个Feature Map通过一种卷积滤波器提取输入的一种特征,每个feature map由多个神经元组成,假如某个feature map的shape是 ...
- Codeforces - 240F 是男人就上26棵线段树
#include<bits/stdc++.h> using namespace std; const int maxn = 1e5+11; typedef long long ll; ch ...
- 记一次ctf比赛解密题的解决(可逆加密基本破解之暴力破解)
题目是这个样子的: code.txt的内容是这样: 有点吓人木?233333 其实解密之后是这样的: 找到一点安慰没? 好了,废话不多说.讲解一下思路吧. 我们知道base64加密是属于可逆加密的.简 ...
- 1152 Google Recruitment (20 分)
In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the p ...
- ssh,hibernate动态映射多表
[From] http://www.07net01.com/2016/01/1172051.html 最近在做OA系统(ssh),一直在想如何把框架架得更完善,此前已经在框架里集成springMVC, ...
- Spring property文件配置方法以及如何与工程分离
1,Spring使用property文件作为配置源 工程中难免出现一些需要每次部署都需要配置的参数,如数据源连接参数等,测试环境跟实际运行环境是不一样的. 使用spring框架的话,这些参 ...