15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen
10.11.2023

Der `less`-Befehl in Linux: Vollständige Anleitung mit Syntax, Optionen und praktischer Anwendung

Der less Befehl in Linux ist ein terminalbasiertes Pager-Dienstprogramm, mit dem Sie den Inhalt von Textdateien und Befehlsausgaben interaktiv anzeigen können, ohne die gesamte Datei in den Speicher zu laden. Im Gegensatz zu Texteditoren wie Vim oder Nano öffnet less Dateien in einer schreibgeschützten, paginierten Ansicht, was es zum bevorzugten Werkzeug für die Inspektion großer Log-Dateien, Konfigurationsdateien und Befehlsausgabeströme auf jedem Unix-ähnlichen System macht.

Kurz gesagt: less filename öffnet jede Textdatei in einem interaktiven, scrollbaren Viewer. Sie können vorwärts und rückwärts navigieren, nach Mustern suchen und sauber beenden — alles ohne die Datei zu verändern.

Warum less für Systemadministratoren wichtig ist

Bei der Verwaltung eines Linux-Servers haben Sie regelmäßig mit Dateien zu tun, die Tausende von Zeilen lang sind — Anwendungslogs, Kernel-Meldungen, Apache- oder Nginx-Zugriffslogs, Konfigurationsdumps und mehr. Diese in einem vollständigen Editor zu öffnen ist verschwenderisch und birgt das Risiko einer versehentlichen Änderung. Der less Pager lädt Inhalte auf Abruf, d. h. er liest nur den aktuell angezeigten Teil der Datei. Dies macht ihn außerordentlich effizient für Dateien, die Gigabytes groß sind.

Dieses Verhalten unterscheidet sich grundlegend von Befehlen wie cat, der den gesamten Dateiinhalt auf einmal auf die Standardausgabe ausgibt, oder head/tail, die nur einen festen Abschnitt anzeigen. less gibt Ihnen vollständige interaktive Kontrolle über die Navigation ohne Speicheraufwand proportional zur Dateigröße.

Wenn Sie eine VPS Hosting-Umgebung oder einen Dedicated Server verwalten, wird less eines der am häufigsten verwendeten Diagnose-Werkzeuge in Ihrem täglichen Arbeitsablauf sein — insbesondere beim Durchsuchen von /var/log/syslog, /var/log/auth.log oder anwendungsspezifischen Log-Verzeichnissen.

less vs. more: Ein technischer Vergleich

Der more Befehl ist älter als less und sein konzeptioneller Vorgänger. Obwohl beide Pager sind, unterscheiden sich ihre Fähigkeiten erheblich. Der Name „less” ist ein bewusster Unix-Witz: *less is more than more*.

Funktionlessmore
Vorwärts scrollenJaJa
Rückwärts scrollenJaNein
Navigation mit PfeiltastenJaEingeschränkt
Vorwärtssuche (/pattern)JaJa
Rückwärtssuche (?pattern)JaNein
Zu Zeilennummer springenJaNein
Prozentualer Anteil der gelesenen DateiJaNein
Pipe-UnterstützungJaJa
Mehrere Dateien öffnenJaNein
Speichernutzung bei großen DateienKonstant (auf Abruf)Höher
Verfügbar auf minimalen SystemenManchmal nicht vorinstalliertFast immer vorhanden

Die praktische Schlussfolgerung: Verwenden Sie more nur, wenn less nicht verfügbar ist, z. B. auf extrem abgespeckten Container-Images oder veralteten eingebetteten Systemen. In allen anderen Fällen ist less klar überlegen.

Grundlegende Syntax

less [OPTIONS] filename

Sie können die Ausgabe auch direkt in less pipen:

command | less

Beispiele:

less /var/log/syslog
grep "error" /var/log/nginx/access.log | less
dmesg | less
cat /etc/nginx/nginx.conf | less

Das Pipe-Muster ist besonders leistungsstark. Jeder Befehl, der ausführliche Ausgaben erzeugt — ps aux, netstat -tulnp, find / -name "*.conf" — wird handhabbar, wenn er in less geleitet wird.

Standard-Navigationstastaturbelegungen

Innerhalb von less steuern die folgenden Tastenkombinationen die Navigation. Dies sind keine optionalen Flags — es sind interaktive Befehle, die Sie eingeben, während die Datei geöffnet ist.

TasteAktion
Space oder fEine ganze Bildschirmseite vorwärts scrollen
bEine ganze Bildschirmseite rückwärts scrollen
Down arrow oder jEine Zeile vorwärts scrollen
Up arrow oder kEine Zeile rückwärts scrollen
dEinen halben Bildschirm vorwärts scrollen
uEinen halben Bildschirm rückwärts scrollen
gZum Anfang der Datei springen
GZum Ende der Datei springen
nG oder ngZur Zeilennummer n springen
/patternVorwärts nach einem Muster suchen
?patternRückwärts nach einem Muster suchen
nLetzte Suche in gleicher Richtung wiederholen
NLetzte Suche in entgegengesetzter Richtung wiederholen
qless beenden
hHilfebildschirm anzeigen
FFollow-Modus — wie tail -f, streamt neue Inhalte

Die F Taste (Follow-Modus) verdient besondere Aufmerksamkeit. Sie verwandelt less in einen Live-Log-Monitor, gleichwertig zu tail -f, aber mit der zusätzlichen Möglichkeit, Ctrl+C zu drücken, um das Folgen zu stoppen und dann rückwärts durch den bereits geladenen Inhalt zu navigieren. Das ist etwas, was tail -f nicht kann.

Referenz der Befehlszeilenoptionen

Diese Flags werden beim Aufruf von less über die Befehlszeile übergeben und ändern das Verhalten, bevor die Datei geöffnet wird.

OptionBeschreibung
-NZeilennummern am linken Rand anzeigen
-nZeilennummern unterdrücken (Standard auf einigen Systemen)
-iGroß-/Kleinschreibung bei der Suche ignorieren
-IGroß-/Kleinschreibung bei der Suche ignorieren, auch für das Muster selbst
-SLange Zeilen abschneiden statt umbrechen (nützlich für breite CSV- oder Log-Dateien)
-p patternDatei öffnen und direkt zum ersten Vorkommen des angegebenen Musters springen
-cBildschirm von oben neu aufbauen statt zu scrollen (reduziert Flimmern auf langsamen Terminals)
-gNur den durch die letzte Suche gefundenen String hervorheben, nicht alle Treffer
-GAlle Hervorhebungen von Suchergebnissen vollständig deaktivieren
-FAutomatisch beenden, wenn die gesamte Datei auf einen Bildschirm passt
-XBildschirm beim Beenden von less nicht löschen (Inhalt bleibt im Terminal sichtbar)
-RANSI-Farb-Escape-Sequenzen rendern (unverzichtbar beim Pipen farbiger Ausgaben)
-eAutomatisch beim zweiten Dateiende beenden
+nBei Zeilennummer n beginnen
+/patternBeim ersten Vorkommen von pattern beginnen (alternative Syntax zu -p)
-mProzentualen Anteil der gelesenen Datei in der Eingabeaufforderung anzeigen (wie more)
-MAusführlichere Eingabeaufforderung mit Zeilennummern und Prozentangabe anzeigen

Praktische Optionskombinationen

Eine Log-Datei mit Zeilennummern, Suche ohne Berücksichtigung der Groß-/Kleinschreibung und ohne Zeilenumbruch anzeigen:

less -NiS /var/log/apache2/error.log

Eine Datei öffnen und direkt zum ersten Vorkommen von „segfault” springen:

less -p "segfault" /var/log/kern.log

Farbige Befehlsausgabe pipen und Farben beibehalten:

grep --color=always "FAILED" /var/log/auth.log | less -R

Eine Datei öffnen und sofort beenden, wenn sie auf einen Bildschirm passt:

less -F /etc/hosts

Suchen in less: Fortgeschrittene Techniken

Die Suchfunktion in less unterstützt reguläre Ausdrücke, nicht nur wörtliche Zeichenketten. Dies ist ein wichtiger Unterschied, den viele Benutzer übersehen.

/error|warning|critical

Dieses Muster findet jede Zeile, die „error”, „warning” oder „critical” enthält — unter Verwendung der standardmäßigen POSIX-Extended-Regex-Syntax. In Kombination mit -i für die Groß-/Kleinschreibungsunempfindlichkeit wird dies zu einem leistungsstarken Inline-Log-Analyse-Werkzeug, ohne grep als Vorprozessor zu benötigen.

Suche über mehrere Dateien:

less file1.log file2.log file3.log

Verwenden Sie :n, um zur nächsten Datei zu wechseln, und :p, um zur vorherigen zurückzukehren. Die /pattern-Suche gilt nur für die aktuelle Datei, kann aber manuell über Dateien hinweg wiederholt werden.

Arbeiten mit mehreren Dateien und Named Pipes

less kann mehrere Dateien nacheinander öffnen:

less /var/log/syslog /var/log/kern.log /var/log/auth.log

Es funktioniert auch korrekt mit Named Pipes (FIFOs) und Prozesssubstitution, was in fortgeschrittenen Shell-Skripten nützlich ist:

less <(journalctl -u nginx --since "1 hour ago")

Dies öffnet die Ausgabe von journalctl so, als wäre es eine Datei, mit vollständigem Rückwärts-Scrollen — etwas, das eine einfache Pipe in allen Shell-Umgebungen nicht für die Rückwärtsnavigation unterstützen würde.

Reale Sonderfälle und Fallstricke

Binärdateien: Das Ausführen von less auf einer Binärdatei (kompilierte ausführbare Dateien, komprimierte Archive) zeigt unleserliche Zeichen an und kann eine Warnung auslösen. Verwenden Sie less -f, um das Öffnen zu erzwingen, aber die Ausgabe wird größtenteils unlesbar sein. Für die Binärinspektion ist xxd oder hexdump das richtige Werkzeug.

Sehr breite Zeilen: Log-Dateien, die von bestimmten Java-Frameworks oder JSON-lastigen Anwendungen generiert werden, enthalten oft extrem lange einzelne Zeilen. Ohne -S bricht less diese Zeilen um, was sie schwer lesbar macht. Das Flag -S ermöglicht horizontales Scrollen mit den Pfeiltasten, was weitaus praktischer ist.

Komprimierte Dateien: Auf Systemen mit konfiguriertem lesspipe (üblich auf Debian/Ubuntu) kann less .gz-, .bz2-, .zip– und andere komprimierte Formate transparent öffnen. Prüfen Sie, ob es aktiviert ist mit echo $LESSOPEN. Falls nicht konfiguriert, verwenden Sie zless (ein Wrapper-Skript) für gzip-komprimierte Dateien.

Farbausgabe geht in Pipes verloren: Beim Pipen von Ausgaben aus Werkzeugen wie grep --color, ls --color oder diff sind die Farbcodes ANSI-Escape-Sequenzen. Ohne -R zeigt less diese als rohe Escape-Zeichen an. Verwenden Sie immer less -R, wenn Sie farbige Ausgaben pipen.

LESSOPEN und LESSCLOSE: Diese Umgebungsvariablen definieren Vorprozessor- und Nachprozessor-Skripte, die less auf Dateien ausführt, bevor sie angezeigt werden. Auf einem ordnungsgemäß konfigurierten System ermöglicht dies less, den Inhalt von Archiven, PDFs und sogar Bildern (als ASCII-Art) transparent anzuzeigen. Dies ist eine wenig genutzte Funktion mit erheblichem diagnostischen Nutzen.

less dauerhaft konfigurieren mit der Umgebungsvariable LESS

Anstatt jedes Mal Flags einzugeben, können Sie Standardoptionen über die Umgebungsvariable LESS in Ihrem Shell-Profil (~/.bashrc oder ~/.zshrc) festlegen:

export LESS="-NiRMS"

Dies wendet -N (Zeilennummern), -i (Suche ohne Berücksichtigung der Groß-/Kleinschreibung), -R (Farb-Rendering), -M (ausführliche Eingabeaufforderung) und -S (kein Zeilenumbruch) auf jeden less-Aufruf automatisch an. Dies ist eine Standardpraxis auf Produktionsservern, auf denen häufig Log-Analysen durchgeführt werden.

less in Shell-Skripten und Automatisierung verwenden

Obwohl less primär interaktiv ist, lässt es sich sauber in administrative Skripte integrieren. Ein gängiges Muster ist, es nur dann aufzurufen, wenn es in einem interaktiven Terminal ausgeführt wird:

if [ -t 1 ]; then
    some_command | less -R
else
    some_command
fi

Der -t 1-Test prüft, ob die Standardausgabe mit einem Terminal verbunden ist. Dies verhindert, dass less nicht-interaktive Pipelines oder Cron-Jobs blockiert.

less im Kontext der Serververwaltung

Auf einem VPS mit cPanel oder einer beliebigen von einem Control Panel verwalteten Umgebung bleibt less für die SSH-basierte Administration unverzichtbar, auch wenn eine GUI verfügbar ist. Control Panels bieten eingeschränkte Log-Ansichten; direkter SSH-Zugriff mit less gibt Ihnen ungefilterte Echtzeit-Einblicke in das Systemverhalten.

Bei der Bereitstellung von Dedicated Servers für Hochlast-Anwendungen bilden strukturierte Log-Analyse-Workflows rund um less, grep, awk und sed das Rückgrat der Incident-Response. Zu wissen, wie man ein 2 GB großes Zugriffslog effizient durchsucht, ohne es in den Speicher zu laden, ist eine grundlegende Sysadmin-Fähigkeit.

Für Teams, die Email Hosting-Infrastruktur verwalten, ist less das Standardwerkzeug zur Inspektion von Postfix-Mail-Logs (/var/log/mail.log) und Dovecot-Authentifizierungslogs, bei denen die zeilenweise Rückwärtsnavigation für die Verfolgung von Zustellungsfehlern unerlässlich ist.

Schnellreferenz-Entscheidungsmatrix

Verwenden Sie diese Matrix, um zu entscheiden, welches Werkzeug Sie beim Anzeigen von Dateiinhalten verwenden sollten:

SzenarioEmpfohlenes Werkzeug
Eine große Log-Datei interaktiv anzeigenless -NiS
Eine Log-Datei in Echtzeit überwachenless +F oder tail -f
Nur die letzten N Zeilen anzeigentail -n N
Nur die ersten N Zeilen anzeigenhead -n N
Suchen und filtern ohne Interaktiongrep
Eine komprimierte .gz-Datei anzeigenzless oder less mit lesspipe
Binär-/Hex-Inhalt inspizierenxxd oder hexdump
Mit Syntaxhervorhebung anzeigenbat (Drittanbieter-Pager)
Schnelle Ausgabe einer kleinen Dateicat
Minimales System, less nicht verfügbarmore

Wichtige technische Erkenntnisse

  • less lädt Dateiinhalte auf Abruf — die Speichernutzung skaliert nicht mit der Dateigröße, was es sicher für mehrere Gigabyte große Dateien macht.
  • Das Flag -R ist beim Pipen farbiger Ausgaben obligatorisch; ohne es werden unleserliche Escape-Sequenzen erzeugt.
  • Der Follow-Modus (Taste F) bietet die Funktionalität von tail -f mit der zusätzlichen Möglichkeit, rückwärts durch gepufferte Inhalte zu scrollen.
  • Reguläre Ausdrücke werden nativ in Suchmustern unterstützt — kein Vorfiltern mit grep für den Musterabgleich erforderlich.
  • Setzen Sie export LESS="-NiRMS" in Ihrem Shell-Profil, um sinnvolle Standardeinstellungen global anzuwenden.
  • Verwenden Sie less <(command) mit Prozesssubstitution für vollständige interaktive Navigation der Befehlsausgabe, einschließlich Rückwärts-Scrollen.
  • Die Variable LESSOPEN ermöglicht transparente Dekomprimierung und Formatkonvertierung — überprüfen Sie, ob sie auf Ihren Servern konfiguriert ist.
  • Verwenden Sie niemals cat auf großen Dateien, wenn less verfügbar ist; es sättigt den Terminal-Puffer und bietet keine Navigationsmöglichkeit.

Häufig gestellte Fragen

Was ist der Unterschied zwischen less und cat in Linux?

cat gibt den gesamten Dateiinhalt auf einmal auf die Standardausgabe aus, ohne Interaktivität oder Paginierung. less öffnet die Datei in einem interaktiven Pager, in dem Sie scrollen, suchen und navigieren können. Für jede Datei, die länger als Ihre Terminalhöhe ist, ist less das richtige Werkzeug.

Kann less Dateien bearbeiten?

Nein. less ist ausschließlich ein schreibgeschützter Viewer. Es verändert Dateien unter keinen Umständen. Zum Bearbeiten verwenden Sie vim, nano oder einen anderen Texteditor.

Wie suche ich nach einem Wort in less?

Während die Datei in less geöffnet ist, geben Sie /word ein und drücken Enter, um vorwärts zu suchen. Verwenden Sie ?word, um rückwärts zu suchen. Drücken Sie n, um zum nächsten Treffer zu springen, und N, um zum vorherigen zu gelangen. Suchen unterstützen reguläre Ausdrücke.

Warum zeigt less unleserliche Zeichen an, wenn ich farbige Ausgaben pipe?

ANSI-Farb-Escape-Sequenzen werden standardmäßig nicht gerendert. Übergeben Sie das Flag -R — entweder als less -R oder durch Setzen von export LESS="-R" in Ihrem Shell-Profil — um Farben korrekt darzustellen.

Ist less auf allen Linux-Distributionen verfügbar?

less ist standardmäßig in nahezu allen wichtigen Linux-Distributionen enthalten, darunter Debian, Ubuntu, CentOS, RHEL, Fedora und Arch Linux. Auf minimalen Docker-Basis-Images oder Alpine Linux muss es möglicherweise explizit mit apk add less oder dem entsprechenden Paketmanager-Befehl installiert werden.

15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen