Linux-подібний топ / netstat / тощо. на Mac OS X?


24

Утиліти Unix на Mac OS X досить болісно використовувати. port install coreutils +with_default_namesі деякі інші подібні заміни виправляють більшість із них, але це залишає деякі у зламаних за замовчуванням Mac OS X - найбільш прикро topі netstat, але я впевнений, що я міг би придумати ще кілька.

Я здогадуюсь, що команди подобаються topта netstatє досить специфічними для ОС, тому просто захопити джерела їхніх еквівалентів Linux та перекомпілювати не вийде.

Який найкращий еквівалент цих та інших таких команд, що працює на Mac OS X?


3
Називання їх "замінами" може не бути історично точним. Вони походять із варіантів BSD, і історично багато з них передували інструментам linux, до яких ви звикли. Хоча хороших запитань і подібних питань існує для тих, хто використовує фінк замість портів.
dmckee

3
Ваше питання було б краще, якби воно містило менше редагування. Перехід від однієї Unix-подібної ОС до іншої завжди приносить сюрпризи, коли різні загальні команди Unix слідували різним еволюційним шляхом на різних платформах. Я використовував Solaris, DEC Ultrix, AT&T SysV, HP-UX, GNU / Linux (багато дистрибутивів), NEXTSTEP, OpenStep, BSDI, Xenix / SCO, FreeBSD, NetBSD, Mac OS X та CygWin. Якщо ви дозволяєте занадто звикати до унікальних особливостей інструментів одного аромату, боляче, коли переходите до іншої прихильності. Це не робить їх "зламаними".
Spiff

2
Правильно, і не забувайте Hurd. Окрім Linux та OSX, решта вашого списку становить лише історичний інтерес.
тав

@taw: Solaris все ще використовується в багатьох місцях, особливо для zfs.
Ден

Відповіді:


24

Багато функцій netstat можна замінити командою lsof . Я часто використовував

netstat -lnp | grep 1234

щоб дізнатись, хто слухав порт 1234. За допомогою lsof (який доступний для обох систем) я можу зробити:

lsof -i :1234

Верхня команда в OSX теж непогана, вона просто інша. І я впевнений, що деякі показники мають сенс лише на Mac.

Зауважте, що lsof -Pi :1234слід зробити це трохи швидше, не намагаючись вирішити назви служб (портів).


6
OSX lsofкраще, netstatніж OSX netstat, дякую.
тав

додати, -Pщоб запобігти вирішенню імен та зробити його швидшим. Так netstat -ntlpлюблять linux lsof -Pi | grep -i listen. Досі не знаю, як кілька PID-кодів могли прослухати на одному порту, не те, що я бачу в Linux: /
Ray Foss

@RayFoss На Mac та деяких інших ОС процес може прослуховуватися . : 1234 та ще один на 127.0.0.1.1234. Останні мають перевагу. Це заборонено в Linux.
Ерік Дарчіс

4

О, здорово, htopє на домашньому! Я думаю, що це не клон Linux, topале якщо ви вирішите використовувати htopв Linux, то, мабуть, htopдля OS X не буде занадто далеко.


1
це не пряма заміна, оскільки ви не можете отримати швидкий список серверів прослуховування
Ray Foss
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.