Zettelstore is not just a service that provides services of a zettelkasten.
It allows some tasks to be executed at the command line.
Typically, the task (&ldquo;sub-command&rdquo;) will be given at the command line as the first parameter.

If no parameter is given, the Zettelstore is called as

    zettelstore

This is equivalent to calling it this way:

    mkdir -p ./zettel
    zettelstore run -d ./zettel -c ./.zscfg

Typically this is done by starting Zettelstore via a graphical user interface by double-clicking its file icon.

# Sub-commands

* [`zettelstore help`](00001004050200) lists all available sub-commands.
* [`zettelstore version`](00001004050400) to display version information of Zettelstore.
* [`zettelstore run`](00001004051000) to start the Zettelstore service.
* [`zettelstore run-simple`](00001004051100) is typically called, when you start Zettelstore by double-clicking in your GUI.
* [`zettelstore file`](00001004051200) to render files manually without activated/running Zettelstore services.
* [`zettelstore password`](00001004051400) to calculate data for [user authentication](00001010040200).

Every sub-command allows the following command line options:



To measure potential bottlenecks within the software Zettelstore, there are some [command line flags for profiling the application](00001004059900).