Linux giống như top / netstat / vv. trên Mac OS X?


24

Các tiện ích Unix trên Mac OS X khá khó sử dụng. port install coreutils +with_default_namesvà một vài sự thay thế khác như vậy đã khắc phục hầu hết trong số chúng, nhưng nó khiến một số máy Mac OS X bị hỏng mặc định - khó chịu nhất topnetstat, nhưng tôi chắc chắn rằng tôi có thể nghĩ thêm một vài điều nữa.

Tôi đoán rằng các lệnh như topnetstatkhá đặc thù của hệ điều hành, vì vậy chỉ cần lấy các nguồn tương đương Linux của chúng và biên dịch lại sẽ không hoạt động.

Tương đương tốt nhất của các lệnh này và các lệnh khác như vậy hoạt động trên Mac OS X là gì?


3
Gọi họ là "sự thay thế" có thể không chính xác về mặt lịch sử. Chúng có nguồn gốc từ các biến thể BSD và trong lịch sử nhiều trong số đó có các công cụ linux mà bạn đã quen sử dụng. Những câu hỏi hay, và những vấn đề tương tự tồn tại cho những người trong chúng ta sử dụng fink thay vì cổng.
dmckee

3
Câu hỏi của bạn sẽ tốt hơn nếu nó chứa ít biên tập hơn. Việc chuyển từ hệ điều hành giống Unix sang hệ điều hành khác luôn mang đến những bất ngờ theo cách các lệnh Unix phổ biến khác nhau đã đi theo những con đường tiến hóa khác nhau trên các nền tảng khác nhau. Tôi đã sử dụng Solaris, DEC Ultrix, AT & T SysV, HP-UX, GNU / Linux (nhiều bản phát hành), NEXTSTEP, OpenStep, BSDI, Xenix / SCO, FreeBSD, NetBSD, Mac OS X và CygWin. Nếu bạn đã quá quen với các tính năng độc đáo của các công cụ của một hương vị, sẽ thật đau đớn khi bạn đi đến một đặc ân khác. Điều đó không làm cho họ "tan vỡ".
Spiff

2
Phải, và đừng quên Hurd. Khác với Linux và OSX, phần còn lại của danh sách của bạn chỉ là mối quan tâm lịch sử.
Taw

@taw: Solaris vẫn được sử dụng ở rất nhiều nơi, đặc biệt là cho zfs.
Dan

Câu trả lời:


24

Nhiều tính năng netstat có thể được thay thế bằng lệnh lsof . Tôi thường sử dụng

netstat -lnp | grep 1234

để tìm ra ai đang nghe trên cổng 1234. Với lsof (có sẵn trên cả hai hệ thống), tôi có thể làm:

lsof -i :1234

Lệnh hàng đầu trên OSX cũng không tệ, nó chỉ khác. Và tôi khá chắc chắn rằng một số số liệu chỉ có ý nghĩa trên Mac.

Lưu ý rằng lsof -Pi :1234nên làm cho nó nhanh hơn một chút bằng cách không cố gắng giải quyết tên dịch vụ (của các cổng).


6
OSX lsoftốt netstathơn OSX netstat, cảm ơn.
Taw

thêm -Pvào để ngăn chặn độ phân giải tên và làm cho nó nhanh hơn. Vì vậy, linux netstat -ntlpkinda như thế lsof -Pi | grep -i listen. Vẫn không biết làm thế nào nhiều PID có thể nghe trên cùng một cổng, không phải là thứ tôi thấy trong linux: /
Ray Foss

@RayFoss Trên Mac và một số HĐH khác, một quy trình có thể lắng nghe . : 1234 và một số khác trên 127.0.0.1:1234. Cái sau có quyền ưu tiên. Điều đó bị cấm trên Linux.
Eric Darchis

4

Ôi tuyệt vời, htoplà ở Homebrew! Tôi đoán nó không phải là một bản sao của Linux topnhưng nếu bạn quyết định sử dụng htoptrên Linux thì tôi đoán htoptrên OS X sẽ không còn quá xa.


1
nó không phải là sự thay thế trực tiếp vì bạn không thể có được một danh sách nhanh các máy chủ nghe
Ray Foss
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.