Linux下的常用命令(二)---ps,netstat
今天面试了一家公司,哎,有些东西还是掌握的不好,反正也就是只能大致说一些。现在我整理一下今天被问到的2条命令 。
PS命令
为了以下的用例需要,我写了如下的一段代码,文件名是commit.c,运行后生成commit。
生成的可执行文件commit一直在跑。
1.ps命令—查看当前系统进程的情况
选项:
-a:显示同一终端下的所有进程。
-e,-A:包括系统进程在内的所有进程。
-u:某个用户下的所有进程。
-r:当前终端的进程
f:显示程序间的关系
aux:显示包含所有用户的所有程序
(1)ps -a
(2) -e,-A选项,都是显示包括系统进程在内的所有进程。
(3) -l选项:显示系统进程的详细信息
(4)-u选项:显示某个用户下的所有进程。
(5)ps aux:显示所有用户的所有程序
(6)ps -ef:显示所有的进程,并显示进程之间的关系,全格式。
(7)ps axj:显示系统的守护进程。
(8)查看系统中的名为commit的进程。
netstat命令
netstat命令用于显示各种网络相关的信息,如网络连接,路由表,接口状态,多播成员等等。下边分析该命令的一些参数。
-a:显示所有的选项,默认不显示listen状态的服务。
-t:显示tcp相关选项。
-u:显示udp相关选项。
-n:拒绝显示别名,能显示数字的全部显示为数字。
-l:只列出listen状态的服务。
-p:显示建立相关连接的程序名。
-r:显示路由信息,路由表。
-e:显示扩展信息,比如uid等信息。
-s:按照各个协议进行统计。
-c:每隔固定时间执行一次netstat命令。
-i:显示各个网络接口的状况。
举例:
(1)列出所有的网络服务。netstat -a
分析:netstat的显示结果可以分为2类:
一个是Active Internet connections,称为有源TCP连接;另一个是Active UNIX domain sockets,是域间套接字。
(2)只显示tcp端口的信息。netstat -t
(3)只显示udp端口的信息。netstat -u
(4)只显示处于监听状态的服务信息。netstat -l
(5)按照各个协议显示统计数据。netstat -s
Ip:
10250 total packets received
9990 with invalid addresses
0 forwarded
0 incoming packets discarded
200 incoming packets delivered
212 requests sent out
Icmp:
83 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
destination unreachable: 82
echo requests: 1
83 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 82
echo replies: 1
IcmpMsg:
InType3: 82
InType8: 1
OutType0: 1
OutType3: 82
Tcp:
6 active connections openings
0 passive connection openings
4 failed connection attempts
0 connection resets received
1 connections established
15 segments received
18 segments send out
8 segments retransmited
1 bad segments received.
4 resets sent
Udp:
24 packets received
82 packets to unknown port received.
0 packet receive errors
107 packets sent
UdpLite:
TcpExt:
0 packets header predicted
2 acknowledgments not containing data received
0 TCP data loss events
1 other TCP timeouts
1 connections aborted due to timeout
TCPChallengeACK: 1
TCPSYNChallenge: 1
IpExt:
InBcastPkts: 56
InOctets: 7416369
OutOctets: 16286
InBcastOctets: 5123
这个命令适用于网络状况比较差的情况下,就可以用它来显示各个协议的数据,
(6)在netstat输出中显示pid/程序名称。netstat -p
(7)在所有的服务中找出运行在指定端口的进程。
(8)显示各个网络接口的状况 。netstat -i
(9)列出正在监听的tcp udp网络服务 netstat -tunl
(10)列出已经连接的tcp udp网络状态 netstat -tun
还没有评论,来说两句吧...