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.

World cup college
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

2010-03-03 - Commandlinefu @ SXSW 2010
Am going to be at SXSW this year, in case you want to submit any CLI nuggets or suggestions to me in person. Ping me on the @codeinthehole Twitter account.
2009-09-12 - Email updates now available
You can now enable email updates to let you know each time you're command is commented on.
2009-07-11 - API and javascript blog widget now available
A simple API has been released, allowing commands to be retrieved in various formats. This also allows commands to be embedded on blogs/homepages.
2009-05-17 - Added duplicate suggestions to the new command form
When adding a new command, a quick background search is performed to make sure you're not duplicating a command already in the system.
Hide

Tags

Hide

Functions

Serve current directory tree at http://$HOSTNAME:8000/

Terminal - Serve current directory tree at http://$HOSTNAME:8000/
python -m SimpleHTTPServer
2009-02-05 11:57:43
User: pixelbeat
Functions: python
331
Serve current directory tree at http://$HOSTNAME:8000/

Know a better way?

If you can do better, submit your command here.

What others think

To use a different port:

python -m SimpleHTTPServer 8080
Comment by taoufix 57 weeks and 3 days ago

Many thx to the both of you and python developers :)

Comment by AmadeusZull 55 weeks and 3 days ago
python -m SimpleHTTPServer

+Serving HTTP on 0.0.0.0 port 8000 ...

....

Comment by grep 54 weeks and 6 days ago

Cool. I'd been using webfs for this.

http://linux.bytesex.org/misc/webfs.html

Comment by Viaken 52 weeks and 6 days ago

This is great way to get something to open without configuring webserver.

I love it.

Comment by k00pa 51 weeks and 4 days ago

See also CGIHTTPServer

Comment by dstahlke 49 weeks ago

Awesome!!

Comment by d4n3sh 47 weeks and 4 days ago

How to kill the servers? :P

Comment by Meeko 47 weeks and 3 days ago

I changed this up a bit and added it to my .bashrc. My function also logs into my web server via ssh and forwards a port back to me. It also copies the URL to my primary selection.

webshare () { local SSHHOST=hostname.of.server python -m SimpleHTTPServer & echo http://$SSHHOST:8000 | xclip echo Press enter to stop sharing, http://$SSHHOST:8000 copied to primary selection

/usr/bin/ssh -R 8000:127.0.0.1:8000 $SSHHOST 'read'

kill `jobs -p | head` }
Comment by wonko 43 weeks and 4 days ago

Neat. I've been using a more complicated system:

# Create an index.html, trying to preserve names with whitespace

du -a | awk ?{ print $2,$3,$4,$5}? | \ until [[ -z $L ]];

do

read L;

echo ??$L??;

done > ./index.html;

#Instantiate an SSL web server on port 8080

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout \

server.pem -out server.pem -subj ?/C=XX/O=XX/OU=XX/CN=XX?;

openssl s_server -accept 8080 -WWW

Comment by lbonanomi 26 weeks and 6 days ago

Wow, quoting went horribly wrong there.

# Create an index.html, trying to preserve names with whitespace

du -a | awk '{ print $2,$3,$4,$5}' | until [[ -z $L ]];

do

read L;

echo ''$L'';

done > ./index.html;

#Instantiate an SSL web server on port 8080

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout \

server.pem -out server.pem -subj ?/C=XX/O=XX/OU=XX/CN=XX?;

openssl s_server -accept 8080 -WWW

Comment by lbonanomi 26 weeks and 6 days ago

nice ! tfs

Comment by sazwqa 6 weeks ago

all of the hacking around detracts from the beautiful simplicity of this command. I'm totally in love with this. I'd up-vote it a 100 times if I could. Nice work.

Comment by 4fthawaiian 3 weeks and 1 day ago

nice

Comment by warlock 3 weeks ago

Your point of view

You must be signed in to comment.

Related sites and podcasts