Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Leitfaden für die Nutzung des Buchs und der beiliegenden DVDs
Das Terminal – sinnvoll oder überflüssig?
1 Die Wurzeln von Ubuntu
2 Was ist Ubuntu?
3 Die Versionen im Detail
4 Daten sichern, migrieren und synchronisieren
5 Die Installation
6 Erste Schritte
7 Kubuntu
8 Programme und Pakete installieren
9 Internet und E-Mail
10 Office
11 Grafik und Bildbearbeitung
12 Multimedia
13 Programmierung und Design
14 Software- und Paketverwaltung
15 Architektur
16 Backup und Sicherheit
17 Desktop-Virtualisierung
18 Serverinstallation
19 Administration und Monitoring
20 Netzwerke
21 LAN-Server – im Firmennetzwerk oder als Multimediazentrale
22 Der Server im Internet
23 Servervirtualisierung mit KVM
24 Servervirtualisierung mit Xen
25 Hilfe
26 Befehlsreferenz
A Mark Shuttleworth
Stichwort

Download:
- ZIP, ca. 50,6 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Ubuntu GNU/Linux von Marcus Fischer
Das umfassende Handbuch, aktuell zu Ubuntu 11.04 »Natty Narwhal«
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
geb., mit 2 DVDs
1118 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1765-1
Pfeil Das Terminal – sinnvoll oder überflüssig?

Das Terminal – sinnvoll oder überflüssig?

Vor allem langjährige Benutzer von Windows sind oftmals der Meinung, dass die Einflussnahme mittels kryptischer Befehle und eines Terminals, also ohne grafisches »Geklicke«, nicht mehr zeitgemäß und umständlich sei. Wenn Sie aber auf diese Art der Bedienung verzichten möchten, verzichten Sie auf einen der größten Vorteile von Linux. Das System hat keine Geheimnisse vor dem Benutzer, also vor Ihnen. Dies bedeutet konkret, dass Sie einen kompletten Zugriff auf das System haben und nicht nur die Oberfläche, die sogenannte GUI, bedienen dürfen wie bei anderen Betriebssystemen. Diese Offenheit gibt Ihnen viel Macht, aber auch Verantwortung.


GUI: Abkürzung für Graphical User Interface, zu deutsch eine grafische Benutzerschnittstelle. Mithilfe einer solchen GUI ist es überhaupt erst möglich, eine Maus sinnvoll zu verwenden und damit das System über grafische Symbole zu verwenden. Die GUI hat bei der Benutzung eines Rechners die Steuerung über Zeichen in einer Kommandozeile (CLI, Command Line Interface) verdrängt.


Die meisten Aufgaben unter Ubuntu erledigen Sie mit Hilfe von Programmen, die über eine grafische Oberfläche verfügen und die damit die Bedienung sehr vereinfachen. Es kann aber auch vorkommen, dass Sie zeitweise Befehle über eine Kommandozeile eingeben wollen. In diesem Buch habe ich den Anspruch, dass Sie diese Befehle nach und nach verstehen und anwenden. Und schneller, als Sie denken, werden Sie sich sehr gut mit der Konsole und ihren Vorzügen vertraut gemacht haben.

Achtung Sie können eine moderne Linux-Distribution wie Ubuntu heutzutage größtenteils auch ohne die Eingabe von Kommandos bedienen. Gerade die Ubuntu-Entwickler haben sehr viel Arbeit investiert, um das System einfach bedienbar und jedem zugänglich zu machen – egal ob der Nutzer das Terminal ablehnt oder als Experte häufig Gebrauch davon macht. Ubuntu möchte – getreu seinem Namen – ein System für alle Menschen sein. Sie können dieses Kapitel auch auslassen und gegebenenfalls später lesen, wenn Sie bevorzugt mit grafischen Werkzeugen arbeiten möchten.

Im Übrigen sind Sie bereits an den Umgang mit Kommandozeilen gewöhnt, denn ich gehe mal davon aus, dass Sie schon einmal Google oder überhaupt einen Internetbrowser verwendet haben. Wenn Sie die Adressleiste des Browsers verwenden oder in Google eine Suchanfrage starten, dann verwenden Sie de facto eine Kommandozeile, auch wenn diese nicht so heißt. Sie sehen also: Kommandozeilen lauern überall. ;-)

Warum sollten Sie das Terminal nutzen?

Es gibt mindestens vier sehr gute Gründe, den Umgang mit dem Terminal zu erlernen:

1. Sie kontrollieren das System unabhängig von der grafischen Oberfläche
Die Entwicklung von Ubuntu schreiten kontinuierlich fort. Oft ändern sich Kleinigkeiten in der Benutzerführung oder im Aussehen. Aber egal, wie sehr sich die verschiedenen Ubuntu-Versionen unterscheiden, im Hintergrund verwenden sie meistens die gleiche Technik, die Sie mit Kommandos über das Terminal steuern können. Haben Sie keine Angst davor, die Kontrolle über das System zu übernehmen! In der heutigen Zeit sitzen die meisten Menschen vor ihrem PC oder Mac und sind diesen Maschinen geradezu ausgeliefert. Aber Sie sollten sich Folgendes vor Augen halten: Nicht der Computer sollte den Menschen beherrschen, sondern der Mensch sollte den Computer beherrschen.
       
2. Hilfe im Notfall
Nicht zuletzt bei etwaigen Problemen führt das Wissen um die richtigen Befehle sehr schnell zum Ziel – wohingegen Sie bei Windows schnell an die Grenzen des Systems stoßen. Sie erhalten durch den zusätzlichen Umgang mit dem Terminal eine direkte und sehr effektive Kontrolle über Ihren Computer. Die Zeiten, in denen Sie Ihrem Betriebssystem hilflos gegenüberstanden, sind mit Linux und Ubuntu vorbei.
       
3. Distributionsübergreifendes Wissen
Ein weiterer Vorteil besteht darin, dass Sie durch Shell-Kenntnisse in die Lage versetzt werden, beliebige Linux-Distributionen – nicht nur Ubuntu – zu bedienen. Auf den Begriff »Distribution« gehe ich im Abschnitt »Die Wurzeln – Debian und GNOME« näher ein.
       
4. Schnell und ökonomisch
Viele Aufgaben lassen sich einfacher und ökonomischer durch einige Tastaturkommandos erledigen. Viele Linux-Neulinge sind erstaunt, wenn sie einen »Profi« bei der Arbeit beobachten: Mit einer minimalen Anzahl von Tastenbetätigungen kommt dieser schnell zum Ziel. Dies ist keine Hexerei. Die »Profis« bedienen sich nur einiger Tricks, die ich Ihnen im Folgenden ebenfalls näherbringen möchte.
       

Im Abschnitt »Linux-Denken« können Sie sich über weitere Vorteile dieser Kontrolle informieren, und im Kapitel »Befehlsreferenz« finden Sie eine Befehlsreferenz.

Terminal, Konsole, Shell ... ?

Bei vielen Nutzern sorgen die Begriffe Terminal, Shell und Konsole oftmals für Verwirrung. Die Unterscheidung ist eher technischer Natur, im Prinzip besagen sie das Gleiche: Die Bedienung des Systems über die direkte Eingabe von Befehlen. Wir werden diesen drei Begriffen im Folgenden auf den Grund gehen:

1. Das Terminal – Befehle in der GUI
Ein Terminal starten Sie aus dem Menü Anwendungen über Zubehör Terminal oder ganz bequem über die Tastenkombination (Strg) + (Alt) + (T). Wenn Sie es geöffnet haben, empfängt Sie ein fast leeres Fenster mit einer mehr oder weniger freundlichen Eingabeaufforderung. Die Bedienung eines Betriebssystems über die Eingabe von Kommandos ist zwar nicht sonderlich bequem, aber eigentlich die natürliche Art des Umgangs mit einem Computer – zumindest, wenn man bedenkt, dass grafische Oberflächen erst sehr viel später entwickelt wurden.
       
2. Textkonsolen – Funktionieren auch ohne grafische Oberfläche
Mit der Tastenkombination (Strg) + (Alt) + (F1) beispielsweise können Sie zu jeder Zeit auf die Konsole wechseln. (Hierbei geht die grafische Oberfläche nicht verloren; statt (F1) können Sie auch (F2), (F3) ... (F6) drücken.) Mit (Strg) + (Alt) + (F7) erreichen Sie wieder die grafische Benutzeroberfläche. Die Konsolen funktionieren auch ohne grafische Oberfläche. Dies ist hilfreich, wenn Sie trotz eines Defekts Ihrer grafischen Oberfläche das System bedienen möchten (beispielsweise um noch schnell die Daten zu retten).
       
3. Shell – Schnittstelle zwischen Ihnen und dem System
Die UNIX-Shell (oder kurz Shell) bezeichnet die traditionelle Benutzerschnittstelle in UNIX oder UNIX-artigen Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich ausführt. Man spricht darum auch von einem Kommandozeileninterpreter. Der Begriff Shell (deutsch »Hülle«, »Außenhaut«) leitet sich von dem Bild der Muschelschalen ab, die eine Oberfläche zwischen dem Anwender und dem Inneren (den Kernel-Komponenten) darstellen.
       

Tipp 1: Terminal schneller starten

Als langjähriger GNOME-Anwender kommen Sie vielleicht noch ab und zu in Versuchung, das Terminal über einen Rechtsklick auf dem Desktop zu öffnen. Leider hat GNOME diese Art des Zugangs aus seinen Standardeinstellungen verbannt und das Terminal ins Menü unter Anwendungen • Zubehör • Terminal umgesiedelt. Sie können diese Einstellung wieder zum Leben erwecken, indem Sie das Paket nautilusopen-terminal über die Paketverwaltung Ihrer Distribution installieren. Melden Sie sich nach der Installation ab und wieder an, um die neue Erweiterung nutzen zu können. Nun können Sie an beliebiger Stelle auf dem Desktop mit der rechten Maustaste klicken und dann den Punkt Im Terminal öffnen auswählen.


Sie können gleichzeitig so viele Terminals öffnen, wie Sie möchten. Um eine Shell wieder zu verlassen, verwenden Sie das Kommando exit. Wenn Sie sich in einer sogenannten »Login-Shell« befinden, Sie sich also erst anmelden mussten, schließen Sie diese durch den Befehl logout.

Abbildung 1  Das Terminal – besonders praktisch ist die Möglichkeit, über Reiter in einem Fenster mehrere Instanzen zu öffnen.


Tipp 2: Login-Meldung verändern

Bei jeder Anmeldung in einer Konsole werden Sie mit einer Meldung ähnlich wie dieser begrüßt:

Linux fishome 2.6.28-11-generic #40-Ubuntu SMP Fri Apr 3 17:39:41 UTC 2009 x86_64
The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. ...

Verantwortlich für diese Meldung ist eine Textdatei, die Sie selbstverständlich editieren können. Rufen Sie dazu die Datei auf:

gksudo gedit /etc/motd

Sie können die Datei natürlich auch komplett löschen.


Konvention bei der Eingabe langer Befehle

Hier noch eine weitere wichtige, eher technische Konvention: Einige der vorgestellten Kommandozeilenbefehle erstrecken sich über mehrere Buchzeilen. Um das ISO-Image (CD-Abbild) der diesem Buch beiliegenden DVD zu erstellen, wurde beispielsweise der folgende lange Befehl verwendet:

sudo mkisofs -l -r -J -v -V \
"Ubuntu Natty Galileo" -no-emul-boot \
-boot-load-size 4 -boot-info-table  \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat -hide-rr-moved \
-o ubuntudvd.iso master/

Sie haben nun die Möglichkeit, sämtliche Kommandos »am Stück« einzugeben oder aber, wie oben geschehen, den Backslash (»\«) nach jeder Zeile für die Eingabe zu verwenden. In diesem Fall erscheint am Anfang einer jeden Zeile der Prompt »>«, den ich bei den übrigen Listings im Buch dann aber aus Gründen der Übersichtlichkeit weggelassen habe.

Syntax und grundlegende Befehle

Vielleicht sind Sie zu Beginn ein wenig verwirrt durch Pfadangaben und Befehle, die Sie irgendwo gelesen haben. Wir müssen uns zuerst ein klein wenig mit der Struktur eines typischen Befehls beschäftigen. Ein Befehl kommt selten allein, er wird meist ergänzt durch Optionen und Pfadangaben. Die Eingabe von Befehlen in der Shell erfolgt nach dem Muster

<Befehl> -<Parameter> <Objekt>

Damit überhaupt erst ein Befehl ausgeführt wird, müssen Sie nach seiner Eingabe die (Enter) -Taste drücken. Dadurch wird das Linux-System veranlasst, den vorher eingegebenen Befehl auszuführen. Wenn Sie mehrere Prozesse (beispielsweise Programme) simultan in einem Terminal starten möchten, hängen Sie einfach ein »&« an den zu startenden Prozess, bevor Sie den Befehl abschließen.

Wir wollen der trockenen Materie nun etwas Leben einhauchen. Sie werden einige grundsätzliche Befehle kennenlernen und anwenden. Diese Auswahl ist mehr oder weniger willkürlich, stellt aber einen geeigneten Einstieg in das Thema dar.


Tipp 3: Transparentes Terminal

Man muss nicht immer aufwendige Themes einrichten, um dem Desktop ein wenig mehr Pepp zu geben. Selbst das von Natur aus eher biedere Fenster zum System, das Terminal, lässt sich mit einigen Handgriffen optisch ein wenig aufwerten. Ein sehr einfaches, aber effektives Mittel hierfür bringt GNOME von Haus aus mit.

Die Einstellungen befinden sich im GNOME-Terminal unter Bearbeiten • Profile. Sie haben hier die Möglichkeit, verschiedene Profile anzulegen, um das Terminal verschiedenen Zwecken anzupassen. Das einzelne Profil können Sie unter dem Punkt Bearbeiten entsprechend Ihren Bedürfnisse einrichten. Unter dem Reiter Effekte befinden sich die nötigen Einstellungen. Hier können Sie bestimmen, ob und wie stark das Terminal transparent erscheinen soll. Des Weiteren ist es möglich, ein beliebiges Hintergrundbild zu verwenden.


Wer ist aktuell angemeldet?

Mit dem Befehl who können Sie herausfinden, wer aktuell gerade angemeldet ist:

marcus   tty7         2009-04-28 11:52 (:0)
marcus   pts/0        2009-04-28 14:23 (:0.0)
marcus   pts/1        2009-04-28 17:20 (:0.0)

Hier ist ausschließlich der Nutzer Marcus angemeldet. Wie Sie anhand der Meldungen tty7 und (:0) sehen, ist dieser Nutzer auf einer grafischen Oberfläche angemeldet (siehe auch Aufzählungspunkt »Textkonsolen – Funktionieren auch ohne grafische Oberfläche«). Die ursprüngliche Anmeldung geschah um 11:52 Uhr (erste Zeile), während die nachfolgenden Zeilen die Zeitpunkte für wiederholte Anmeldungen ausgeben.

Wer bin ich?

Wenn mehrere Nutzer angemeldet sind, können Sie mit dem Befehl whoami erfahren, unter welchem angemeldeten Nutzer Sie gerade die Befehle eingeben. Im Zweifelsfall erscheint jetzt Ihr Name, der sich im Übrigen auch am Anfang jeder Terminalzeile befindet. Die Verwendung dieser beiden Befehle mag Ihnen obsolet erscheinen, aber bedenken Sie bitte, dass UNIX und damit auch Linux prinzipiell Mehrbenutzersysteme sind, die problemlos auch mit Hunderten von Nutzern umgehen können. Hierbei können diese Befehle sehr hilfreich sein.

Ausgabe von Zeichen

Der Befehl echo hat eine mehr oder weniger triviale Aufgabe – er soll alles wiederholen, was Sie vorher eingegeben haben. So führt der Befehl

echo Immer diese Wiederholungen

zur Ausgabe einer Zeile mit dem Inhalt »Immer diese Wiederholungen«.

Wenn Sie absichtlich mehrere Leerzeichen zwischen zwei Wörtern darstellen möchten, müssen Sie den Begriff in Anführungszeichen setzen:

echo "Immer diese     Wiederholungen"

Tipp 4: Joker oder Wildcards

Wenn Sie sich z. B. in Ihrem /home-Verzeichnis befinden und sich alle Dateien mit einer bestimmten Endung anschauen wollen, also beispielsweise alle Bilder, die die Endung .png besitzen, dann können Sie sogenannte Joker oder Wildcards benutzen. Es gilt:

  • * ersetzt beliebig viele Zeichen.
  • ? ersetzt genau ein Zeichen.

Zum Beispiel zeigen Sie mit ls *.png alle gesuchten Dateien mit der Endung .png an.


Dateien auflisten

Mit dem Befehl ls (Abkürzung für list, deutsch »auflisten«) können Sie alle Dateien auflisten, die sich aktuell in dem Verzeichnis befinden, in dem Sie sich gerade aufhalten:

de-Hamburg  Dropbox   Öffentlich  Vorlagen
Desktop     Examples  Musik       software

Hierbei werden nicht nur Dateien im herkömmlichen Sinne, sondern auch Verzeichnisse und Gerätenamen aufgeführt.


Tipp 5: Verzeichnisinhalt in lesbarer Form darstellen

Ein Beispiel: Sie möchten sich den Inhalt des Verzeichnisses /etc in »für Menschen lesbarer Form« (Parameter -h für human) sowie in Langform (Parameter -l für long) unter Berücksichtigung aller versteckten Dateien (Parameter -a für all) anzeigen lassen:

ls -lah <Verzeichnisname>

Pager und Umleitungen

Durch den oben gezeigten Befehl ls -lah »huschen« sehr viele Einträge über Ihren Bildschirm. Das ging Ihnen zu schnell? Dann haben Sie zwei Möglichkeiten:

1. Verwenden Sie zur Ausgabe einen sogenannten Pager (von page, englisch für Seite) wie less oder more. Damit wird die Ausgabe größerer Textmengen bequem steuerbar: Der Text füllt immer nur eine Bildschirmseite und kann durch Betätigen der Leertaste weiterbewegt werden. Möchten Sie die Textausgabe ganz abbrechen, so stoppen Sie die Pager-Ausgabe mittels (Strg) + (C). Zur Anwendung des less/more-Befehls muss eine sogenannte Pipeline ((AltGr) + (<)) gesetzt werden: ls -lah /etc | less
       
In diesem Fall wird die Ausführung des Befehls ls durch das Pipeline-Kommando | (die sogenannte Pipe) an den Pager less weitergeleitet. So eine Umleitung ist sehr praktisch und kann auch auf andere Weise vorgenommen werden, wie die folgende Variante zeigt.
       
2. Das Ergebnis, das nach der Ausführung eines Befehls ausgegeben wird, kann auch in eine Datei umgeleitet werden. Möchten Sie sich z. B. einen Überblick über die Dateigrößen in Ihrem Heimatverzeichnis verschaffen, können Sie dazu den Befehl du (disk usage) in folgender Form einsetzen: du -h /home/<user> > status.txt
       
Damit wird die Ausgabe des Befehls du in die Datei status.txt umgeleitet. Letztere kann dann wieder mit dem less-Pager angezeigt oder mit einem Editor Ihrer Wahl bearbeitet werden. Wozu so etwas nützlich ist? Nun, wenn Sie beispielsweise ein Problem in Ihrem System haben und dieses mit Hilfe der Internet-Community, hier insbesondere der Newsgroups im Usenet, lösen möchten, sind aussagekräftige Listings von Programmausgaben unabdingbar.
       

Tipp 6: Mehrere Prozesse in einem Terminal gleichzeitig starten

Sie brauchen mitnichten für jede zu startende Anwendung ein separates Terminal oder einen getrennten Reiter darin zu öffnen. Hängen Sie zusätzlich ein Kaufmanns-Und-Zeichen (z. B. nautilus &) an, um den Prozess direkt im Hintergrund zu starten und die Konsole für weitere Eingaben freizugeben. Einfluss auf die eventuellen Fehlermeldungen hat dies nicht: Sie erscheinen weiterhin im Terminal.


Inhalt einer Datei ausgeben

Der Befehl cat (Abkürzung für concatenate, deutsch »verketten«) sorgt dafür, dass Sie sich den Inhalt einer Datei ansehen können: cat 'Dateiname'. Wie die deutsche Übersetzung vermuten lässt, kann dieser Befehl aber noch mehr. Mit cat >> 'Dateiname' können Sie einen beliebigen Text an das Ende der Datei anhängen. Den Text geben Sie in einer separaten Zeile nach diesem Befehl ein. Beenden können Sie diese Eingabe mit der Tastenkombination (Strg) + (D) .


Tipp 7: Zeilen, Wörter und Zeichen einer Datei zählen

Mit dem Befehl wc (Abkürzung für word count, deutsch »(An)Zahl der Wörter«) können Sie die Anzahl der Zeilen, Wörter und Zeichen einer Datei zählen. Ohne spezielle Optionen wird wc file1.txt eine Zeile mit den folgenden Zahlen ausgeben:

4  4 52 file1.txt

Die erste Spalte enthält die Anzahl der Zeilen, gefolgt von der Anzahl der Wörter und der Anzahl der Zeichen. Einzeln können Sie dies mit der Option -l (lines = »Zeilen«), -w (words = »Wörter«) und -c(characters = »Zeichen«) ermitteln.


Dateien kopieren

Mit dem Befehl cp (Abkürzung für copy, deutsch »kopieren«) können Sie Dateien kopieren. Als Erstes Argument geben Sie die Quelldatei an, also die Datei, die Sie kopieren möchten. Das zweite Argument ist die Zieldatei, die Sie erstellen wollen:

cp test.txt /home/Benutzer/test_kopie.txt

Achtung Sie sollten sich angewöhnen, der Zieldatei einen anderen Namen zu geben, wenn sich Quell- und Zieldatei im gleichen Verzeichnis befinden sollen. Ansonsten wird die Quelldatei ohne Rückfrage überschrieben.


Tabelle 1  Verwendung von »cp«

Verwendung Bedeutung

cp file newfile

Es wird mit newfile eine Kopie von file erzeugt.

cp -p file newfile

newfile erhält dieselben Rechte, denselben Eigentümer und Zeitstempel.

cp -r dir newdir

Es wird ein komplettes Verzeichnis rekursiv (-r) kopiert.

cp file1 file2 dir

Es werden mehrere Dateien in ein Verzeichnis dir kopiert.



Tipp 8: Copy & Paste leicht gemacht

Linux-Nutzer mögen eine technische Errungenschaft, die unter Windows ihresgleichen sucht, mitSicherheit nicht mehr missen: das Copy & Paste mittels zweier Mausklicks. Öffnen Sie zu diesem Zweck einmal zwei beliebige Fenster oder Anwendungen, und schreiben Sie einen willkürlichen Text in eines der beiden Fenster. Markieren Sie nun den Text unter Benutzung der linken Maustaste. Wechseln Sie in das zweite Fenster, klicken Sie mit der linken Taste an eine Stelle, und betätigen Sie anschließend die mittlere Maustaste: Der Text wurde nun automatisch an der Stelle des Cursors eingefügt.


Dateien umbenennen oder verschieben

Um Dateien umzubenennen oder zu verschieben, nutzen Sie den Befehl mv (Abkürzung für move, deutsch »bewegen«). Wenn Sie eine Datei innerhalb des gleichen Verzeichnisses »bewegen«, wird sie umbenannt – eine Bewegung ergäbe sonst keinen Sinn. Wenn Sie ein anderes Verzeichnis angeben, wird die Datei verschoben:

mv test.txt /home/Benutzer/test.txt

Tabelle 2  Verwendung von »mv«

Verwendung Bedeutung

mv file filenew

eine Datei umbenennen

mv file dir

eine Datei in ein Verzeichnis verschieben

mv dir dirnew

ein Verzeichnis in ein anderes Verzeichnis verschieben


Die Argumente entsprechen dabei demselben Prinzip wie beim Kommando cp. Wie beim vorherigen Befehl beschrieben, wird eine eventuell bereits vorhandene Zieldatei ohne Nachfrage überschrieben. Gehen Sie also mit Bedacht zu Werke.


Tipp 9: Autocomplete nutzen

Der Umgang mit der Konsole erfordert eine Menge Schreibarbeit. Da wir alle von Natur aus faul und vergesslich sind, hilft Linux uns hier aus der Patsche. Wenn Sie z. B. nur noch den ersten Buchstaben eines Befehls wissen, dann brauchen Sie diesen nur in die Konsole zu drücken und zweimal auf die Tabulatortaste (oben links auf der Tastatur, links neben dem (Q)) zu tippen. Die Konsole listet Ihnen daraufhin alle Befehle auf, die mit diesem Buchstaben beginnen. Wenn Sie die ersten zwei Buchstaben eintippen und danach zweimal die Tabulatortaste drücken, dann listet dies alle Befehle auf, die mit diesen beiden Buchstaben anfangen.

Wenn Sie immer nur die ersten Buchstaben eines Befehls eintippen und diese Buchstabenkombination schon eindeutig ist (d. h., wenn es nur einen einzigen Befehl gibt, der darauf passt), dann reicht ein einmaliges Drücken der Tabulatortaste, um diesen Befehl zu vervollständigen. Wenn Sie sich hiermit ein bisschen vertraut gemacht haben, werden Sie durch diese Methode der Schreibersparnis viel schneller durch die Konsole huschen können. Im Übrigen gilt dies auch für Pfadangaben.


Verzeichnishierarchie

Wie Sie vermutlich bereits bemerkt haben, befinden Sie sich in jedem Linux-System nach dem Anmelden oder beim Aufrufen eines Terminals in Ihrem persönlichen Verzeichnis. Der Pfad zu diesem Verzeichnis ist ein »Ast« des Verzeichnisbaums. Die Wurzel dieses Baums ist das Root-Verzeichnis (nicht zu verwechseln mit dem Benutzer Root, siehe Abschnitt »Privilegierte Rechte«), das Sie sich mit Hilfe des Befehls ls ansehen können:

ls /
bin    dev   initrd.img  lib64       mnt   root     srv  usr
boot   etc   lib         lost+found  opt   sbin     sys  var
cdrom  home  lib32       media       proc  selinux  tmp  vmlinuz

Unter anderem können Sie hier das Verzeichnis /home erkennen, in dem Sie sich gerade befinden. Wenn Sie wissen wollen, wo Sie sich gerade innerhalb dieses Verzeichnisbaums aufhalten, können Sie den Befehl pwd (Abkürzung für print working directory, deutsch »Arbeitsverzeichnis ausgeben«) verwenden.

Absolute und relative Pfade

Wenn Sie einen Pfadnamen mit einem Schrägstrich beginnen, wie beispielsweise /home/marcus/Dokumente/test.txt, dann versuchen Sie eine Datei vom Wurzelverzeichnis aus zu erreichen. Man spricht in diesem Fall von einer vollständigen oder absoluten Pfadangabe. Diese zeichnet sich dadurch aus, dass sie immer den kompletten Verzeichnispfad angibt. Befindet sich die gesuchte Datei allerdings in Ihrem persönlichen Verzeichnis (home), dann benötigen Sie keine absolute Pfadangabe. Sie können stattdessen die »Adresse« der gesuchten Datei aus dem aktuellen Verzeichnis heraus beginnen:

Dokumente/test.txt

Man spricht in diesem Fall von einer relativen Pfadangabe. Das »relativ« bezieht sich auf die Tatsache, dass die Pfadangabe von Ihrem aktuellen Standort abhängig ist.

Punkte ..

Wenn Sie sich anhand des Befehls ls -l einen Überblick über Ihr aktuelles Verzeichnis verschaffen, werden Sie in den ersten Zeilen in etwa Folgendes sehen:

drwxr-xr-x 55 marcus marcus   4096 2009-04-29 16:47 .
drwxr-xr-x  4 root   root     4096 2009-03-25 15:37 ..

An der letzten Stelle einer Zeile befindet sich normalerweise die Angabe des enthaltenen Verzeichnisses oder einer Datei. Lediglich in den ersten beiden Zeilen befinden sich an dieser Stelle die Punkte, die Sie oben sehen. Die doppelten Punkte repräsentieren immer das Inhaltsverzeichnis der nächsthöheren Ebene. Wenn Sie sich in Ihrem persönlichen Verzeichnis befinden, beispielsweise in /home/marcus, dann beziehen sich die Punkte auf das nächsthöhere Verzeichnis /home. So können Sie beim Wechseln des Verzeichnisses jederzeit durch Angabe von .. in das hierarchisch nächsthöhere Verzeichnis wechseln.

Selbst das höchste Verzeichnis (das Wurzelverzeichnis »/«) besitzt solche Einträge. In diesem Fall handelt es sich hier um einen Verweis auf sich selbst, da es kein höheres Verzeichnis gibt. Der einfache Punkt verweist hingegen immer auf das aktuelle Inhaltsverzeichnis. Folgende Angaben sind absolut gleichwertig: ls und ls ./.

Verzeichnis wechseln

Mit dem Befehl cd (Abkürzung für change directory, deutsch »Verzeichnis wechseln«) können Sie in andere Verzeichnisse wechseln: cd Dokumente. Übrigens: Wenn Sie den Befehl cd ohne Angabe eines Zielverzeichnisses verwenden, gelangen Sie automatisch in Ihr persönliches Verzeichnis – egal, wo Sie sich gerade aufgehalten haben.

Ein Verzeichnis erstellen

Ein neues Verzeichnis erstellen Sie mit dem Befehl mkdir <Verzeichnis> (Abkürzung für make directory, deutsch »erzeuge Verzeichnis«). Als Argument übergeben Sie dem Befehl den Namen des Verzeichnisses, das Sie erzeugen wollen. Ohne Angabe eines Pfadnamens als Argument wird das neue Verzeichnis im aktuellen Verzeichnis angelegt.

Wollen Sie gleich beim Anlegen die Zugriffsrechte erteilen, so können Sie dies mit der Option -m vornehmen: mkdir -m 600 mydir. Wollen Sie ein neues Verzeichnis mitsamt Elternverzeichnissen anlegen, können Sie die Option -p verwenden:

mkdir -p doku/neu/buch

Dateien und Verzeichnisse löschen

Mit dem Befehl rm (Abkürzung für remove, deutsch »entfernen«) können Sie Dateien aus Ihrem System entfernen: rm test.txt. Selbstverständlich können Sie an dieser Stelle auch mehrere Dateien (durch Leerzeichen getrennt) angeben.


Tabelle 3  Verwendung von »rm«

Verwendung Bedeutung

rm datei

Löscht eine Datei.

rm dir

Löscht ein leeres Verzeichnis.

rm -r dir

Löscht ein Verzeichnis rekursiv.

rm -rf dir

Erzwingt rekursives Löschen (ohne Warnung).


Vorhandene Verzeichnisse können Sie mit dem Befehl rmdir (Abkürzung für remove directory, deutsch »lösche Verzeichnis«) löschen. Hierbei ist anzumerken, dass Sie prinzipiell nur leere Verzeichnisse löschen können. Wenn Sie ein Verzeichnis samt seines Inhalts löschen möchten, müssen Sie die Option -r (rekursiv) verwenden: rmdir -r neu/


Tipp 10: Multitasking

Es gibt einige Tipps, die die Arbeit mit der Konsole deutlich erleichtern. So müssen Sie z. B.nicht die Konsole wechseln (oder eine neue öffnen), wenn Sie einen Prozess starten. Sie erreichen dies durch ein an den Befehl angehängtes &. Durch ein doppeltes & werden zwei Befehle nacheinander ausgeführt, z. B.:

(Befehl) && (Befehl)

Die Tastenkombination (Strg) + (C) bricht den aktuellen Vorgang in der Konsole ab. Mit jobs erhalten Sie eine Anzeige der momentan in dieser Konsole laufenden Jobs (Tasks, Prozesse, Befehle, Programme). Jeder Job hat eine Nummer und einen Status (z. B. running). Mit Hilfe der zugeordneten Nummer kann der Job auch beendet werden. Dies geschieht mittels kill %1. Wenn Sie sich abmelden oder die Konsole schließen, werden alle Jobs beendet.


Letzte Befehle anzeigen

Die Konsole besitzt eine History, also einen Speicher, der die letzten eingegebenen Befehle abspeichert und bei Bedarf wieder zur Verfügung stellt. Dies ist sehr nützlich, wenn ein längerer Befehl mehrmals eingegeben werden soll. Als Standardwert werden die letzten 500 Befehle gespeichert. Sie können die Anzahl der zu speichernden Befehle in der Datei /.bashrc ändern. So wird zum Beispiel mit dem Eintrag export HISTSIZE=200 die History auf 200 Befehle reduziert. Mit der (Pfeil-hoch)-Taste rufen Sie den zuletzt genutzten Befehl wieder auf.

Benötigen Sie einen weiter zurückliegenden Befehl, drücken Sie zunächst (Strg) + (R) und geben dann Buchstaben aus dem gewünschten Befehl ein. Existieren mehrere Befehle mit derselben Buchstabenkombination, können Sie durch erneutes Drücken von (Strg) + (R) durch diese blättern.

History

Sie können sich durch Eingabe von history die komplette Liste anzeigen lassen. Allerdings kann diese natürlich aufgrund der Speichergröße sehr umfangreich ausfallen. Wenn Sie nun bloß einen Befehl suchen, bei dem Sie sich nur noch an den Zusammenhang erinnern, dann können Sie mit Hilfe der Pipe und des Befehls less die Liste auf solche Befehle eingrenzen, bei denen das gewünschte Wort auftauchte. Dies geschieht beispielsweise mit history $|$ less webserver:

48  less webserver/log/current.log
159  cd webserver/public_html/

In der ersten Spalte wird die dem gespeicherten Befehl zugeordnete Identifikationsnummer (PID) angegeben. Dies ist ungemein praktisch, da Sie, wenn Sie nun z. B. den zweiten Befehl wieder aufrufen möchten, einfach die PID eingeben können: !PID, also !159. Daraufhin wird Ihnen der zugehörige Befehl angezeigt, den Sie dann bearbeiten oder nach einem beherzten (Enter) ausführen können. Die Speicherung der Befehle geschieht übrigens einzeln für jeden Benutzer. Es steht also für jeden Benutzer jeweils ein eigener Speicher zur Verfügung.

Wenn die History-Funktion nicht funktioniert, vergewissern Sie sich, dass Sie die nötigen Zugriffsrechte besitzen: ls -la | grep .bash_history.

Wenn die Ausgabe die Zeile

-rw-------   1 root   root     124 2008-05-21 21:57 .bash_history

zurückliefert, dann gehört die Datei dem Besitzer root, und Sie können selbstverständlich nicht darauf zugreifen. Die Lösung besteht nun darin, dass Sie der Besitzer dieser Datei werden:

sudo chown $USER:$USER .bash_history

Tipp 11: Die Befehls-History effizient nutzen

Die History-Funktion besitzt einige versteckte Funktionen, die dieses Werkzeug noch hilfreicher machen. Ein Aufruf von history 10 liefert eine Übersicht über die zehn letzten Befehle, die eingegeben wurden. Wenn Sie nun einen Befehl aus der Liste benutzen möchten, dann können Sie diesen mit !n auswählen, also z. B. !8.

Im Übrigen können Sie mit einem doppelten Ausrufezeichen den letzten Befehl wiederholen und sofort ausführen. Dies ist aber noch längst nicht alles. Sie können in der Kommando-History auch suchen. Dies geschieht wiederum durch ein vorangestelltes Ausrufezeichen und den ersten Buchstaben des gesuchten Befehls: !u. Wird nur ein Befehl gefunden, wird dieser sofort ausgeführt. Bei mehreren Treffern erscheint zunächst eine Übersicht der gefundenen Befehle.


Die folgende Tabelle stellt noch einmal die wichtigsten Shell-Befehle zusammen.


Tabelle 4  Wichtige Shell-Befehle für Einsteiger

Befehl Wirkung Nützliche Parameter

Navigation

ls

Verzeichnisinhalt anzeigen

-a, -h, -l

pwd

aktuellen Pfad anzeigen

cd <Verzeichnis>

in das Verzeichnis wechseln

cd ..

eine Ebene höher gehen

cd

Wechsel ins Heimatverzeichnis

Verzeichnisse und Dateien

mkdir

Verzeichnis erstellen

-m, -p

rmdir

Verzeichnis löschen

-r, -v

touch <Dateiname>

Datei erzeugen

rm <Dateiname>

Datei löschen

-r, -f, -d

Dateien bearbeiten

nano, vi

beliebte Editoren auf der Kommandozeile aufrufen

less

Ausgabe von Textdateien

cat <Datei1> <Datei2>

Textdatei 1 und Textdatei 2 zusammenführen

Administrative Aufgaben (mit Sudo-Rechten ausführen)

sudo -s

eine Root-Shell öffnen

halt, reboot

System anhalten / neu starten


Sie können mehr über diese Kommandos herausfinden, indem Sie in der Kommandozeile man oder info eingeben, gefolgt von dem eigentlichen Kommando. Viele Linux-Kommandos geben auch eine kurze Meldung zur Benutzung aus, wenn sie mit einer der folgenden Methoden gestartet werden: Kommandoname --help oder Kommandoname -h. Der Befehl whatis Kommandoname gibt eine einzeilige Zusammenfassung zu jedem Kommando mit einer Handbuchseite aus.


Tipp 12: Kommandozeilenbasiertes Editieren

Die Standard-Shell Bash besitzt einige Fähigkeiten zur schnellen Bearbeitung von alten Eingaben (der History). Benutzen Sie einfach die (Pfeil-hoch) -Taste, um alte Eingaben zurückzuholen, und danach wie üblich die Cursor-Tasten. Andere wichtige Tastenkombinationen sind:

  • (Strg)+(U): die Zeile bis vor den Cursor löschen
  • (Strg)+(D): die Eingabe beenden
  • Markieren mit linker Maustaste: Auswahl in die Zwischenablage kopieren
  • Mittlere Maustaste: Einfügen der Zwischenablage an der Cursor-Position
  • (Strg)+(V)+(Tab): Eingabe eines Tabulators ohne Expandierung

In einer normalen Linux-Konsole funktioniert nur die linke (Strg)-Taste wie erwartet.


Manpages – Hilfe in der Konsole

Wenn Sie mehr Informationen zu einem bestimmten Befehl brauchen, dann können Sie sich die Manpages zu dem jeweiligen Befehl ansehen. Die Manpages sind teilweise recht umfangreiche Dokumentationen zu einzelnen Themen. Hier finden Sie z. B. auch alle Optionen, die dem entsprechenden Befehl zugeordnet sind. Ein kleiner Wermutstropfen besteht darin, dass diese Manpages überwiegend in englischer Sprache verfasst sind. Sie finden z. B. die Manpage für den Befehl cp mit man cp. Dadurch wird die entsprechende Manual-Seite zum Befehl mit den möglichen Parametern aufgerufen und das aktuelle Terminal gesperrt. Sie verlassen die Manual-Seite wieder über die Taste (Q) . Diese Anleitungen haben unter Linux/Unix eine lange Tradition und werden ständig gepflegt. Sie sind sozusagen die erste Wahl bei der Dokumentation.


Tipp 13: Deutsche Manpages

Die Bedeutung der oben angegebenen nützlichen Parameter erfahren Sie durch Eingabe von man BEFEHL. Dadurch wird die entsprechende Manual-Seite zum Befehl mit den möglichen Parametern aufgerufen. Möchten Sie die Hilfestellungen in deutscher Sprache angezeigt bekommen, so müssen Sie das Paket manpages-de installieren.


Privilegierte Rechte

Anschließend muss das Passwort des Standardbenutzers eingegeben werden:

sudo pppoeconf

Wundern Sie sich nicht, wenn bei der Eingabe kein Text erscheint: Es gibt im Gegensatz zu anderen Systemen keinen Platzhalter wie beispielsweise *. Dies ist ein kleiner Tribut an die Sicherheit des Passworts. Ohne Platzhalter kann niemand durch die Länge Ihres Passworts auf das Wort selbst schließen. In Abschnitt »Root versus Sudo« erfahren Sie mehr über das Prinzip und die Hintergründe von sudo und root.

Sind mehrere Befehle als Administrator einzugeben, so kann das Voranstellen von sudo auch lästig werden. In diesem Fall verschaffen Sie sich mit dem folgenden Befehl vorübergehend eine Root-Shell:

sudo -s

Tipp 14: Terminal zum Schweigen bringen

»Dummerweise« hat das Terminal die Eigenschaft, Eingabefehler lautstark zu quittieren. Und wer möchte schon, dass die Umgebung sofort weiß, dass die Vervollständigung per Tabulator-Taste mal wieder nicht geklappt hat ... Abhilfe ist einfach, indem Sie unter Bearbeiten • Profileinstellungen den Haken neben Terminalglocke entfernen. Von nun an herrscht himmlische Ruhe ;-)


Dass Sie sich in einem Terminal befinden, bemerken Sie auch an dem sogenannten EingabePrompt, der Sie zur Eingabe eines Befehls auffordert. Es ist für den ambitionierten Linux-Nutzer durchaus möglich, das komplette Betriebssystem über die Shell und relativ simple Kommandos zu bedienen.


Es sind viele Shells in der Geschichte von UNIX entstanden – eine Zusammenfassung der wichtigsten:

  • Die erste Shell, die mit UNIX zusammen entstand, war die Bourne-Shell (auch sh und bsh genannt). Entwickelt wurde sie von Stephen Bourne.
  • Viele C-Programmierer (C ist die Sprache von UNIX), wünschten sich eine Shell, deren Syntax der Spache C ähnlicher sein sollte, als es bei der Bourne-Shell der Fall war. Die Antwort darauf war die C-Shell (auch csh genannt).
  • Das Beste aus der C- und der Bourne-Shell sollte die Korn-Shell (ksh) vereinen. Sie war ursprünglich rein kommerziell, aber seit dem Jahr 2000 ist sie frei.
  • Die ultimative Shell sollte dann die Bourne-again-Shell sein, die auch unter dem Namen bash bekannt ist. Sie vereinigt das Beste aus Bourne-Shell, C-Shell und Korn-Shell. Die Bourneagain-Shell ist Teil des GNU-Projekts. Ihr Name ist ein absichtlich mehrdeutiges Wortspiel und kann sowohl als »wiedergeborene (born again) Shell« als auch als »wieder einmal (eine) Bourne-Shell« interpretiert werden. Weitere Interpretationen sind abgeleitet aus dem englischen bash (die Feier, die Party, der Schlag).
    Die Bash (/bin/bash) ist voll kompatibel zur originalen Bourne-Shell (sh), im Funktionsumfang jedoch erheblich erweitert. Sie ist die Standard-Shell sowohl auf den meisten Linux-Systemen als auch unter Mac OS X und wurde auf fast alle UNIX-Systeme portiert.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Ubuntu GNU/Linux

Ubuntu GNU/Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Linux-Server einrichten und administrieren






 Linux-Server
 einrichten und
 administrieren


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: Linux






 Linux


Zum Katalog: Debian






 Debian


Zum Katalog: Android 3






 Android 3


Zum Katalog: GIMP






 GIMP


Zum Katalog: Webserver einrichten und administrieren






 Webserver einrichten
 und administrieren


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de