Less: Unterschied zwischen den Versionen

Aus Foxwiki
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
* '''[http://www.greenwoodsoftware.com/less less]''' ist ein Pager zum Anzeigen von (Text-) Dateien auf der Kommandozeile unter Linux.
'''less''' ist ein Pager zum Anzeigen von (Text-) Dateien
 
= Beschreibung =
= Beschreibung =
* Im Vergleich zu anderen Pagern wie z.B. [http://wiki.ubuntuusers.de/more more] hat less mehrere Vorteile.  
* Im Vergleich zu anderen Pagern wie z.B. [http://wiki.ubuntuusers.de/more more] hat less mehrere Vorteile.  
Zeile 452: Zeile 453:
== Intern ==
== Intern ==
== Weblinks ==
== Weblinks ==
# http://www.greenwoodsoftware.com/less


=Kontrollfragen=
=Kontrollfragen=

Version vom 26. Februar 2022, 12:55 Uhr

less ist ein Pager zum Anzeigen von (Text-) Dateien

Beschreibung

  • Im Vergleich zu anderen Pagern wie z.B. more hat less mehrere Vorteile.
  • Zum einen kann man sich mit less beliebig durch das Dokument bewegen, also sowohl vorwärts als auch rückwärts.
  • Zum anderen werden schon Dateien angezeigt, auch wenn diese noch nicht komplett in den Speicher geladen wurden, was besonders bei sehr großen Dateien vorteilhaft sein kann.
  • Außerdem hat less einen deutlich größeren Funktionsumfang, der z.B. auch das komfortable Suchen innerhalb eines Dokuments einschließt.

Bezeichnung

Installation

Syntax

less [OPTIONEN] DATEI 

Parameter

Optionen

  • Die folgenden Optionen und Einstellungen können in der Kommandozeile beim Aufruf von less gesetzt werden.
  • Es ist außerdem möglich, die entsprechenden Einstellungen mit dem `-'-Kommando zur Laufzeit von less vorzunehmen.
  • Zusätzlich bietet less die Möglichkeit, bestimmte Optionen, die jedesmal gesetzt werden sollen, in der Umgebungsvariablen LESS zu speichern.
  • Die so gesetzten Optionen werden jedesmal gelesen, wenn less gestartet wird, können aber immer von Kommandozeilenoptionen verdeckt werden.
-? zeigt eine kurze Übersicht über die Kommandos und Optionen von less
-a die Vorwärtssuchfunktionen fangen in der letzten Bildschirmzeile an, überspringen also den aktuellen Bildschirm
-b Nr veranlaßt less, die mit Nr angegebene Anzahl von Puffern für die Anzeige zu benutzten; jeder Puffer ist ein Kilobyte groß; wenn less aus einer Pipe liest, werden die Puffer automatisch angefordert (siehe die Option `-B')
-B unterdrückt die automatische Anforderung neuer Puffer; es werden nur die mit der `-b' Option bereitgestellten oder die standardmäßig eingestellten zehn Puffer für die Speicherung der aus einer Pipeline gelesenen Daten benutzt; werden mehr Daten gelesen, als Pufferplatz frei ist, wird der älteste Puffer überschrieben
-c jede neue Bildschirmseite wird von der ersten Zeile an neu aufgebaut; normalerweise wird jede neue Bildschirmseite durch Scrollen des Bildschirms angezeigt
-C der Bildschirm wird vor jeder neuen Seite gelöscht sonst wie `-c'
-d unterdrückt Warnungen bzw. Fehlermeldungen auf ``dummen Terminals, wenn bestimmte Funktionen wie Bildschirmlöschen oder Rückwärtsscrollen nicht zur Verfügung stehen
-e less beendet automatisch, wenn das Dateiende zum zweiten mal erreicht wird; normalerweise kann less nur ausdrücklich durch ein entsprechendes Kommando verlassen werden
-E less wird automatisch beim (ersten) Dateiende verlassen
-f erzwingt die Anzeige, auch von Dateien mit nichtdruckbaren Zeichen
-h Nr es werden höchstens die angegebene Anzahl Zeilen rückwäts gescrollt; sollen mehr als die angegebene Anzahl Zeilen zurückgeblättert werden, findet der Bildschirmaufbau wie beim Vorwärtsblättern von der ersten Zeile an statt
-i Groß- und Kleinschreibung werden beim Suchen nicht unterschieden; wenn ein Buchstabe im Suchmuster groß geschrieben ist, wird diese Option ignoriert
-j Nr die Zielzeile bei einer Suche oder einer direkten Positionierung wird an der benannten Stelle angezeigt; eine negative Zahl zählt die Zielzeile vom unteren Bildschirmrand aus (anstelle des oberen)
-k Datei liest eine alternative Tastaturbelegung aus der benannten Datei; wenn keine Datei angegeben ist, wird die Datei `.less' im Heimatverzeichnis gelesen; eine Datei mit alternativer Tastaturbelegung kann mit dem lesskey-Kommando erzeugt werden
-m zeigt die aktuelle Dateiposition in Bytes oder Prozent als Eingabeaufforderung nach jeder Seite; normalerweise dient der Doppelpunkt `:' als Eingabeaufforderung
-M zeigt die aktuelle Dateiposition in Zeilen und den Dateinamen als Eingabeaufforderung
-n die Zeilennummer wird weder in der Eingabeaufforderung, noch beim Aufruf des Editors benutzt
-N jeder Zeile wird in der Anzeige eine Zeilennummer vorangestellt
-o Datei kopiert die gelesene Eingabe in die benannte Datei, wenn aus einer Pipeline gelesen wird; wenn die Datei schon existiert, muss der Benutzer vor dem Überschreiben die Aktion bestätigen
-O Datei wie `-o'; es wird aber vor dem Überschreiben einer existierenden Datei nicht nachgefragt
-p Muster sucht sofort das erste Auftreten vom Muster in der ersten angegebenen Datei
-P Prompt ändert die Eingabeaufforderung (Prompt); `-Pm' ändert den Prompt für die `-m' Option, und `-PM' ändert entsprechend den Prompt für die `-M' Option; die Syntax der Prompt Zeichenkette mit `man less' in den englischen Manualpages nachzulesen
-q der Alarmton des Terminals wird nicht bei kleineren Fehlern wie z. B. das Vorwärtsblättern am Dateiende ausgelöst; wenn das Terminal eine optische Warnung unterstützt, wird diese anstelle des akustischen Alarms benutzt
-Q der Alarmton des Terminals wird unter keinen Umständen ausgelöst
-r die Sonderzeichen (Control Sequenzen) werden nicht als Caret-Sequenz, sondern `roh' angezeigt
-s mehrere Leerzeilen werden zu einer einzigen Leerzeile zusammengefaßt; das ist die Standardeinstellung für die Anzeige von groff-Ausgabe
-S überlange Zeilen werden einfach abgeschnitten; normalerweise wird der Rest überlanger Zeilen in der nächsten Zeile angezeigt
-t Tag zeigt die Datei, in der vom ctags-Programm die Marke Tag gefunden wurde; für diese Option muss eine `tags' Datei vom ctags Programm im aktuellen Verzeichnis angelegt werden
-T Tagdatei die benannte Tagdatei wird anstelle der Datei `tags' im aktuellen Verzechnis für die `-t' Option benutzt
-u Rückschritt und Wagenrücklauf werden roh (unverändert) an das Terminal geschickt
-U Rückschritt und Wagenrücklauf werden als Control-Sequenzen der Option `-r' entsprechend an das Terminal geschickt; normalerweise werden Rückschritte, die von einem Unterstrich gefolgt werden, durch einen unterstrichenen Buchstaben, Rückschritte, die von dem gleichen Buchstaben eingeleitet wie gefolgt werden, durch einen fettgedruckten Buchstaben dargestellt; alle anderen Rückschritte und die von einem Zeilenvorschub gefolgten Wagenrücklaufzeichen werden ignoriert
-w die Bildschirmzeilen nach dem Dateiende werden durch Leerzeilen anstelle der voreingestellten Tilde `~' dargestellt
-x Nr die Tabulatorweite wird auf die gegebene Anzahl Stellen gesetzt
-y Nr setzt eine Grenze von Zeilen, bis zu der das Vorwärtsscrollen möglich ist; wenn mehr als die gesetzte Anzahl Zeilen vorwärts geblättert werden soll, wird der Bildschirm der `-c' oder `-C' Option entsprechend neu aufgebaut
-z Nr ändert die Schrittweite für das Blättern auf die angegebene Zeilenzahl
+ eine Kommandozeilenoption, die mit einem Pluszeichen beginnt, wird als Initialisierungskommando für less interpretiert und als erstes Kommando von less ausgeführt; wenn anstelle eines einzelnen Pluszeichens zwei Pluszeichen benutzt werden, wird das darauffolgende Kommando bei allen Dateien der Kommandozeilenliste als erstes ausgeführt

Konfiguration

Umgebungsvariable

COLUMNS die Zeilenlänge für den Ausgabebildschirm
EDITOR der Editor für das `v'-Kommando
HOME das Heimatverzeichnis des Anwenders; hier wird die `.less' Datei gesucht
LESS eine Zeichenkette mit Kommandozeilenoptionen
LESSBINFMT das Format zur Anzeige binärer Zeichen, die keine Controlzeichen sind
LESSCHARDEF legt einen Zeichensatz fest (ascii oder latin1)
LESSCHARSET beschreibt einen anderen Zeichensatz direkt
LESSEDIT die Kommandozeile für den Editor
LESSHELP der absolute Name der Hilfsdatei
LINES die Anzahl der Bildschirmzeilen
SHELL die Shell für die externen Kommandos
TERM die Terminalbezeichnung, wie sie in /etc/termcap zu finden ist

Anwendungen

  • Wird die Datei angezeigt, so befindet sich less standardmäßig in einem interaktiven Modus, d.h. es wird mit Hilfe von Tasten (-kombinationen) gesteuert.
  • Mit den folgenden Tasten kann man z.B. durch das Dokument blättern:

Taste Funktion ↓ / ↑: eine Zeile vor / zurück E / Y: eine Zeile vor / zurück (Alternative zu den Cursor-Tasten) Bild ↓ / Bild ↑: eine Seite vor / zurück F / B: eine Seite vor / zurück (Alternative zu den Bild-Tasten) "Leertaste": eine Seite vor (Alternative zu Bild ↓ bzw. F ) Zahl Z / W: die mit Zahl angegebene Anzahl Zeilen vorwärts / rückwärts blättern G / ⇧ + G: zum Anfang / Ende des Dokuments springen

Des Weiteren kennt less noch mehr Befehle zum Blättern durch das Dokument sowie für manche Befehle alternative Tastenkombination.

Wie weiter oben bereits erwähnt kann auch innerhalb des Dokuments gesucht werden. Dazu drückt man die Slashtaste / und gibt dann den Suchbegriff, der auch ein regulärer Ausdruck sein kann, ein. Mit N (next) wird die Suche vorwärts wiederholt, mit ⇧ + N rückwärts.

Möchte man less beenden, so drückt man einfach Q (quit).

Die hier gezeigten Funktionen stellen nur einige Grundbefehle dar und spiegeln nur einen Bruchteil der Funktionalität von less wider. Eine kurze, komplette Übersicht erhält man, in dem man innerhalb von less H drückt oder beim Aufruf die Option --help verwendet. Eine ausführlichere Erklärung findet man in den Manpages von less.

less kann man auch in Verbindung mit der Pipe verwenden. So kann man die Ausgabe eines Befehls nach less umleiten, um so komfortabel in der Ausgabe navigieren und suchen zu können.

Beispiel

dmesg | less


Benutzung

Die allgemeine Syntax von less ist

less <Optionen> DATEI 

Wird die Datei angezeigt, so befindet sich less standardmäßig in einem interaktiven Modus, d.h. es wird mit Hilfe von Tasten (-kombinationen) gesteuert.

Mit den folgenden Tasten kann man z.B. durch das Dokument blättern:

↓ / ↑ eine Zeile vor / zurück
E / Y eine Zeile vor / zurück (Alternative zu den Cursor-Tasten)
Bild ↓ / Bild ↑ eine Seite vor / zurück
F / B eine Seite vor / zurück (Alternative zu den Bild-Tasten)
         eine Seite vor (Alternative zu Bild ↓ bzw. F )
Zahl Z / W die mit Zahl angegebene Anzahl Zeilen vorwärts / rückwärts blättern
G / ⇧ + G zum Anfang / Ende des Dokuments springen

Des Weiteren kennt less noch mehr Befehle zum Blättern durch das Dokument sowie für manche Befehle alternative Tastenkombination.

Wie weiter oben bereits erwähnt kann auch innerhalb des Dokuments gesucht werden. Dazu drückt man die Slashtaste / und gibt dann den Suchbegriff, der auch ein regulärer Ausdruck sein kann, ein. Mit N (next) wird die Suche vorwärts wiederholt, mit ⇧ + N rückwärts.

Möchte man less beenden, so drückt man einfach Q (quit).

Die hier gezeigten Funktionen stellen nur einige Grundbefehle dar und spiegeln nur einen Bruchteil der Funktionalität von less wieder. Eine kurze, komplette Übersicht erhält man, in dem man innerhalb von less H drückt oder beim Aufruf die Option --help verwendet. Eine ausführlichere Erklärung findet man in den Manpages von less.

less kann man auch in Verbindung mit der Pipe verwenden. So kann man die Ausgabe eines Befehls nach less umleiten, um so komfortabel in der Ausgabe navigieren und suchen zu können.

Beispiel

dmesg | less

Kommandos

Die folgenden Tastaturkommandos zur Steuerung der Bildschirmausgabe sind definiert.

Alle Kommandos können von einer ganzen Zahl N eingeleitet werden, die die Anzahl der Wiederholungen dieses Kommandos angibt.

h | H gibt einen Hilfstext aus
LEERZEICHEN | CTRL-V | f | CTRL-F blättert eine Bildschirmseite vorwärts; wenn eine Zahl vorangestellt ist, werden diese Anzahl Zeilen weitergeblättert
z wie Leerzeichen; wenn eine Zahl vorangestellt ist, wird diese Zahl zur neuen Seitenlänge auch für die weiteren Seiten
RETURN | CTRL-N | CTRL-E | CTRL-J scrollt den Bildschirm eine (oder die gegebene Anzahl) Zeilen weiter
d | CTRL-D -N
b | CTRL-v -c
w -d
y | CTRL-Y | CTRL-P | k | CTRL-K -f
u | CTRL-U -l
r | CTRL-R | CTRL-L -s
R -u
F +Zeilennummer
g | < | CTRL-< +Muster
G | > | CTRL-> geht zur letzten Zeile oder zu der Zeile mit der entsprechenden Zahl (vom Dateiende gezählt)
p | % macht nur Sinn, wenn es von einer Zahl zwischen 0 und 100 eingeleitet wird, und geht dann zu der dieser Prozentzahl entsprechenden Stelle; wenn von der Standardeingabe gelesen wird, kann dieses Kommando erst benutzt werden, nachdem die Eingabe abgeschlossen ist
} wenn eine geschweifte Klammer auf der ersten Bildschirmzeile steht, wird die Anzeige so gescrollt, dass die dazugehörende schließende Klammer auf der letzen Bildschirmzeile steht; wenn mehr als eine geschweifte Klammer auf der ersten Zeile geöffnet wird, kann mit dem Zahlenargument bestimmt werden, welche Klammer referenziert werden soll
{ wenn die geschweifte Klammer auf der letzten Bildschirmzeile steht, wird der Bildschirm so gerollt, dass die korrespondierende Klammer auf der ersten Zeile angezeigt wird
( das gleiche mit runden Klammern
) dito
[ diesmal mit eckigen Klammern
] auch nichts neues
ESC-CTRL-F wie {; es werden die dem Kommando folgenden beiden Zeichen als Klammern interpretiert und entsprechend bearbeitet
ESC-CTRL-B wie }; es werden die dem Kommando folgenden beiden Zeichen als Klammern interpretiert und entsprechend bearbeitet
m gefolgt von einem Kleinbuchstaben, markiert die aktuelle Position mit diesem Buchstaben
' | CTRL-X CTRL-X gefolgt von einem Kleinbuchstaben, kehrt zurück zu der mit diesem Buchstaben markierten Stelle
/Muster sucht vorwärts nach dem Muster; eine passende Zeile wird als erste Bildschirmzeile angezeigt; das Muster kann reguläre Ausdrücke enthalten (ed-Syntax); mit einem Zahlenargument N kann auch das N-te Auftreten des Musters gesucht werden; die Suche beginnt in der zweiten Bildschirmzeile, wenn nicht durch die Kommandozeilenoptionen `-a' oder `-j' ein anderes Verhalten eingestellt ist; für das erste Zeichen vom Muster stehen folgende Sonderzeichen zur Verfügung:

sucht nach einer Zeile, die das Muster nicht enthält

*

durchsucht mehrere Dateien; wenn die Suche bis zum Dateiende erfolglos ist, wird die nächste Datei aus der Kommandozeilenliste durchsucht

@

beginnt die Suche in der ersten Datei aus der Kommandozeilenliste, unabhängig davon, welche Datei aktuell angezeigt wird; auch die Kommandozeilenoptionen `-a' und `-j' werden ignoriert

?Muster sucht rückwärts nach einer Zeile mit dem Muster; die Suche beginnt vor der ersten Bildschirmzeile; folgende Sonderzeichen können als erstes Zeichen vom Muster eingesetzt werden:

sucht eine Zeile, die das Muster nicht enthält

*

durchsucht mehrere Dateien; wenn das Muster bis zum Dateianfang erfolglos ist, wird die der aktuellen Datei vorhergehende aus der Kommandozeilenliste durchsucht

@

beginnt die Suche auf der letzten Zeile der letzten Datei aus der Kommandozeilenliste, unabhängig von der aktuellen Datei und den Kommandozeilenoptionen `-a' und `-j'

ESC-/Muster das gleiche wie `/*Muster'
ESC-?Muster das gleiche wie `?*Muster'
n wiederholt die letzte Suche; die Sonderzeichen `*' und `!' behalten ihre Bedeutung, `@' wird ignoriert
N wiederholt die letzte Suche in umgekehrter Richtung
ESC-n wiederholt die letzte Suche und sucht in der nächsten (vorhergehenden) Datei weiter, wenn das Dateiende (der Dateianfang) erreicht ist
ESC-N wiederholt die Suche rückwärts und setzt die Suche in weiteren Dateien fort
:e [Dateiname ...] zeigt die benannte Datei an; wenn keine Datei angegeben ist, wird die aktuelle Datei neu angezeigt; ein Prozentzeichen `%' im Dateiname wird durch den Namen der aktuellen Datei ersetzt; das Nummernzeichen `#' wird durch den Namen der zuvor angezeigten Datei ersetzt; die neue Datei wird in die Kommandozeilenliste der Dateien eingereiht, so dass sie bei den folgenden `:n' und `:p' Befehlen erreicht werden kann; wenn mehrere Dateinamen angegeben sind, werden alle Dateinamen in die Kommandozeilenliste eingefügt
CTRL-X CTRL-V | E das gleiche wie `:e'
:n zeigt die nächste Datei aus der Kommandozeilenliste an
:p zeigt die vorhergehende Datei aus der Kommandozeilenliste an
:x zeigt die erste (oder N-te) Datei aus der Kommandozeilenliste an
= | CTRL-G | :f zeigt den Namen der aktuellen Datei und die Position in der Datei
- ,gefolgt von einer der unten aufgeführten Kommandozeilenoptionen, ändert eben diese Option und zeigt die neue Einstellung an; wenn zu einer Option ein Zahlenargument oder eine Zeichenkette angegeben werden müssen, kann dieses Argument nach dem Optionsbuchstaben interaktiv angegeben werden
-+ ,gefolgt von einer der unten beschriebenen Kommandozeilenoptionen, setzt diese Option auf ihren voreingestellten Wert zurück; es können nur die Einstellungen zurückgesetzt werden, die keine Zeichenkette als Argument benötigen
- ,gefolgt von einer der unten beschriebenen Kommandozeilenoptionen, setzt diese Option auf das Gegenteil der Standardeinstellung; es können nur die Einstellungen verändert werden, die keine Argumente benötigen; im Anschluß an die Änderung wird die aktuelle Einstellung gezeigt
_ (Unterstrich), gefolgt von einer der unten beschriebenen Kommandozeilenoptionen, zeigt den aktuellen Wert dieser Einstellung; die Einstellung wird nicht verändert
+Lesskommando führt das angegebene Lesskommando jedesmal automatisch aus, wenn eine neue Datei angezeigt wird
V zeigt die Versionsnummer von less
q | :q | :Q | ZZ | ESC ESC beendet less
v startet einen Editor mit der aktuellen Datei; wenn in der Umgebungsvariablen EDITOR nichts anderes bestimmt ist, wird der vi als Standardeditor benutzt
! Kommandozeile startet eine Shell und führt das angegebene externe Kommando aus; in der Kommandozeile kann der Name der aktuellen Datei mit einem Prozentzeichen `%', der Name der zuletzt davor aktuellen Datei mit dem Nummernzeichen `#' ersetzt werden; ein doppeltes Ausrufezeichen `!!' wiederholt die letzte Kommandozeile; ein einfaches Ausrufezeichen `!' startet eine interaktive Shell; in allen Fällen wird die Standardshell /bin/sh gestartet, wenn in der Umgebungsvariablen SHELL keine andere Shell bestimmt ist
| Marke Kommandozeile leitet die Zeilen von der ersten Bildschirmzeile bis zur Marke durch das in der Kommandozeile angegebene Kommando

zless und bzless

zless und bzless sind Varianten von less, welche es erlauben, mit gzip bzw. bzip2 gepackte Dateien mit less anzusehen, ohne diese vorher zu entpacken. Inzwischen kann die mit Ubuntu mitgelieferte Version von less dies allerdings auch selbst.

zless /usr/share/doc/linux-generic/changelog.gz
# oder:
less /usr/share/doc/linux-generic/changelog.gz
# bzip2-komprimierte Datei:
less text.bz2 

less ist ein Pager wie more

less [Dateiname] ...

less gibt eine (oder mehrere) Datei(en) seitenweise auf dem Bildschirm aus. Im Unterschied zu more erlaubt less auch das Zurückblättern in Texten, die aus einer Pipeline gelesen werden.

Die voreingestellten Tastaturkommandos sind an die von more und elvis angelehnt, sie lassen sich aber vom Anwender mit Hilfe des lesskey-Kommandos beliebig neu definieren.

Links

Dateien

Man-Pages

Intern

Weblinks

  1. http://www.greenwoodsoftware.com/less

Kontrollfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5