First steps
After startup you land in the shell s. This is where you type commands. This page shows how that works and how
to find help.
All examples were typed on 29 Oct 2026 in NULLos 0.2 in QEMU. The output is real, sometimes shortened.
The prompt
root@nullos:~ $
At the front it says who you are (root) and on which computer (nullos). After that comes the folder you are
in right now. ~ is your home folder. If you change folders, the new one appears there, for example root@nullos:/tmp $.
At the console you are currently always the administrator (root).
Until 29 Oct 2026 the prompt was shorter, just ~ $. Some of the examples below still date from that time.
You type a command after the prompt and press Enter:
sys
System nullos 0.3, Kernel nullos 0.3
Rechner nullos
CPU QEMU Virtual CPU version 2.5+, 2 Kerne, x86_64
Speicher 458M
Laufzeit 0 T 00:09 (seit 29.10.2026 16:49)
Short command names
The commands in NULLos have names that are as short as possible. The most common ones have one letter:
| Command | Long name | What it does |
l | list | list a folder |
c | copy | copy |
m | move | move |
d | delete | delete |
e | edit | edit text |
g | grep | search in text |
f | find | find files |
p | process | show processes |
k | kill | end processes |
h | | help |
Others have two or three letters, for example rn (rename), md (make a folder), sh (show a file)
or pr (print text). You can also type the long name: in the shell, copy is a shortcut
(alias) for c.
The old names work too. cp, mv, ls, rm, cat and many more are also aliases for the
NULLos commands. alias shows the whole list; type explains a single name:
type copy
copy ist ein Alias für „c“
If you make a typo, the shell suggests the closest name:
kopy
s: kopy: Befehl nicht gefunden – meintest du copy?
Help with h
| Input | What you get |
h | all commands, in groups, each with a one-line description |
h c | usage, options and description of c |
h -s kopieren | all commands whose description contains „kopieren“ ("copy") |
h tar | tells you what the command is called in NULLos: „tar heißt bei nullos arc“ ("tar is called arc in nullos") |
This is what h c looks like (shortened):
c – copy
Dateien und Ordner kopieren
Andere Namen: cp
Aufruf:
c [-r -f -v -n] QUELLE... ZIEL
Optionen:
-r rekursiv (Ordner mitsamt Inhalt)
-f vorhandene Ziele überschreiben
-v jede Kopie anzeigen
-n nur zeigen, was kopiert würde
The help is often longer than the screen. With hd you see only the beginning:
h c | hd -n 20
hd stands for the beginning of a file ("head"). You give the number with -n; head -20 does not work.
All commands with descriptions are also listed in the project documentation under The commands.
Same options everywhere
Many commands have the same options with the same meaning, for example c, d and m:
| Option | Meaning |
-r | recursive: a folder with everything in it |
-f | force, for example overwrite |
-v | verbose: show every step |
-n | dry run: only show what would happen |
The order is always source, then target: c alt.txt neu.txt.
The shell s
s understands bash syntax. Pipes, redirections, variables and loops work as usual:
pr hallo | tr a-z A-Z
h | cn -l
for i in 1 2 3; do pr $i; done
On the NULLos screen and at the serial console, the shell helps you type:
- Tab completes commands, options, paths and more. Pressing Tab twice shows all choices.
- Arrow up and down go through your last commands.
- Ctrl-R searches your last commands.
Since 30 Oct 2026 line editing also works over SSH (checked with the arrow keys), see
QEMU and SSH.
Everything else about the shell, including what is different from bash: The shell in the project documentation.
What else there is
A few commands to try out:
l /bin alle Programme
ca 2^100 rechnen mit langen Zahlen
py -c 'print(6*7)' Python
e notiz.txt der Editor
The editor has its own chapter in the project documentation: The editor.