linux,unix常用命令集锦

Linux中查看socket状态:

  # cat /proc/net/sockstat

  sockets: used 542

  TCP: inuse 7 orphan 0 tw 8 alloc 65 mem 3

  UDP: inuse 6 mem 0

  RAW: inuse 0

  FRAG: inuse 0 memory 0

  说明:

  sockets: used:已使用的所有协议套接字总量

  TCP: inuse:正在使用(正在侦听)的TCP套接字数量。其值≤ netstat �Clnt | grep ^tcp | wc �Cl

  TCP: orphan:无主(不属于任何进程)的TCP连接数(无用、待销毁的TCP socket数)

  TCP: tw:等待关闭的TCP连接数。其值等于netstat �Cant | grep TIME_WAIT | wc �Cl

  TCP:alloc(allocated):已分配(已建立、已申请到sk_buff)的TCP套接字数量。其值等于netstat �Cant | grep ^tcp | wc �Cl

  TCP:mem:套接字缓冲区使用量(单位不详。用scp实测,速度在4803.9kB/s时:其值=11,netstat �Cant 中相应的22端口的Recv-Q=0,Send-Q≈400)

  UDP:inuse:正在使用的UDP套接字数量

  RAW:

  FRAG:使用的IP段数量

  IPv6请看:cat /proc/net/sockstat6

  修改打开文件限制的最简单的办法就是使用ulimit命令:

  # ulimit -n <file_num>

  对当前系统的网络连接状态分类汇总:

  # netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

  awk:

  /^tcp/ 滤出tcp开头的记录,屏蔽udp, socket等无关记录。

  state[] 相当于定义了一个名叫state的数组

  NF 表示记录的字段数,如上所示的记录,NF等于6

  $NF 表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT

  state[$NF] 表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数

  ++state[$NF] 表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一

  END 表示在最后阶段要执行的命令

  for(key in state) 遍历数组

  print key,"\t",state[key] 打印数组的键和值,中间用\t制表符分割,美化一下。

  查看CPU信息(型号)

  # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

你可能感兴趣的:(linux,unix,职场,休闲)