Skip to content
A simple one-file, no-dependency shell written in python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


DwarfShell is a simple one-file, no-dependency shell that runs on any linux system with python.

This was mainly built as a pet project to try and understand the linux ecosystem a little better and to take the mystery out of commonly used tools. Hopefully, the program is documented well enough for anyone to be able to understand how it works and tinker with it.

It is not meant to be feature complete, so it probably is not a good replacement for an everyday shell. However, it does support several more complex features, such as input/ouput redirection, piping and a few types of expansions.


As DwarfShell is just one file, downloading it is very easy. You can do so in two ways, using a file downloader such as wget, or using git clone. Either of these are good, however, using git will allow you to more easily access upstream changes.

Using wget:


Using git clone:

git clone
cd DwarfShell


Running DwarfShell is just as easy as downloading it, just execute


You can also manually invoke the python interpreter if you want.


If you experience any issues, please report them here.


If for some reason you actually want to install DwarfShell, then just copy to a directory in your path.


DwarfShell uses the Unlicense and so is completely free and released into the public domain. Do whatever you feel like doing with it, although some attribution might be nice :)

You can’t perform that action at this time.