Linux系统实用命令-持续更新

* 查看端口占用

netstat -anp|grep 9000

* 查看所有端口情况

netstat -nultp

* 批量杀掉特定端口进程

netstat -anp|grep 9000|awk '{print $7}'|tr -cd '[0-9]'|xargs kill -9

* 查看所有进程

ps  -aux

* 查看某个用户进程

ps  -f -u name

* 批量删除同名进程

ps -efww|grep name|grep -v grep|cut -c 9-15|xargs kill -9

ps -efww|grep name|grep -v grep|awk ‘{print “kill -9 ” $2}’|sh

* 获取前两行数据

sed -n '{1p;2p}’

* 查看软件安装位置:

方法一:rpm -qal |grep 软件名

方法二:yum search 软件名

方法三:which 软件名

方法四:Whereis 软件名

打dump方法:

ps -ef | grep java | grep {进程实例}  ----à得到pid

jmap -histo pid >> {自建文件名}  ----à得到headdump日志

ps -ef | grep java | grep {进程实例}  ----à得到pid

jstack -l pid >> {自建文件名}  ----à得到threaddump日志

ps -ef | grep java | grep {进程实例}  ----à得到pid

kill -3 pid >> {自建文件名}  ----à得到dump日志

网络抓包命令:

tcpdump -i any port 80 -n -vv -e -A -c 60 >tcpdum.log

-A:以ASCⅡ编码打印除了链路层报文头外的报文内容。用于捕捉web请求。

-B:设置抓取报文的缓存大小。

-c:收到多少包后退出程序

-dd:dump报文存储格式为C程序格式。

-e:打印链路层报文头

-X:不包括数据链路层的报文,并且以ASCⅡ的编码方式。

-v:详细的输出,也就比普通的多了个TTL和服务类型

-vv:截取显示详细的报文(注意是两个v)

-n:不进行IP地址到主机名的转换

-nn:不进行端口名称的转换

-N:不打印出默认的域名

-O:不进行匹配代码的优化

-t:不打印UNIX时间戳,也就是不显示时间

-tt:打印原始的、未格式化过的时间

-S:Print absolute, rather than relative, TCP sequence numbers.

-w filename : 保存截取的报文到指定的文件。

获取mem或CPU占用最多的TOP10进程

使用一下命令查使用内存最多的10个进程查看占用cpu最高的进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head或者top (然后按下M,注意这里是大写)查看占用内存最高的进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head或者top (然后按下P,注意这里是大写)该命令组合实际上是下面两句命令:ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道操作)补充:内容解释PID:进程的IDUSER:进程所有者PR:进程的优先级别,越小越优先被执行NInice:值VIRT:进程占用的虚拟内存RES:进程占用的物理内存SHR:进程使用的共享内存S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数%CPU:进程占用CPU的使用率%MEM:进程使用的物理内存和总内存的百分比TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND:进程启动命令名称 可以使用以下命令查使用内存最多的K个进程方法1:ps -aux | sort -k4nr | head -K如果是10个进程,K=10,如果是最高的三个,K=3说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)ps -aux的输出格式如下:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /sbin/initroot 2 0.0 0.0 0 0 ? S Jul29 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S Jul29 0:11 [migration/0]sort -k4nr中(k代表从第几个位置开始,后面的数字4即是其开始位置,结束位置如果没有,则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)。本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。head -K(K指代行数,即输出前几位的结果)|为管道符号,将查询出的结果导到下面的命令中进行下一步的操作。方法2:top (然后按下M,注意大写)二、可以使用下面命令查使用CPU最多的K个进程方法1:ps -aux | sort -k3nr | head -K方法2:top (然后按下P,注意大写)

你可能感兴趣的:(Linux系统实用命令-持续更新)