less in 128 seconds

next:


Skript

intro

less ist ein so genannter Pager: Ein Programm, das Text anzeigen, aber nicht bearbeiten kann. Dieser Text kann entweder aus einer Datei oder aus der Ausgabe eines anderen Programms stammen.

Etliche Programme nutzen standardmäßig less für ihre Ausgabe; entweder generell oder wenn diese nicht komplett auf das Terminal passt.

Die wichtigsten Funktionen von less less sind:

  • das Erfassen der gesamten Ausgabe

  • die Navigation in der Ausgabe

  • und das Suchen in der Ausgabe

[27s]

testuser@learnlinux: ~$ man --help | grep -e --pager=
  -P, --pager=PAGER          use program PAGER to display output

testuser@learnlinux: ~$ systemctl --help | grep -e --no-pager
     --no-pager          Do not pipe output into a pager

testuser@learnlinux: ~$ man systemctl | grep -e SYSTEMD_PAGER, -A2
   $SYSTEMD_PAGER, $PAGER
       Pager to use when --no-pager is not given. $SYSTEMD_PAGER is used if set;
       otherwise $PAGER is used.

testuser@learnlinux: ~$

 

testuser@learnlinux: ~$ less /etc/passwd # file content

testuser@learnlinux: ~$ ls -l /etc | less # pipeline output

 

testuser@learnlinux: ~$ systemctl -t service list-units c\*
  UNIT                  LOAD   ACTIVE SUB     DESCRIPTION
  console-setup.service loaded active exited  Set console font and keymap
  cron.service          loaded active running Regular background program processing daemon

Legend: LOAD   → Reflects whether the unit definition was properly loaded.
        ACTIVE → The high-level unit activation state, i.e. generalization of SUB.
        SUB    → The low-level unit activation state, values depend on unit type.

2 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

testuser@learnlinux: ~$

 

  UNIT                             LOAD   ACTIVE SUB     DESCRIPTION           >
  auditd.service                   loaded active running Security Audit Logging>
  console-setup.service            loaded active exited  Set console font and k>
  cron.service                     loaded active running Regular background pro>
  dbus.service                     loaded active running D-Bus System Message B>
  getty@tty1.service               loaded active running Getty on tty1
  ifupdown-pre.service             loaded active exited  Helper to synchronize >
  keyboard-setup.service           loaded active exited  Set the console keyboa>
  kmod-static-nodes.service        loaded active exited  Create List of Static >
  networking.service               loaded active exited  Raise network interfac>
  ssh.service                      loaded active running OpenBSD Secure Shell s>
  systemd-binfmt.service           loaded active exited  Set Up Additional Bina>
  systemd-journal-flush.service    loaded active exited  Flush Journal to Persi>
  systemd-journald.service         loaded active running Journal Service
  systemd-logind.service           loaded active running User Login Management
  systemd-modules-load.service     loaded active exited  Load Kernel Modules
  systemd-networkd.service         loaded active running Network Configuration
  systemd-random-seed.service      loaded active exited  Load/Save OS Random Se>
  systemd-remount-fs.service       loaded active exited  Remount Root and Kerne>
  systemd-resolved.service         loaded active running Network Name Resolution
  systemd-sysctl.service           loaded active exited  Apply Kernel Variables
  systemd-timesyncd.service        loaded active running Network Time Synchroni>
lines 1-25

 



    Most important less functions:

        • capturing the whole output
        • navigating the output
        • searching in the output


call types

less kann auf unterschiedliche Arten aufgerufen werden:

  • entweder mit einer Datei als Argument

  • oder in einer Pipeline

Optionen können als Argument oder in der Umgebungsvariable LESS angegeben werden. Die Umgebungsvariable hat den Vorteil, dass sie auch dann funktioniert, wenn less nicht direkt vom Benutzer, sondern von anderen Shell-Programmen aufgerufen wird.

testuser@learnlinux: ~$ less -WiNSMR /etc/passwd

testuser@learnlinux: ~$ 

testuser@learnlinux: ~$ 

testuser@learnlinux: ~$ export LESS='-WiNSMR'

testuser@learnlinux: ~$ less /etc/passwd

testuser@learnlinux: ~$ man ls

testuser@learnlinux: ~$

[48s]
actions

Man kann less standardmäßig nicht mit Ctrl-C beenden. Man beendet es mit q.

user@hostname:~$ 

Die wichtigsten Navigationsaktionen in less sind:

  • Scrollen mit den Pfeiltasten und den Bild hoch- / Bild runter-Tasten

  • mit g an den Anfang springen

  • mit G ans Ende springen

  • mit 50g zu Zeile 50 springen

  • mit 50p zu 50% der Zeilen springen

  • und mit 'a zu Markierung a springen

[1:16]

user@hostname:~$ 

Die Suchfunktion in less verwendet standardmäßig reguläre Ausdrücke. Der Suchausdruck wird mit / eingeleitet und mit Enter beendet.

Wenn man nicht nach einem regulären Ausdruck, sondern nach literalem Text suchen will, stellt man dem Text ein ^R voran.

Die Eingabe von n springt zum nächsten, die von N zum vorherigen Treffer.

[1:39]

user@hostname:~$ 

Die Art der Darstellung kann auch noch nach dem Start des Programms konfiguriert werden. Beispielsweise

  • schaltet die Eingabe von -N die Anzeige der Zeilennummern ein oder aus

  • und schaltet die Eingabe von -S den Umbruch überlanger Zeilen ein oder aus

[1:56]

user@hostname:~$ 

Die Tastenkombinationen ma bis mz setzen – nur während der Laufzeit von less – die unsichtbaren Markierungen a bis z, die man mit dem ASCII-Apostroph plus dem jeweiligen Buchstaben anspringen kann.

user@hostname:~$ 
see also

Wie reguläre Ausdrücke funktionieren, wird in diesem Video erklärt.

user@hostname:~$