claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 11/2004   »   Ausgabe bestellen

Know-how für die Kommandozeile

Shell-Tipps

von Andrea Müller


Nicht umsonst erfreuen sich textbasierte Programme unter Linux großer Beliebtheit. Fast alles, was man grafisch tun kann, lässt sich auch auf der Kommandozeile erledigen. Wir stellen die besten Kniffe für die Shell vor.

Homepage eines Programms finden

Haben Sie Gefallen an einer Anwendung gefunden, wollen Sie vielleicht die Web-Seite des Projekts besuchen um nachzuschauen, ob es eine neuere Version gibt. Auch für die Arbeit mit einem Programm verrät die Homepage oft einige Tricks, die (noch) nicht in der beigelegten Dokumentation stehen.

Abhängig vom Namen der Software ist die Suche mit Google nach der richtigen Homepage mehr oder weniger mühsam. Doch warum in die Ferne schweifen? Die richtige Adresse ist schon auf Ihrem System gespeichert, und mit dem rpm-Befehl zeigen Sie sie an. Wollen Sie etwa wissen, wo das Scribus-Projekt zu Hause ist, geben Sie rpm -qi scribus in einem Befehlsfenster ein.

Mit den Parametern -qi (q für query=Abfrage und i für info) weisen Sie rpm an, den Informationsteil des Scribus-Pakets anzuzeigen. Die Ausgabe listet die wichtigsten Informationen, wie Name, Version, Installationsdatum und Lizenz, in tabellarischer Form auf. Hinter dem Punkt URL steht die Internet-Adresse der Software (Abbildung 1). Wundern Sie sich nicht, wenn Sie einmal ein Paket ohne URL-Feld erwischen. Die Angabe der Homepage ist optional, und wenn ein Projekt nicht mehr existiert oder "unbekannt verzogen" ist, trägt der Distributor dort keinen passenden Link ein.

Abb. 1: "rpm -qi scribus" verrät, unter welcher Adresse Sie den Internet-Auftritt des DTP-Programms finden.

Paketdatenbank reparieren

Sie klicken ein RPM-Paket im Datei-Manager an, um es zu installieren, und nichts passiert: Der Installationsassistent beendet sich kommentarlos, ohne das Paket einzuspielen. Das kann an einer korrupten Paketdatenbank liegen. Dort speichert Linux die Informationen, welche Pakete installiert sind, welche Dateien sie enthalten und wovon die einzelnen Anwendungen abhängig sind. Ist diese Datenbank beschädigt, können Sie keine Software mehr hinzufügen oder entfernen.

Ob Sie es wirklich mit einer korrupten Paketdatenbank zu tun haben oder nur mit einem Fehler im Paketverwalter der Distribution, überprüfen Sie auf der Kommandozeile:

  1. Öffnen Sie eine KDE-Konsole und wechseln Sie mit cd /pfad/zum/rpm in den Ordner, in dem das Paket liegt.
  1. Geben Sie su und in der nächsten Zeile Ihr Administratorpasswort ein. Danach arbeiten Sie in diesem Kommandozeilen-Fenster als Systemverwalter Root.
  1. Rufen Sie
    rpm -i paketname.rpm
    auf. Dieses Kommando führt auch das grafische Installations-Tool der Distribution aus, wenn Sie Software einspielen. Gibt der rpm-Aufruf nichts aus, heißt das so viel wie "alles ok, Befehl ausgeführt". Dann liegt der Fehler beim grafischen Paketverwaltungsprogramm und Sie kommen der Ursache wahrscheinlich über die Web-Seiten des Distributors auf die Spur. Eventuell stellt er sogar schon ein Update bereit, das das Problem behebt. Auch eine Meldung über nicht erfüllte Abhängigkeiten oder Konflikte ist normal: Sie besagt nur, dass Ihnen ein anderes Paket fehlt, um die Software zu installieren.
  1. Bricht das rpm-Kommando jedoch mit einer Fehlermeldung ab, die auf ein Datenbank-Problem hinweist (database error), oder stürzt es gar direkt nach dem Aufruf mit einem Segmentation Fault ab, deutet das auf eine korrupte RPM-Datenbank hin.
  1. Für solche Fälle bringt die Paketverwaltung eine passende Reparaturoption mit. Der Befehl
    rpm --rebuilddb
    baut die Datenbank mit den Informationen über die installierten Pakete neu auf. Je nach Hardware und Umfang der Installation kann es mehrere Minuten dauern, bis das Kommando seine Arbeit beendet hat. Sobald Sie den Prompt zurückbekommen, also selbst wieder Befehle eingeben können, ist die Paketdatenbank repariert. Da der Befehl die Datenbank komplett neu aufbaut, sollten Sie ihn nur anwenden, wenn Sie tatsächlich den Verdacht haben, dass sie beschädigt ist.

Abhängigkeiten überprüfen

Wenn Sie wissen wollen, ob sich ein RPM-Paket problemlos einspielen lässt, brauchen Sie dazu keine Root-Rechte. Mit dem zusätzlichen Parameter --test aufgerufen, machen Sie eine Trockenübung der Installation -- es besteht keine Gefahr, dass Sie versehentlich etwas am System verändern.

Starten Sie ein Kommandozeilenfenster. Wechseln Sie dort in das Verzeichnis, in dem das RPM-Paket liegt. Mit dem Befehl

rpm -i paket.rpm --test

finden Sie heraus, ob sich die Software installieren lässt oder ob sie noch andere Pakete benötigt. Gibt der Befehl nichts aus, lässt sich die Anwendung einspielen; alle Abhängigkeiten sind bereits erfüllt. Ansonsten meldet der Befehl, welche Bibliotheken (vergleichbar mit DLL-Dateien unter Windows) oder Anwendung Sie noch brauchen, um die Software dem System hinzuzufügen.

Ebenso einfach testen Sie, ob Sie ein Paket deinstallieren können. Mit dem Parameter -e (für erase=löschen) weisen Sie rpm an, Software zu entfernen. Im Unterschied zum Installationsbefehl dürfen Sie dort nicht die Endung .rpm angeben: Die Paketverwaltung erwartet nur den Paketnamen, wie er in der RPM-Datenbank steht. Die Angabe der Versionsnummer ist optional. Ob sich der Browser Mozilla deinstallieren lässt oder ob er von anderen Anwendungen gebraucht wird, verrät

rpm -e mozilla --test

Gibt das Kommando nichts aus, ist eine Deinstallation möglich -- andere Pakete beeinflusst das nicht. Solch ein Test ist praktisch, wenn Sie eine neuere Mozilla-Version aus einem tar.gz-Archiv entpackt haben und die ältere Distributionsversion nicht mehr nutzen.

Kommandozeile im Midnight Commander

Der Datei-Manager für den Textmodus (Sie starten ihn mit dem Befehl mc) bringt eine eingebaute Kommandozeile mit. Sie liegt am unteren Bildschirmrand. Dort geben Sie ebenso Befehle ein, wie in einer KDE-Konsole. Genau wie dort schickt ein Druck auf [Eingabe] das Kommando ab. Ein cd /usr/share/doc (Abbildung 2) öffnet den Ordner mit Dokumentation in der gerade aktiven Fensterhälfte.

Abb. 2: In die unten liegenden Kommandozeile des "mc" geben Sie Shell-Befehle ein.

Kommandos, die etwas ausgeben, wie etwa ls zum Auflisten des Verzeichnisinhaltes, verbannen den Midnight Commander kurzfristig in den Hintergrund. Sie können in Ruhe die Ausgabe studieren. Mit Druck auf eine beliebige Taste gelangen Sie zurück in den Datei-Manager. Klappt das nicht auf Anhieb, liegt es an einer nicht gesetzten Option. Öffnen Sie dann über [F9], [O], [Eingabe] den Konfigurationsdialog und aktivieren Sie die Option Pause nach Aufruf / Immer (Abbildung 3).

Abb. 3: Ein Häkchen vor "Immer" sorgt dafür, dass sich der "mc" bei Befehlen, die etwas ausgeben, in den Hintergrund verkrümelt.

Tipp: History im Midnight Commander

Häufig benötigte Befehle müssen Sie nicht jedes Mal erneut eintippen. Ebenso wie die Shell pflegt der Midnight Commander eine so genannte History. Sie enthält alle Kommandos, die Sie schon einmal eingegeben haben. Mit der Tastenkompination [Alt-P] ([P] für previous=voriger) blättern Sie rückwärts durch die Liste. Halten Sie [Alt] gedrückt und drücken Sie so oft [p], bis der Befehl erscheint, den Sie erneut ausführen wollen. Ein Druck auf [Eingabe] schickt ihn ab. Haben Sie das gesuchte Kommando versehentlich überblättert, navigieren Sie mit [Alt-N] ([N] für next=nächster) vorwärts durch die genannte History.

Enthält sie sehr viele Befehle, ist es mühsam, den richtigen mit [Alt-P] zu finden. Schneller geht es mit dem im mc "Befehlschronik" genannten History-Auswahlfenster. Sie öffnen es über [F9], [B], [H]. (Abbildung 4).

Abb. 4: In diesem Fenster stehen alle Befehle, die Sie schon einmal im Midnight Commander eingegeben haben.

Mit [Pfeil hoch] und [Pfeil runter] bewegen Sie sich in der Liste. Das aktive Kommando ist farbig hinterlegt. Mit der Eingabe-Taste fügen Sie es in die Befehlszeile ein und schließen das History-Fenster. Ein weiterer Druck auf [Eingabe] führt den Befehl aus.

Konsolenfenster leeren

Mit dem Befehl clear oder der Tastenkombination [Strg-L] löschen Sie den gesamten Text, der in einem Kommandozeilenfenster steht. Das Konsolenfenster sieht dann wieder aus wie direkt nach dem Start. Mit den Scroll-Balken oder [Umschalt-Bild hoch] gelangen Sie trotzdem noch zu den vorherigen Ein- und Ausgaben.

Befinden Sie sich im Textmodus funktioniert das ebenfalls(eine Textkonsole erreichen Sie über die Tastenkombinationen [Strg-Alt-F1] bis [Strg-Alt-F6], zurück zur grafischen Oberfläche kommen Sie mit [Alt-F7]). Dort werden Sie die vorherigen Ausgaben komplett los. Geben Sie clear ein und wechseln Sie beispielsweise mit [Strg-Alt-F5] zur Textkonsole Nummer 5. Kehren Sie direkt mit [Strg-Alt-X] zum Textbildschirm zurück, auf dem Sie clear eingegeben haben. Das X ersetzen Sie durch die Funktionstaste mit der Nummer der vorigen Konsole, z. B. durch [F1], wenn Sie den Inhalt von Konsole Nummer 1 gelöscht haben. Der Verlaufsspeicher dieses Textbildschirms ist inzwischen geleert, und auch [Umschalt-Bild hoch] zeigt die zuvor eingegebenen Befehle und deren Ausgabe nicht mehr an. (amü)

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2012 Linux New Media AG | Last modified: 2007-01-25 17:27

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]