Fork us on GitHub Follow us on Facebook Follow us on Twitter

Version 2 (modified by Jiri Svoboda, 8 years ago) (diff)



HelenOS is primarily controlled by means of an interactive shell called Bdsh. This sections teaches you the basics of using this shell.

Type help (+Enter) to get a list of built-in commands.


The shell supports common text-editing controls. In addition to that the following controls are defined:

Keystroke Action
Enter Submit and execute the command
Up Arrow Move to older history entry
Down Arrow Move to newer history entry
Tab Complete name of command or file

Other command-line driven applications (e.g. SBI) support exactly the same controls as the shell. (The command-line input is implemented in a common library called CLUI).

Internal Shell Commands

The shell supports a few basic commands which are built into it. (Such as listing directories, creating and moving them, deleting files, etc). Other HelenOS commands are external (i.e. these are executable files on the file system) - this is similar to other operating systems.

To get a list of internal commands supported by the shell enter the command:

# help

External Commands

Most other HelenOS functionality is implemented in regular executable files (external commands), similar to other operating systems. These executables are traditionally divided into two groups: applications and servers.

Servers can be though similar to UNIX daemons. When you run them in the right way, they will return control to the command line, but continue running on the background. To obtain a list of available servers:

# ls /srv

Applications are regular executables that perform some task and terminate. They can also be interactive applications (e.g. Tetris). To obtain a list of available applications, enter:

# ls /app

To execute a server or application, simply type its name (plus enter) on the command line. (Some servers or apps require command-line arguments, however). To run Tetris, for example, enter:

# tetris