命令行不是Windows的强项,当其前身DOS就是命令行,所以对命令行的操作才是最快捷、最直接的操作。而Linux则是有着强大的命令行功能,她能做出很炫的桌面效果,但还是不能抛弃命令行。而对于专业人士来说,命令行的熟悉体现你个人的水准。
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]。这是Windows下的帮助,Windows下的netstat命令只支持TCP协议族,即TCP/IP、UDP及其v6版本。而Linux是下的netstat则支持很多协议族。但对于我们普通用户来说,一般用的都是tcp/ip协议族。
-a表示列出所以的协议,Linux也有此参数且功能相同。
-b列出相关的程序名。跟-o连用相当于Linux下的-p。
-e统计以太网数据传输数据。常跟-s连用,相当于Linux下的-s。
-n以数字形式表示相关的主机名、服务名。跟Linux下的功能类似。但Linux下还可以指定某一部分的表示方式。--numeric-hosts表只有主机部分以数值表示,--numeric-ports表示只有服务对应的端口号用数值表示,--numeric-users表示所属用户用uid而不是用户名。
-o显示pid,进程号。
-p指定显示的协议。Linux下分别用-t表tcp协议,-u表UDP协议。
-s统计数据,跟Linux下一样。
interval表示每隔interval秒重新显示一次之前的命令输出的结果。Linux下也有此功能。
很容易看出,Linux跟Windows的功能在Windows能实现的部分基本差不多,但容易出错的参数就是Windows下-p指protocol,所以后面跟的是协议的类型。而Linux的-p指的是program,所以打印出来多出一列包含pid/program name,相当于Windows的-bo。
实际中的应用:
Windows下和Linux下要实现相同的功能的命令行比较。
Windows下:
Linux下:
Linux下的netstat还有着很强大的功能,我们学习命令不用面面俱到,只要记住平时常用的就可以,至于一些很少用到却很有用处的用法,则遇到后在回去看man手册,这样有需求在学习才是这些知识点产生的初衷。