Top Linux / netstat / etc. no Mac OS X?

24

Utilitários Unix no Mac OS X são bastante dolorosos de usar. port install coreutils +with_default_namese algumas outras substituições corrigem a maioria delas, mas deixam algumas em padrões quebrados do Mac OS X - de maneira mais irritante tope netstat, mas tenho certeza de que poderia pensar em mais algumas.

Suponho que comandos como tope netstatsejam bastante específicos do SO, portanto, apenas pegar fontes de seus equivalentes Linux e recompilar não funcionará.

Qual é o melhor equivalente desses e de outros comandos que funcionam no Mac OS X?

taw
fonte
3
Chamá-los de "substitutos" pode não ser historicamente preciso. Eles são derivados das variantes do BSD, e historicamente muitos deles são anteriores às ferramentas do linux com as quais você está acostumado. Boas perguntas, porém, e problemas semelhantes existem para aqueles que usam o fink em vez de portas.
dmckee
3
Sua pergunta seria melhor se contivesse menos editorial. A passagem de um sistema operacional semelhante ao Unix para outro sempre traz surpresas na maneira como diferentes comandos comuns do Unix seguem diferentes caminhos evolutivos em diferentes plataformas. Eu usei Solaris, DEC Ultrix, AT&T SysV, HP-UX, GNU / Linux (muitas distribuições), NEXTSTEP, OpenStep, BSDI, Xenix / SCO, FreeBSD, NetBSD, Mac OS X e CygWin. Se você se acostumar a características únicas das ferramentas de um sabor, é doloroso quando você vai a outro favor. Isso não os torna "quebrados".
Spiff
2
Certo, e não se esqueça de Hurd. Além do Linux e OSX, o restante da sua lista é apenas de interesse histórico.
taw
@taw: O Solaris ainda está em uso em muitos lugares, principalmente no zfs.
Dan

Respostas:

24

Muitos recursos do netstat podem ser substituídos por um comando lsof . Eu usava frequentemente

netstat -lnp | grep 1234

para descobrir quem estava escutando na porta 1234. Com lsof (disponível em ambos os sistemas), eu posso fazer:

lsof -i :1234

O comando superior no OSX também não é ruim, é apenas diferente. E tenho certeza de que algumas das métricas só fazem sentido no Mac.

Observe que isso lsof -Pi :1234deve ficar um pouco mais rápido, não tentando resolver os nomes de serviço (das portas).

Eric Darchis
fonte
6
OSX lsofé melhor melhor netstatque OSX netstat, obrigado.
taw
adicione -Ppara impedir a resolução de nomes e torná-lo mais rápido. Então, o Linux netstat -ntlpmeio que gosta lsof -Pi | grep -i listen. Ainda não sei como vários PIDs podem escutar na mesma porta, algo que não vejo no linux: /
Ray Foss
@RayFoss No Mac e em outro sistema operacional, um processo pode ser ouvido . : 1234 e outro em 127.0.0.1:1234. Este último tendo precedência. Isso é proibido no Linux.
11137 Eric Darchis
4

Oh legal, htopestá em Homebrew! Eu acho que não é um clone do Linux, topmas se você decidir usar htopno Linux, acho que htopno OS X não estará muito longe.

crazysim
fonte
1
não é um substituto direto como você não podem obter uma lista rápida dos servidores de escuta
Ray Foss