Die Leistungsfähigkeit eines Unixsystems wird wesentlich durch seine Shell begründet. Dieses Programm erlaubt es dem Benutzer, Kommandos einzugeben, entsprechende vom Benutzer verlangte Prozesse zu starten und dem Benutzer durch praxisnahe Funktionen die Eingabe und Spezifizierung seiner Aktionen zu vereinfachen.
Nach dem Einloggen werden wir mit der Shell in Verbindung gebracht, sei es durch eine Konsole oder einen geeigneten Terminal-Emulator (z.B. xterm). Die Bereitschaft, Kommandos anzunehmen, wird durch das Anzeigen eines Prompts angezeigt. Das ist ein grafisches Symbol, das jeweils am Anfang einer Eingabelinie erscheint.
Dieser Prompt kann vom Benutzer verändert werden, und so den individuellen Wünschen angepaßt werden. Standardmäßig wird für den normalen Benutzer das Dollar-Zeichen verwendet ($), während für den Super-User (root) das # Zeichen verwendet wird. Es wird abgeraten, von diesen Pseudo-Standards abzuweichen: auf diese Art gewöhnt man es sich an, nach einem # doppelt aufzupassen.
Sobald die Eingabelinie mit der Return-Taste abgeschlossen wird, wird sie der Shell über die sog. Standard Eingabe stdin zugeführt. Dies ist ein virtueller Datenstrom, der praktisch allen Programmen als Schnittstelle zur Verfügung steht. Entsprechend gibt es die standard Ausgabe stdout, auf die irgendwelche Ausgaben geleitet werden können. Es gibt noch einen weiteren wichtigen Datenstrom: die Fehler-Ausgabe; etwaige Fehlermeldungen der Programme werden standardmäßig auf stderr geleitet. Dieser Strom läuft in der Regel zugleich mit der standard Ausgabe auf den Bildschirm der Shell.