Hide

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again.

Delete that bloated snippets file you've been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.


If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/

Get involved!

You can sign-in using OpenID credentials, or register a traditional username and password.

First-time OpenID users will be automatically assigned a username which can be changed after signing in.

Hide

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for:

Hide

News

2011-03-12 - Confoo 2011 presentation
Slides are available from the commandlinefu presentation at Confoo 2011: http://presentations.codeinthehole.com/confoo2011/
2011-01-04 - Moderation now required for new commands
To try and put and end to the spamming, new commands require moderation before they will appear on the site.
2010-12-27 - Apologies for not banning the trolls sooner
Have been away from the interwebs over Christmas. Will be more vigilant henceforth.
2010-09-24 - OAuth and pagination problems fixed
Apologies for the delay in getting Twitter's OAuth supported. Annoying pagination gremlin also fixed.
Hide

Tags

Hide

Functions

check open ports

Terminal - check open ports
lsof -Pni4 | grep LISTEN
2009-08-21 22:51:41
User: evenme
Functions: grep
18
check open ports

Tested in Linux and OSX

Alternatives

There are 2 alternatives - vote for the best!

Terminal - Alternatives
netstat -plnt
2011-09-30 19:56:32
User: DopeGhoti
Functions: netstat
7

While `lsof` will work, why not use the tool designed explicitly for this job?

(If not run as root, you will only see the names of PID you own)

lsof -Pn | grep LISTEN
netstat -plntu
lsof -i
2011-10-03 02:06:30
User: shsingh
-1

This option selects the listing of all Internet and x.25 (HP-UX) network files.

lsof -Pi | grep LISTEN
2011-10-03 12:50:18
User: 5partan
Functions: grep
-2

This option is much faster, as it checks only network nodes.

Know a better way?

If you can do better, submit your command here.

What others think

what is wrong with using `netstat`?

netstat -an | grep LISTEN

does the same and works everywhere, even where `lsof` is not present...

Comment by ceesaxp 261 weeks and 5 days ago

Someones wont see that unix streams.

Comment by bandie91 261 weeks and 5 days ago

netstat -luntp

is my choice

Comment by Charon 261 weeks and 3 days ago

netstat don't provide service name and don't work with same behavior in all unix system.

Comment by evenme 257 weeks and 3 days ago

lsof gives all open ports, even those opened by trojans/rootkits which are usually hidden from netstat

Comment by zlemini 231 weeks and 5 days ago

"won't see unix streams" incorrect; /bin/netstat does indeed show UNIX sockets

"netstat doesn't provide service name" which is a good thing, since /etc/services might not be what you expect when diagnosing a stranger's machine.

"...usually hidden from netstat" until you encounter malware that has learned to corrupt lsof as well as netstat.

My beef is that lsof can hang if there are mounted filesystems that have timed-out (a frequent problem with NFS and CIFS), despite having nothing to do with the TCP/UDP/unix sockets that you are trying to find out about.

Comment by Mozai 151 weeks and 4 days ago

I think it's important to remember that both offer similar information and are useful in diagnosing issues. The more tools in you box the more likely you'll fix the problem. This is especially true if you tend to hop OSes and the command you'd normally use is not available on a different OS.

Cheers,

Mikel King

http://jafdip.com

Comment by mikelking 135 weeks and 2 days ago

Your point of view

You must be signed in to comment.

Related sites and podcasts