Mac Commands - downgoon/hello-world GitHub Wiki

Mac的命令与Linux的命令有不少差异:

查看端口的状态

$ netstat -anp tcp | grep 3306
tcp46      0      0  *.13306                *.*                    LISTEN

➜  ~ netstat -anp tcp | grep 1234
tcp6       0      0  ::1.1234               ::1.60702              ESTABLISHED
tcp6       0      0  ::1.60702              ::1.1234               ESTABLISHED
tcp6       0      0  ::1.1234               ::1.59385              ESTABLISHED
tcp6       0      0  ::1.59385              ::1.1234               ESTABLISHED
tcp6       0      0  ::1.1234               ::1.58697              ESTABLISHED
tcp6       0      0  ::1.58697              ::1.1234               ESTABLISHED
tcp6       0      0  ::1.1234               ::1.56822              ESTABLISHED
tcp6       0      0  ::1.56822              ::1.1234               ESTABLISHED
tcp46      0      0  *.1234                 *.*                    LISTEN
➜  ~
➜  ~ netstat -anp tcp | grep 1234
tcp6       0      0  ::1.1234               ::1.59385              TIME_WAIT
tcp6       0      0  ::1.1234               ::1.56822              TIME_WAIT
tcp6       0      0  ::1.1234               ::1.58697              TIME_WAIT

查看所有Listen的端口

$ netstat -AaLlnW
Current listen queue sizes (qlen/incqlen/maxqlen)
Socket           Flowhash Listen         Local Address
2a966401361aa91d        0 0/0/128        127.0.0.1.54530
2a96640154677d9d        0 0/0/50         *.13231
2a9664016aa8059d        0 0/0/50         127.0.0.1.61566
2a9664016a8ebf1d        0 0/0/128        127.0.0.1.61548
2a9664016a978f1d        0 0/0/128        127.0.0.1.63342
2a9664016a887c1d        0 0/0/128        127.0.0.1.6942
2a9664016ab3ff1d        0 0/0/128        *.5900
2a966401546760dd        0 0/0/128        *.5900
2a966401415dab1d        0 0/0/128        *.8000
2a966401415dc21d        0 0/0/128        *.13306
2a966401415dd91d        0 0/0/128        ::1.6800
2a9664014240359d        0 0/0/128        127.0.0.1.6800
2a966401361a4b1d        0 0/0/128        *.16379
2a966401418d891d        0 0/0/128        127.0.0.1.49210
2a966401415dc7dd        0 0/0/128        *.3000
2a966401361a791d        0 0/0/10         *.61500
2a96640138b9859d        0 0/0/10         *.61500
2a966401361abc1d        0 0/0/128        *.88
2a966401361a6d9d        0 0/0/128        *.88
2a966401361acf1d        0 0/0/128        *.22
2a966401361a621d        0 0/0/128        *.22

依据端口号查进程号

在Mac上,命令是lsof -i:$port

$ lsof -i:8080

COMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

node    12159 yyyyyy   23u  IPv4 0x76b4f5051c4983f3      0t0  TCP *:netxms-agent (LISTEN)

通常在Linux下使用netstat -ntpl | grep 8080,各参数的含义是:

  • -n表示不显示host_name,显示number。
  • -t表示显示TCP。
  • -p表示展示进程号process。
  • -l表示展示Listen的端口。

lsof命令通常用来查看某个进程的open files列表。