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

Inhaltsverzeichnis
Vorwort
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 Programme und Pakete installieren
8 Internet und E-Mail
9 Office
10 Grafik und Bildbearbeitung
11 Multimedia
12 Programmierung und Design
13 Software- und Paketverwaltung
14 Architektur
15 Backup und Sicherheit
16 Desktop-Virtualisierung
17 Serverinstallation
18 Administration und Monitoring
19 Netzwerke
20 Datei-Server – Ubuntu im Netzwerk
21 Der Server im Internet
22 Multimediaserver und Ihre persönliche Cloud
23 Hilfe
24 Befehlsreferenz
A Mark Shuttleworth
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Ubuntu GNU/Linux von Marcus Fischer
Das umfassende Handbuch, aktuell zu Ubuntu 12.04 LTS »Precise Pangolin«
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
Rheinwerk Computing
1023 S., 7., aktualisierte Auflage, geb., mit DVD
39,90 Euro, ISBN 978-3-8362-1945-7
Pfeil Vorwort
Pfeil Leitfaden für die Nutzung des Buchs und der beiliegenden DVD
Pfeil Das Terminal – sinnvoll oder überflüssig?

Rheinwerk Computing - Zum Seitenanfang

Das Terminal – sinnvoll oder überflüssig?Zur nächsten Überschrift

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.

Möge die Macht mit Ihnen sein

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. Mit Hilfe einer solchen GUI ist es überhaupt erst möglich, eine Maus sinnvoll zu verwenden und damit das System über grafische Symbole zu nutzen. Die GUI hat bei der Benutzung eines Rechners die Steuerung über Zeichen in einer Kommandozeile (CLI, Command Line Interface) verdrängt.

Fast alles über grafische Oberflächen konfigurierbar

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. Sie können eine moderne Linux-Distribution wie Ubuntu natürlich 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.

Kommandozeilen überall

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 drei sehr gute Gründe, den Umgang zu erlernen:

  1. Unabhängige Kontrolle
    Die Entwicklung von Ubuntu schreitet 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. Ein weiterer Vorteil besteht darin, dass Sie durch Shell-Kenntnisse in die Lage versetzt werden, beliebige Linux-Distributionen – nicht nur Ubuntu – zu bedienen.
  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 rasch 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. Schnell und ökonomisch
    Viele Aufgaben lassen sich einfacher und ökonomischer durch einige Tastaturkommandos erledigen. Linux-Neulinge sind oftmals 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.

Linux-Denken: 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 nicht der Computer sollte den Menschen beherrschen, sondern der Mensch den Computer. In Abschnitt 1.3, »Das Linux-Denken«, können Sie sich über weitere Vorteile dieser Kontrolle informieren.

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 • 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.

Muschel: Der Begriff Shell (zu 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. Sie erfahren mehr über den Kern und damit die Grundlagen von Linux in Kapitel 1, »Die Wurzeln von Ubuntu«.

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\gpbfpTerminal umgesiedelt. Sie können diese Einstellung wieder zum Leben erwecken, indem Sie das Paket nautilus-open-terminal über das Ubuntu Software-Center installieren. Melden Sie sich nach der Installation dieses Pakets 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 erfahren mehr über das Installieren von Paketen mit Hilfe des Ubuntu Software-Centers im Abschnitt 7.5, »Ubuntu Software-Center«. Wie Sie sich von der grafischen Oberfläche abmelden, erfahren Sie in Abschnitt 6.6.3, »Das Aktionsmenü«.

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

Abbildung 0.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
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

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 (Speicherabbild) der diesem Buch beiliegenden DVD zu erstellen, wurde beispielsweise der folgende lange Befehl verwendet:

sudo mkisofs -l -r -J -v -V "Ubuntu Precise 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

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.

Einige grundlegende Befehle und die Befehlsreferenz: Wir wollen im Folgenden der trockenen Materie anhand einer Reihe von grundlegenden Befehlen etwas Leben einhauchen. Sie werden grundsätzliche Befehle kennenlernen und anwenden. Diese Auswahl ist mehr oder weniger willkürlich, stellt aber einen geeigneten Einstieg in das Thema dar. Eine Befehlsreferenz finden Sie in Kapitel 24, »Befehlsreferenz«.

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 • Profileinstellungen. Hier können Sie das einzelne Profil entsprechend Ihren Bedürfnissen einrichten. So ist es unter anderem möglich die Schriftgröße und -farbe zu verändern oder das Verhalten des Scrollbalkens zu definieren.

Unter dem Reiter Hintergrundtyp befinden sich die nötigen Einstellungen zur Veränderung des Terminal-Hintergrunds. Hier können Sie unter anderem bestimmen, ob und wie stark das Terminal transparent erscheinen soll. Des Weiteren ist es möglich, ein beliebiges Hintergrundbild zu verwenden oder auch gar keines. Wie ein Terminal mit transparentem Hintergrund aussehen kann, zeigt Abbildung 0.1.

Im Übrigen können Sie vorgenommene Änderungen in separaten Profilen abspeichern, sodass Sie für verschiedene Einsatzbereiche immer ein angepasstes Terminal verwenden können. Sie finden die Verwaltung der Profile unter Bearbeiten • Profile.

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. 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"

Die angegebene Verwendung erscheint wie eine Spielerei und ist tatsächlich überwiegend für die Shell-Programmierung nützlich. Sie können mit diesem Befehl aber auch Inhalte zu Textdateien hinzufügen, beispielsweise wenn Sie einer Konfigurationsdatei einen Pfad hinzufügen möchten. Genauso erstellt der Befehl

echo "Immer diese Wiederholungen" >> wiederholungen.txt

aber auch eine neue Textdatei, wenn Sie durch >> das Ziel angeben. Ist die Datei bereits vorhanden, wird die Eingabe hinter echo an das Ende der Datei angehängt.

Tipp 4: Joker oder Wildcards

Wenn Sie sich zum Beispiel 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.

Mit ls *.png zeigen Sie beispielsweise alle gesuchten Dateien, die die Endung .png haben, an.

Dateien auflisten

Mit dem Befehl ls (Abkürzung für list, zu Deutsch: »auflisten«, siehe Abbildung 0.1) 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. Zur Unterscheidung der Dateitypen werden unterschiedliche Farben und Texthintergründe verwendet. So sind beispielsweise Verzeichnisse blau dargestellt und freigegebene Ordner grün hinterlegt.

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 (Alt_Gr + <) gesetzt werden: ls –lah /etc | less
  2. 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.
  3. Das Ergebnis, das nach der Ausführung eines Befehls ausgegeben wird, kann auch in eine Datei umgeleitet werden. Möchten Sie sich zum Beispiel 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
  4. 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.

Inhalt einer Datei ausgeben

Der Befehl cat (Abkürzung für concatenate, zu 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 6: Zeilen, Wörter und Zeichen einer Datei zählen

Mit dem Befehl wc (Abkürzung für word count, zu 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, zu 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

Icon

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 0.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 7: Copy & Paste leicht gemacht

Linux-Nutzer mögen eine technische Errungenschaft, die unter Windows ihresgleichen sucht, mit Sicherheit 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, zu 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 0.2 Verwendung von »mv«

Verwendung Bedeutung
mv file filenew Es wird eine Datei umbenannt.
mv file dir Es wird eine Datei in ein Verzeichnis verschoben.
mv dir dirnew Es wird ein Verzeichnis in ein anderes Verzeichnis verschoben.

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 8: 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 zum Beispiel 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 (wenn es also nur einen einzigen Befehl gibt, der darauf passt), dann reicht ein einmaliges Drücken der Tabulatortaste ÿ, um diesen Befehl zu vervollständigen. Sobald 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

Wo bin ich?

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, zu Deutsch: »Arbeitsverzeichnis ausgeben«) verwenden.

Tipp 9: 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 ein Kaufmanns-Und-Zeichen, zum Beispiel

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.

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 vom aktuellen Standort abhängig ist.

Punkte ...

Möchten 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 um einen Verweis auf sich selbst, da es kein höheres Verzeichnis gibt. Der einfache Punkt verweist hingegen immer auf das aktuelle Inhaltsverzeichnis. Dabei sind die Angaben ls und ls ./ gleichwertig.

Verzeichnis wechseln

Mit dem Befehl cd (Abkürzung für change directory, zu 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, zu Deutsch: »Verzeichnis erzeugen«). 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.

mkdir -p doku/neu/buch

Dateien und Verzeichnisse löschen

Mit dem Befehl rm (Abkürzung für remove, zu 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 0.3 Verwendung von »rm«

Verwendung Bedeutung
rm datei Es wird eine Datei gelöscht.
rm dir Es wird ein leeres Verzeichnis gelöscht.
rm -r dir Es wird ein Verzeichnis rekursiv gelöscht.
rm -rf dir Es wird ein rekursives Löschen erzwungen (ohne Warnung).

Vorhandene Verzeichnisse können Sie mit dem Befehl rmdir (Abkürzung für remove directory, zu Deutsch: »Verzeichnis löschen«) 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/

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 etwa mit dem Eintrag export HISTSIZE=200 die History auf 200 Befehle reduziert. Mit der œ-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.

Tipp 10: Multitasking

Es gibt einige Tipps, die die Arbeit mit der Konsole deutlich erleichtern. So müssen Sie zum Beispielnicht 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, zum Beispiel:

(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 (zum Beispiel 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.

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 zum Beispiel 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.

Liefert die Ausgabe die Zeile

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

zurück, 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

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

Tabelle 0.4 Wichtige Shell-Befehle für Einsteiger

Befehl Wirkung Nützliche Parameter
Navigation
ls Der Verzeichnisinhalt wird angezeigt. -a, -h, -l
pwd Der aktuelle Pfad wird angezeigt.
cd <Verzeichnis> Es wird in das Verzeichnis gewechselt.
cd .. Man geht eine Ebene höher.
cd Man wechselt in das Heimatverzeichnis.
Verzeichnisse und Dateien
mkdir Es wird ein Verzeichnis erstellt. -m, -p
rmdir Es wird ein Verzeichnis gelöscht. -r, -v
touch <Dateiname> Es wird eine Datei erzeugt.
rm <Dateiname> Es wird eine Datei gelöscht. -r, -f, -d
Dateien bearbeiten
nano, vi Es werden beliebte Editoren aufgerufen.
less Es werden Textdateien ausgegeben.
cat <Datei1><Datei2> Textdatei 1 und 2 werden zusammengeführt.
Administrative Aufgaben (mit Sudo-Rechten ausführen)
sudo -s Es wird eine Root-Shell geöffnet.
halt, reboot Das System wird angehalten bzw. neu gestartet.

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

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 zum Beispiel !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.

Tipp 12: Kommandozeilenbasiertes Editieren

Die Standard-Shell Bash besitzt einige Fähigkeiten zur schnellen Bearbeitung von alten Eingaben (der History). Benutzen Sie einfach die œ-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 + ÿ: 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 zum Beispiel 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 zum Beispiel 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

Manche Befehle erfordern Administratorrechte (auch Root-Rechte genannt). Im Unterschied zu anderen Linux-Distributionen vertritt Ubuntu eine eigene Philosophie: Der Standardbenutzer der ersten Installation kann jeden Administratorbefehl durch Voranstellen des Befehls sudo ausführen. Anschließend muss das Passwort des Standardbenutzers eingegeben werden.

Wundern Sie sich nicht, wenn bei der Eingabe kein Text erscheint: Im Gegensatz zu anderen Systemen gibt es 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 15.3.2, »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 schaffen Sie, 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 Sprache 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.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Ubuntu GNU/Linux 12.04 LTS

Ubuntu GNU/Linux 12.04 LTS
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


Zum Rheinwerk-Shop: Raspberry Pi






 Raspberry Pi


Zum Rheinwerk-Shop: Ubuntu Server






 Ubuntu Server


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2012
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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern