So verwenden Sie den less-Befehl unter Linux

Mit dem Kommando less navigieren Sie durch Textdateien, wobei jeweils eine Bildschirmseite angezeigt wird. Auf den ersten Blick mag es wie ein sehr einfacher Linux-Befehl erscheinen, doch less hat weitaus mehr zu bieten, als man zunächst annehmen würde.

Die Ursprünge von less

In der Welt von Linux und Unix hat jede Entwicklung ihre eigene Historie. Das Programm less baut auf dem Programm more auf, das ursprünglich 1978 mit der Version 3.0 der Berkeley Software Distribution Unix (3.0BSD) veröffentlicht wurde. more ermöglichte das schrittweise Durchblättern von Textdateien, wobei jeweils eine Bildschirmseite angezeigt wurde.

Die Notwendigkeit ist oft der Auslöser für Innovationen. Die frühere Unfähigkeit von more, innerhalb einer Datei rückwärts zu scrollen, veranlasste Mark Nudelman zur Entwicklung von less, um genau dieses Problem zu lösen. Diese Arbeit begann 1983, und die erste Version wurde 1985 außerhalb seines Arbeitsumfeldes veröffentlicht. Seit Oktober 2019 ist er weiterhin der Betreuer von less.

Gibt es überhaupt einen Linux-Anwender, der noch nie less verwendet hat? Selbst wenn sie es nicht direkt zum Betrachten von Textdateien benutzt haben, ist es wahrscheinlich, dass sie den Befehl man genutzt haben, der less im Hintergrund aufruft, um die Handbuchseiten (man pages) anzuzeigen. Es handelt sich also um einen Befehl mit vielen verborgenen Fähigkeiten.

Warum less überlegen ist

Im Laufe der Zeit sind immer wieder neue Funktionen zu less hinzugekommen. Es bietet eine beeindruckende Anzahl von Kommandozeilenoptionen und Tastenkombinationen innerhalb der Anwendung. Ein schneller Blick auf die Man-Page von less und die Man-Page von more macht deutlich, dass less eindeutig die Nase vorn hat.

more hat zwar seinen anfänglichen Fehler, das fehlende Rückwärtsblättern, behoben, aber nur für Dateien. Bei Eingaben über Pipes ist ein Rückwärtsblättern nicht möglich. Das ist mit less anders.

Dank seiner Flexibilität bei der Navigation in Dateien, dem Anzeigen mehrerer Dateien, der Textsuche, dem Setzen und Zurückkehren zu Lesezeichen und dem Umgang mit Pipe-Eingaben ist less eindeutig die bessere Wahl. Verwenden Sie less anstelle von more.

Eine Datei mit less betrachten

Um eine Datei in less zu laden, geben Sie den Dateinamen in der Kommandozeile ein:

less Datei-Name.txt

Die Datei wird geladen und angezeigt. Der Anfang (oder „Start“) der Datei erscheint im Terminalfenster. Mit dem Scrollrad der Maus können Sie vorwärts und rückwärts im Text scrollen.

Verwenden Sie auf der Tastatur die Leertaste oder die Bild-ab-Taste, um sich jeweils eine Bildschirmseite vorwärts durch den Text zu bewegen.

Die Bild-auf-Taste bewegt sich rückwärts durch die Datei (in Richtung „Anfang“). Mit den Home- und End-Tasten gelangen Sie direkt zum Anfang bzw. Ende der Textdatei.

Der Name der Datei wird in der unteren linken Ecke des Bildschirms angezeigt. Sobald Sie anfangen, sich in der Datei zu bewegen, wird die untere Zeile gelöscht. Diese Zeile wird verwendet, um Ihnen Nachrichten anzuzeigen und Befehle einzugeben.

Drücken Sie „q“, um less zu beenden.

Zeilennummern anzeigen

Um die Zeilen der Textdatei nummerieren zu lassen, verwenden Sie die Option -N (Zeilennummern).

less -N Datei-Name.txt

Die Zeilennummern sind hilfreich, um zu bestimmten Zeilen oder Abschnitten in Protokolldateien und anderen Dateien zu springen, die nicht in Standardprosa geschrieben sind.

Suche in less

Um den Text der Datei zu durchsuchen, drücken Sie „/“ und geben Sie dann Ihren Suchbegriff ein. Die Suche beachtet die Groß- und Kleinschreibung. Ihr Suchbegriff wird in der unteren Zeile des Bildschirms angezeigt. Drücken Sie die Eingabetaste, um die Suche zu starten.

In diesem Beispiel lautet der Suchbegriff „Enfield“ und ist unten im Display zu sehen.

Die Suche beginnt von der aktuellen Position bis zum Ende der Textdatei. Um die gesamte Datei zu durchsuchen, gehen Sie vor der Suche zum Anfang der Datei.

Sie werden benachrichtigt, wenn es keine Übereinstimmungen gibt. Wenn eine Übereinstimmung gefunden wird, wechselt die Anzeige, um das gefundene Element anzuzeigen.

Um zum nächsten passenden Element zu springen, drücken Sie „n“. Um zum vorherigen passenden Element zu springen, drücken Sie „N“.

Um von Ihrer aktuellen Position in der Datei rückwärts zum Dateianfang zu suchen, drücken Sie die Taste „?“. und geben Sie Ihren Suchbegriff ein. Um zum nächsten passenden Element zu springen, drücken Sie „n“. Um zum vorherigen passenden Element zu springen, drücken Sie „N“.

Beachten Sie, dass bei der Rückwärtssuche das nächste übereinstimmende Element (mit „n“ gefunden) das nächste näher am Anfang der Datei ist und das „N“ für das vorherige übereinstimmende Element nach einem Element sucht, das näher am Ende der Datei liegt. In anderen Worten: „n“ und „N“ kehren ihre Suchrichtung um, wenn Sie rückwärts suchen.

Öffnen einer Datei mit einem Suchbegriff

Sie können die Option -p (Muster) verwenden, um less zu veranlassen, die Textdatei zu durchsuchen und das erste übereinstimmende Element zu finden. Die Seite mit dem gefundenen Suchbegriff wird dann angezeigt, anstatt der ersten Seite der Datei, es sei denn, der Suchbegriff befindet sich auf der ersten Seite der Datei.

Beachten Sie, dass zwischen -p und dem Suchbegriff kein Leerzeichen stehen darf.

less -pSuchbegriff Datei-Name.txt

Die Datei wird mit dem ersten passenden Suchbegriff hervorgehoben angezeigt.

Navigation in less: Die wichtigsten Tasten

Verwenden Sie diese Tasten, um in der Textdatei zu navigieren und zu suchen.

Eine Zeile vorwärts gehen: Pfeil nach unten, Eingabe, e oder j
Eine Zeile zurückgehen: Pfeil nach oben, y oder k
Eine Seite vorwärts blättern: Leertaste oder Bild ab
Eine Seite zurück blättern: Bild auf oder b
Nach rechts scrollen: Pfeil nach rechts
Nach links scrollen: Pfeil nach links
Zum Anfang der Datei springen: Home oder g
Zum Ende der Datei springen: Ende oder G
Zu einer bestimmten Zeile springen: Geben Sie die Zeilennummer ein und drücken Sie dann „g“
Zu einem Prozentwert durch die Datei springen: Geben Sie den Prozentsatz ein und drücken Sie dann „p“ oder „%“. (Sie können sogar Dezimalwerte eingeben; um also zu 27,2 Prozent durch die Datei zu springen, geben Sie „27,2“ ein und drücken Sie dann „p“ oder „%“. Warum sollte man Dezimalzahlen verwenden? Ehrlich gesagt, ich habe keine Ahnung.)
Vorwärts suchen: Drücken Sie „/“ und geben Sie Ihre Suche ein, z. B. „/Begriff“, und drücken Sie die Eingabetaste
Rückwärts suchen: Drücken Sie „?“ und geben Sie Ihre Suche ein, z. B. „?Begriff“, und drücken Sie die Eingabetaste
Nächster passender Suchbegriff: n
Vorheriger passender Suchbegriff: N
Beenden: q

Leere Zeilen komprimieren

Die Option -s (squeeze blank lines) entfernt eine Reihe aufeinanderfolgender Leerzeilen und ersetzt sie durch eine einzige Leerzeile.

In unserer Beispieldatei gibt es einige aufeinanderfolgende Leerzeilen. Sehen wir, wie less damit umgeht, wenn wir die Option -s verwenden:

less -s Datei-Name.txt

Alle doppelten (oder mehr) Leerzeilen wurden jeweils durch eine einzelne Leerzeile ersetzt.

Mehrere Dateien anzeigen

less kann mehrere Dateien für Sie öffnen. Sie können von Datei zu Datei springen. less merkt sich Ihre Position in jeder Datei.

less Datei-Name1.txt Datei-Name2.txt

Die Dateien werden geöffnet, und die erste Datei wird angezeigt. Sie sehen, welche Datei Sie gerade ansehen und wie viele Dateien geladen wurden. Dies wird unten hervorgehoben.

Um die nächste Datei anzuzeigen, drücken Sie „:“ und dann „n“.

Ihre Anzeige wechselt zur zweiten Datei, und die Informationen in der unteren Zeile werden aktualisiert, um anzuzeigen, dass Sie die zweite Datei betrachten. Dies wird unten hervorgehoben.

Um zur vorherigen Datei zurückzukehren, geben Sie „:“ ein und drücken Sie dann „p“.

Verwendung von Markierungen

Mit less können Sie eine Markierung setzen, sodass Sie problemlos zu einer markierten Stelle zurückkehren können. Jede Markierung wird durch einen Buchstaben repräsentiert. Um eine Markierung in der obersten angezeigten Zeile zu setzen, drücken Sie „m“ und dann den gewünschten Buchstaben, z. B. „a“.

Wenn Sie „m“ drücken, wird in der unteren Zeile des Bildschirms eine Eingabeaufforderung angezeigt, die darauf wartet, dass Sie eine Buchstabentaste drücken.

Sobald Sie einen Buchstaben drücken, wird die Aufforderung entfernt.

Von jeder anderen Stelle in der Datei können Sie einfach zu einer Markierung zurückkehren, indem Sie das Apostroph (oder einfache Anführungszeichen) „’“ drücken und dann den Buchstaben der Markierung, zu der Sie zurückkehren möchten. Wenn Sie die Taste „’“ drücken, werden Sie nach der gewünschten Markierung gefragt.

Drücken Sie den Buchstaben der Markierung, zu der Sie zurückkehren möchten, und dieser Abschnitt der Textdatei wird Ihnen angezeigt.

Verwendung von Piped Input mit less

less kann Informationen anzeigen, die über eine Pipe als Textstrom kommen, so einfach, als handle es sich um eine Datei.

Der Befehl dmesg zeigt die Kernel-Ringpuffernachrichten. Wir können die Ausgabe von dmesg mit folgendem Befehl an less umleiten:

dmesg | less

Die Ausgabe von dmesg wird angezeigt.

Sie können die über Pipe geleitete Eingabe durchblättern und durchsuchen, als handelte es sich um eine Datei. Um die neuesten Nachrichten anzuzeigen, drücken Sie die Taste „Ende“, um zum Ende der Datei zu springen.

Wenn neue Nachrichten eintreffen, müssen Sie „Ende“ gedrückt halten, um zu erzwingen, dass das Ende der Datei angezeigt wird. Das ist nicht sehr komfortabel. Damit less immer den unteren Rand des Textes anzeigt, auch wenn neue Daten hinzugefügt werden, verwenden Sie die Option +F (vorwärts). Beachten Sie die Verwendung von + und nicht - als Optionskennzeichen.

dmesg | less +F

Das +-Option-Flag weist less an, die Option so zu behandeln, als hätten Sie diesen Befehl innerhalb von less verwendet. Wenn Sie also vergessen haben, die Option +F zu verwenden, drücken Sie „F“ in less.

less zeigt den unteren Teil des Textes an und somit die neuesten Nachrichten von dmesg. Es wird eine Meldung angezeigt, dass auf weitere Daten gewartet wird. Wenn weitere Kernel-Meldungen erscheinen, scrollt die Anzeige automatisch, sodass Sie immer die neuesten Meldungen sehen können.

In diesem Modus können Sie nicht scrollen oder blättern; es dient dazu, den unteren Rand des Pipe-Textes anzuzeigen. Um diesen Modus zu verlassen, drücken Sie Strg+c, und Sie kehren in den üblichen interaktiven less-Modus zurück.

Bearbeiten von Dateien mit less

Sie können Dateien mit less bearbeiten – naja, irgendwie. Dieser Befehl kann keine Dateien editieren, aber wenn Sie beim Betrachten einer Datei „v“ eingeben, wird die Datei in Ihren Standardeditor geladen. Wenn Sie den Editor verlassen, kehren Sie zu less zurück.

Drücken Sie „v“, während Sie eine Datei mit less betrachten:

Die Datei wird in den Standardeditor geladen, in diesem Fall nano:

Wenn Sie den Editor schließen, wird wieder less angezeigt.

Fazit

So kontraintuitiv es auch erscheinen mag, in diesem Fall gilt: less ist mehr.