commandlinefu.com is the place to record those command-line gems that you return to again and again.
You can sign-in using OpenID credentials, or register a traditional username and password.
Subscribe to the feed for:
"this command line isn't mine but i find it very useful" ^^
This one-liner starts a dedicated server hosting (web server) on port 8000 with the contents of current directory on all the interfaces (address 0.0.0.0), not just localhost. If you have "index.html" or "index.htm" files, it will serve those, otherwise it will list the contents of the currently working directory.
It works because python comes with a standard module called SimpleHTTPServer. The -m argument makes python to search for a module named SimpleHTTPServer.py in all the possible system locations (listed in sys.path and $PYTHONPATH shell variable). Once found, it executes it as a script. If you look at the source code of this module, you'll find that this module tests if it's run as a script if __name__ == '__main__', and if it is, it runs the test() method that makes it run a web server in the current directory.
There is 1 alternative - vote for the best!
In Python version 3, the module was merged into http.server. Gentlemen, change your aliases.
This works on all versions of python 2.X.
Tested on Linux and bundled python versions on Mac OSX and Solaris / UNIX
Note: Serves globally on port 8000.
Ctrl+c to stop.
Don't start the server and leave it on a internet connected machine. :)
An alternative to: python -m SimpleHTTPServer for Arch Linux
If you can do better, submit your command here.
You must be signed in to comment.