Ab und zu ist hier von der Kommandozeile die Rede. Gemeint ist ein kleines aber sehr mächtiges Programm, das Shell genannt wird, und in einem sogenannten Terminalfenster läuft. Während dieses Werkzeug früher fast ausschließlich von Systemadministratoren und Entwickler genutzt wurde, kommen heutzutage auch Designer oder Webentwickler ohne grundlegende Kenntnisse der Shell praktisch nicht mehr aus.
Starten der Shell
Unter Mac OS X öffnet man mit CMD-Leertaste
das Spotlight-Suchfeld und gibt
dort "Terminal" ein.
Unter Linux gibt es unzählige Terminalprogramme. Sie haben in der Regel ein
Programmicon, das an alte Röhrenmonitore erinnert, meistens mit einer
stilisierten Eingabeaufforderung >_
. Irgendwo unter "Werkzeuge",
"Accessories", "Utilties" oder Ähnlichem wird man normalerweise fündig.
Typisches Terminalicon
Windows wird noch immer ohne vollwertige Shell ausgeliefert. Dort muss man
sich mit dem Programm cmd.exe
begnügen. Dieses findet man über den
Start
-Button, wenn man in das Suchfeld cmd.exe
gefolgt von Enter
eingibt.
Es öffnet sich ein größtenteils leeres Fenster. Die letzte sichtbare Zeile ist normalerweise von einem Dollarzeichen abgeschlossen, gefolgt von einem Strich oder Rechteck, manchmal blinkend, der sogenannten Eingabeaufforderung. Der Text zwischen Zeilenanfang und dem Dollarzeichen enthält in der Regel den Benutzernamen, den Rechnernamen und einen Teil des aktuellen Verzeichnisnamens.
Ein Terminalfenster auf dem Mac
Weil der Text vor dem Dollarzeichen von System zu System unterschiedlich und außerdem auch konfigurierbar ist, hat es sich bei Anleitungen im Netz eingebürgert, einfach nur ein Dollarzeichen darzustellen.
Befehle eingeben
Shellbefehle sind normalerweise kleine Dienstprogramme, die allerdings nur
innerhalb einer Kommandozeilenumgebung sinnvoll eingesetzt werden können.
Man ruft sie einfach über den Namen auf. Das Programmm ls
existiert
auf jedem Unixsystem:
{% highlight shell %} guido@macbook:~ $ ls Applications Documents Library Music Public Desktop Downloads Movies Pictures guido@macbook:~ $ {% endhighlight %}
Das Kommando ls
listet den Inhalt des aktuellen Verzeichnisses. Das
Pendant zu ls
unter Windows ist das Programm dir
.
Argumente und Optionen
Man kann das Verhalten dieser Befehle über Optionen und Argumente verändern, die über Leerzeichen vom Befehlsnamen getrennt eingegeben werden:
{% highlight shell %} guido@macbook:~ $ ls -l /Users/guido total 13296 drwx------ 6 guido staff 204 Feb 23 13:37 Applications drwxr-xr-x+ 30 guido staff 1020 Jun 5 15:36 Desktop drwxrwxr-x+ 162 guido _appserveradm 5508 Jun 4 10:27 Documents drwxr-xr-x+ 70 guido staff 2380 Jun 5 14:49 Downloads drwx------@ 68 guido staff 2312 May 16 08:45 Library drwx------+ 10 guido staff 340 May 5 19:22 Movies drwx------+ 12 guido staff 408 Feb 4 09:06 Music drwx------+ 7 guido staff 238 Jul 28 2015 Pictures drwxr-xr-x+ 5 guido staff 170 Aug 20 2014 Public guido@macbook:~ $ {% endhighlight %}
Optionen beginnen immer mit einem Bindestrich, alles andere sind Argumente.
Im Beispiel wurde also die Option -l
verwendet, die eine lange, ausführliche
Ausgabe erzeugt. /Users/guido
ist ein Argument, im Falle von ls
gibt man
damit das zu listende Verzeichnis bzw. die zu listenden Dateien an.
Neben kurzen Optionen mit einem Bindestrich und einem Buchstaben erlauben
viele Programme auch lange Optionen mit zwei Bindestrichen und aussagekräftigen
Namen. Es hat sich als Konvention eingebürgert, dass die meisten Kommandozeilenprogramme
auf die Option -h
oder --help
mit der Ausgabe einer Hilfeseite reagieren.
Auf Linuxsystemen kann man Optionen und Argumente meist beliebig mischen, auf anderen Systemen eher nicht. Dort sollte man immer erst die Optionen und dann die Argumente angeben.
Windows verhält sich hier anders. Optionen fangen normalerweise mit einem
Slash (/
) an, Hilfe wird meist mit der Option /?
angefordert.
Verzeichnis wechseln
Anleitungen im Netz enthalten oft die Aufforderung in ein bestimmtes
Verzeichnis zu wechseln, zum Beispiel nach /var/log/messages
. Dies
macht man mit dem Kommando cd
wie change directory:
{% highlight shell %} guido@macbook:~ $ cd /usr/bin/ guido@macbook:/usr/bin $ {% endhighlight %}
Den Befehl cd
gibt es auch unter Windows. Allerdings werden unter Windows
Verzeichnisbestandteile durch einen Backslash (\
) getrennt, was leider
auf deutschen Tastaturen extrem umständlich einzugeben ist.
Gerade bei langen Pfaden kann man sich natürlich leicht vertippen, und
teilweise weiß man auch nicht, wie der vollständige Pfadname überhaupt lautet. Manche
finden deshalb ein anderes Vorgehen einfacher. Zunächst gibt man an der
Eingabeaufforderung den Anfang des Befehls ein, nämlich cd
(mit
abschließendem Leerzeichen, öffnet auf dem Mac ein Finder-Fenster
(Windows-Explorer unter Windows), navigiert in das dem
Zielverzeichnis übergeordnete Verzeichnis und zieht dann das Icon des
Zielverzeichnis in das Terminalfenster. Normalerweise sollte dort jetzt der
vollständige Pfadname stehen, und man drückt einfach nur noch Enter
.
Befehle mit Administratorrechten ausführen
Manche Befehle benötigen Administratorrechte. Dies erreicht man auf dem Mac
und unter Linux, indem man dem Befehl durch ein Leerzeichen getrennt, einfach
ein sudo
voranstellt:
{% highlight shell %} guido@macbook:/var $ ls /var/backups ls: backups: Permission denied guido@macbook:/var $ sudo ls /var/backups Password: file1 file2 file3 guido@macbook:/var $ {% endhighlight %}
Als Passwort muss man sein eigenes Benutzerkennwort eingeben. Für eine gewisse Zeit merkt sich sudo das Passwort. Verwendet man sudo innerhalb dieser Zeitspanne, wird man deshalb nicht wieder nach einem Passwort gefragt.
Alternativ kann man sich mit dem Befehl su
bzw. besser su -
auch dauerhaft
zu Root (Root ist der Unix-Administrator) machen. Dazu muss das Rootpasswort
eingeben. Kennt man dies nicht (zum Beispiel auf dem Mac oder mit Ubuntu
Linux), kommt man eventuell mit sudo su -
auch mit dem eigenen Benutzerpasswort
zum Ziel.
Weil der Prompt (die Eingabeaufforderung) für den Unix-Superuser Root normalerweise mit einem Doppelkreuz statt einem Dollarzeichen endet, findet man in Anleitungen im Netz manchmal auch dieses Doppelkreuz statt des Dollars. In der Regel soll damit ausgedrückt werden, dass man für die angegegebenen Kommandos Superuser-Rechte benötigt.
Unter Windows gibt es weder su noch sudo. Dort muss man stattdessen das
Terminal mit Administratorrechten starten, also Start
, ins Suchfenster
"cmd.exe" eingeben, und dann Strg-Umschalt-Enter
statt einfach Enter
drücken.
Es gibt im Netz unzählige Tutorials, die weitere Informationen zur Shell bieten. Nach "Shell Tutorial" googeln hilft garantiert weiter. Die populärste interaktive Shell ist vermutlich "Bash", weshalb "Bash" inzwischen fast ein Synonym für Shell ist.
Leave a comment