Weniger ist manchmal mehr

more und less

01.02.2002
Mit den Pagern more und less können Sie lange Dateien am Bildschirm seiten- oder zeilenweise lesen. Wie Sie in diesen Programmen navigieren und sogar komprimierte Textdateien auf den Monitor zaubern erfahren Sie in dieser "Zu Befehl"-Folge

Zu Befehl

Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen - wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Um größere Dateien anzuschauen, brauchen Sie ein Programm, das gerade soviele Zeilen anzeigt, wie auf einen Bildschirm (oder in ein Fenster) passen. Den Standard-Unix-Pager more gibt es schon ziemlich lange, er stammt ursprünglich vom BSD-Unix. Seine erweiterte GNU-Version namens less bietet ein paar nützliche Features mehr. Zudem gibt es noch zless oder zmore für komprimierte Dateien - gut zu wissen, was da "hinter den Kulissen" des Systems abläuft. Schauen Sie sich zunächst den Pager more an: Der einfache Aufruf lautet more dateiname.

Hier kommen die wichtigsten Kommandos zur Navigation: Mit der Leertaste blättern Sie seitenweise nach unten, mit der Return-Taste hingegen zeilenweise. Wichtig ist auch das Kommando b ("back"), um jeweils eine Seite zurück zu springen. Der Punkt . wiederholt das letzte Kommando, mit /suchbegriff kann man gezielt nach etwas suchen, und natürlich gibt es da noch q (für "quit") zum Verlassen von more.

Möchten Sie nicht den ganzen Bildschirm zum Betrachten nutzen, starten Sie das Programm mit der Zeilenanzahl als Parameter, z. B. more -10 datei. Zunächst benutzt das Programm zehn Zeilen zur Ausgabe, beim nächsten Blättern mit der Leertaste "vergisst" es allerdings diese Vorgabe und füllt das ganze Fenster. Dies können Sie mit dem Parameter -p umgehen:

huhn@asteroid:~$ more -10 -p datei

Wenn Sie jetzt mit der Leertaste eine Seite runter blättern, bleibt die Anzeige auf zehn Zeilen stehen. Mit more -d aktivieren Sie eine leise "Fehlerklingel" - statt des Gepiepses bei falschen Tastatureingaben erscheint nur der Hinweis, dass Sie h für Hilfe drücken können. Enthält die Datei viele Leerzeilen? Auch kein Problem, dafür gibt es die Option -s: Leere aufeinanderfolgende Zeilen schrumpfen zu einer zusammen, es wird übersichtlicher!

Wenn Sie möchten, dass more immer mit den gleichen Parametern startet, steht die UmgebungsvariableMORE zu Diensten. Sie kann auf die entsprechenden Optionen gesetzt werden, in der bash-Shell etwa durch

huhn@asteroid:~$ export MORE="-d -s"

Wie Sie sehen, können Sie hier gleich mehrere Optionen - eingeschlossen in " " - übergeben; beim nächsten Start von more werden die entsprechenden Erweiterungen berücksichtigt. Mit

huhn@asteroid:~$ echo $MORE

lässt sich schnell überprüfen, welchen Wert die Variable hat. Soll die Änderung dauerhaft in Kraft treten, tragen Sie den export-Befehl in Ihre .bashrc ein.

Auch das gleichzeitige Betrachten mehrerer Dateien ist möglich. Dazu hängen Sie einfach die Dateinamen beim Aufruf hintereinander:

huhn@asteroid:~$ more datei1 datei2
::::::::::::::
datei1
::::::::::::::
Dies ist Datei 1.
::::::::::::::
datei2
::::::::::::::
Dies ist Datei 2.

Bei längeren Texten möchte man natürlich zwischen den beiden Dateien "springen" können. Dazu gibt es die Kommandos :n (für "next") und :p (für "previous"), wobei :p zunächst an den Anfang der aktuellen Datei geht und erst beim erneuten Aufruf in die vorige springt.

Manchmal fällt beim Betrachten einer Datei ein Fehler ins Auge. Tippen Sie einfach v. Damit startet man den Editor vi in der entsprechenden Zeile. Sollte das nicht sofort funktionieren, kann es daran liegen, dass nicht alle Distributionen den vi im Verzeichnis /usr/bin/ haben. Mit einem Symlink (ln -s) auf das richtige Programm lässt sich das aber schnell reparieren.

less ist luxuriös

Das Programm less unterscheidet sich nicht nur in den Kommandozeilenoptionen von more, sondern kann in erster Linie einiges mehr: Es gibt neben den bekannten more-Befehlen mehr Bewegungskommandos, die sich teilweise an denen des vi orientieren. Wer mehr über die fast unüberschaubaren Möglichkeiten der Navigation in less wissen möchte, wirft am besten einen Blick in die zugehörige ausführliche Man-Page (man less). Besonders angenehm für das Lesen von Programmquelltexten ist die "Klammer-Funktion". Ist in der obersten Zeile beispielsweise eine geschweifte Klammer zu sehen ({), tippen Sie dieses Zeichen ein, und less springt zur entsprechenden schließenden Klammer. Diese Funktion steht auch für eckige und runde Klammern zur Verfügung, und analog kann man schließende Klammern eingeben, um zum Anfang eines geklammerten Ausdrucks zu gelangen, der in der untersten Zeile endet.

Sollten anstelle von Umlauten Sequenzen wie z. B. <E4> auftauchen, bringen Sie Ihrem less einfach bei, wie es Umlaute darstellen kann. Dazu setzen Sie die Umgebungsvariable LESSCHARSET auf latin1:

huhn@asteroid:~$ export LESSCHARSET=latin1

Im Gegensatz zu more können Sie bei less einen Editor Ihrer Wahl verwenden - schließlich arbeitet nicht jeder gerne mit dem vi. Dazu tragen Sie zuerst in die Umgebungsvariable VISUAL oder EDITOR einfach den gewünschten Editor ein:

huhn@asteroid:~$ which xemacs
/usr/bin/xemacs
huhn@asteroid:~$ export EDITOR=/usr/bin/xemacs

Wenn Sie jetzt beim Lesen ein v tippen, öffnet sich nach kurzer Zeit der Xemacs - und zwar an der Stelle, wo Sie mit less gerade waren.

Komprimiert ist kompliziert?

Nicht nur auf der Suche nach einem HOWTO stößt man immer wieder auf komprimierte Textdateien. Um diese nicht jedes Mal vor dem Lesen entpacken zu müssen, gibt es zless (zmore). Diese Programme sind in der Regel Shellskripte, die mit mehr oder weniger Aufwand die Ausgabe von gunzip in den gewünschten Pager umleiten. Die Datei selbst wird dabei nicht verändert.

Meine Lieblingsanwendung eines Pagers ist übrigens die Anzeige längerer Bildschirmausgaben. Ein ls -l /usr/bin lässt die Daten nur so über den Monitor fliegen. Hier kommt less zum Einsatz: ls -l /usr/bin | less - und schon wird es übersichtlich.

Raus- und damit reingefallen

Im Gegensatz zu less findet more einen Suchbegriff nicht, wenn er auf der bereits angezeigten Seite (und nur dort!) vorkommt. Das hängt damit zusammen, dass more aus der Datei "heraus fällt", wenn es am Ende der Datei unverrichteter Dinge angekommen ist, während less wieder an den Anfang springt und von da aus weiter sucht.

Glossar

BSD

Die "Berkeley System Distribution" bezeichnet die neben dem ursprünglichen, von AT&T stammenden UNIX wichtigste Unix-Entwicklungsrichtung in den Anfangsjahren der Betriebssystemfamilie. BSD entstand an der University of California in Berkeley und war wegweisend für viele andere Unix-Systeme. Mittlerweile existiert eine ganze Anzahl von Unix-Derivaten, die das BSD-Erbe im Namen tragen, darunter auch FreeBSD, ein besonders für Internet-Server beliebtes Open-Source-Unix.

GNU

Das GNU-Projekt setzte sich zum Ziel, ein freies Unix-artiges Betriebssystem zu schaffen, und begann mit der Implementierung der Shell-Tools, die man zum sinnvollen Arbeiten braucht. Zusammen mit dem Linux-Betriebssystemkern (dem "Kernel") bilden diese GNU-Utilities die Grundlage aller Linux-Distributionen, man setzt sie aber auch gern mit anderen Betriebssystemen ein. Das rekursive ("selbstbezügliche") Akronym GNU steht übrigens für "GNU is not UNIX" und distanziert sich damit vom Ur-UNIX von AT&T.

Umgebungsvariable

Die Shell stellt dem Benutzer mit den Umgebungsvariablen Speicher bereit, um bestimmte Informationen aufzubewahren und Programmen zugänglich zu machen. Diese "environment variables" bestehen jeweils aus dem Namen und einem zugeordneten Wert.

bash

Die "Bourne Again Shell" ist eine GNU-Weiterentwicklung der klassischen Bourne Shell, die die besten Eigenschaften verschiedener Kommandozeileninterpreter übernommen und ausgebaut hat.

HOWTO

Im Gegensatz zu den referenzartigen Man-Pages liefern die HOWTOs "Kochrezepte" für bestimmte Problemgebiete und sind damit für Einsteiger wesentlich besser geeignet. Bei gängigen Distributionen liegen sie unter /usr/doc/HOWTO.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • ls
    Lassen Sie sich Ihre Dateien doch mal auf der Kommandozeile auflisten! Mit ls behalten Sie dabei den Überblick.
  • Zu Befehl
    Einfachen Text in PostScript wandeln, Quellcode übersichtlich formatiert ausdrucken, Bilddateien schnell zum Drucker schicken – all das und noch viel mehr gelingt mit a2ps auf der Kommandozeile.
  • Zu Befehl: diff, diff3, patch
    Finden Sie die Unterschiede – die Programme diff und diff3 aus dem Paket diffutils helfen beim Vergleichen von Textdateien, zeigen eventuelle Abweichungen auf der Kommandozeile an und gleichen die Dateien auf Wunsch vollautomatisch an.
  • sed
    Der Stream-Editor sed hilft beim automatischen Verändern einer oder mehrerer Dateien, vereinfacht sich wiederholende Änderungen oder erstellt gleich ganze Konvertierungsprogramme. Monotone Aufgaben der Textverarbeitung lassen sich so im Handumdrehen lösen.
  • Zu Befehl: Kanäle, Pipes und Tee
    Mit wenigen Handgriffen leiten Sie auf der Kommandozeile Ein- und Ausgaben von Befehlen um und kombinieren Kommandos. Wir stellen die benötigten Bash-Operatoren vor und zeigen, wie Sie mit dem Programm tee noch einen Zwischenschritt einlegen.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...