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

python -m SimpleHTTPServer

836
By: pixelbeat
2009-02-05 11:57:43

9 Alternatives + Submit Alt

What Others Think

To use a different port: python -m SimpleHTTPServer 8080
taoufix · 658 weeks and 6 days ago
Many thx to the both of you and python developers :)
AmadeusZull · 657 weeks ago
python -m SimpleHTTPServer +Serving HTTP on 0.0.0.0 port 8000 ... ....
grep · 656 weeks and 3 days ago
Cool. I'd been using webfs for this. http://linux.bytesex.org/misc/webfs.html
Viaken · 654 weeks and 2 days ago
This is great way to get something to open without configuring webserver. I love it.
k00pa · 653 weeks ago
See also CGIHTTPServer
dstahlke · 650 weeks and 3 days ago
Awesome!!
d4n3sh · 649 weeks and 1 day ago
How to kill the servers? :P
Meeko · 649 weeks 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` }
wonko · 645 weeks and 1 day 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
lbonanomi · 628 weeks and 3 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
lbonanomi · 628 weeks and 3 days ago
nice ! tfs
sazwqa · 607 weeks and 4 days 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.
4fthawaiian · 604 weeks and 5 days ago
nice
warlock · 604 weeks and 3 days ago
awesome
tunguyen · 600 weeks and 6 days ago
This is a great trick! Does anyone know similar trick that invoke simple FTP server?
yorams70 · 600 weeks and 4 days ago
If you don't know how to kill the server (^c doesn't work) try the following kill `ps | grep SimpleHTTP | grep -v grep | awk '{print $1}'`
jafraldo · 595 weeks and 6 days ago
In order to kill the server you can try: killall python
samy · 568 weeks and 5 days ago
killall python is too brutal. It may kill some useful python process accidently .
al_crow · 539 weeks ago
Just run to view firefox http://$HOSTNAME:8000/
totti · 529 weeks and 5 days ago
This is awesome. Does anyone know how to do this with Python 2.3 or earlier?
adamlehenbauer · 525 weeks and 6 days ago
http://ubuntuguide.net/http-server-support-uploading-files-from-windows-in-ubuntu I found a python script that support uploading files. It's useful.
franzcai · 472 weeks and 1 day ago
I tried using this to quickly send a folder full of games to some people on my LAN, but it would only let one person download at a time. Try sudo apt-get install python-twistd-web twistd -no web instead.
nkorth · 398 weeks and 4 days ago
python -m http.server [] on python3 on windows
kkarakk · 148 weeks and 2 days ago
financial advisor tacoma Good article, but it would be better if in future you can share more about this subject. Keep posting
yeoyeo · 44 weeks and 5 days ago
cant get over this. will recommend this to my friends. hair extensions salon near me
looneyhans · 31 weeks ago
Thanks for keeping your content always fresh and containing only the necessary info. - bend auto detailing
jackslesly19 · 21 weeks and 6 days ago
Toto Site Sports Toto Safety Playground Boatman Slot Site Overseas Soccer Sports Relay Bronco Manipulation Broadcasting Choi Ja Sulli Pension Lottery Lottery Number Inquiry Sponsor Female Celebrity Meteorological Administration Weather Casino Coupon The King Casino Toto Site Verification Erie Playground Recommendationhttps://bebe40.com https://sports-totosite.com https://ubi40.com https://linktr.ee/totosite365
totosite40 · 11 weeks and 2 days ago
Superbpaper has amazing guarantees and many benefits, but are they true? Is this superbpaper review true? I am afraid of losing money and, most importantly, my time. Here is a link: https://essaywritingservices.review/reviews/superbpaper-review
stevefalc · 9 weeks and 3 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. 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.

Share Your Commands



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: