Erfahren Sie, warum ‚less‘ schneller ist als der ‚more‘-Befehl für eine effektive Dateinavigation

Mehr ist ein *nix Befehlszeilenbefehl, der den Inhalt einer Datei in einer Konsole anzeigt. Die grundlegende Verwendung des Befehls mehr besteht darin, den Befehl gegen eine Datei auszuführen, wie unten gezeigt:

Weiterlesen: Unterschied zwischen den Befehlen „cat“ und „tac“ mit Beispielen lernen

Lernen Sie den Linux-Befehl „mehr“

# more /var/log/auth.log
View Contents of auth.log File
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:02 tecmint CRON[7435]: pam_unix(cron:session): session closed for user root
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
....

Eine weitere Möglichkeit, den Befehl mehr in Verbindung (Pipe) mit anderen Befehlen wie dem cat-Befehl zu verwenden, wie im folgenden Beispiel dargestellt:

# cat /var/log/auth.log | more
View and Navigate Contents of File

Um durch die Datei zeilenweise zu navigieren, drücken Sie die Eingabetaste oder drücken Sie die Leertaste, um eine Seite auf einmal zu navigieren, wobei die Seite die Größe Ihres aktuellen Terminalbildschirms ist. Um den Befehl zu beenden, drücken Sie einfach die q-Taste.

A useful option of more command is the -number switch which allows you to set the number of line a page should contain. As an example display the auth.log file as a page of 10 lines:

# more -10 /var/log/auth.log
Show Only First 10 Lines of File

Sie können auch eine Seite ab einer bestimmten Zeilennummer mit der Option +Nummer anzeigen, wie unten dargestellt:

# more +14 /var/log/auth.log
Show Only First 14 Lines of auth.log File
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
Apr 12 12:16:01 tecmint mate-screensaver-dialog: gkr-pam: unlocked login keyring
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session closed for user root
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session closed for user root
Apr 12 12:25:01 tecmint CRON[8107]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:25:01 tecmint CRON[8108]: pam_unix(cron:session): session opened for user root by (

Lernen Sie den Linux-Befehl „weniger“

Ähnlich wie mehr ermöglicht der weniger Befehl das Anzeigen des Inhalts einer Datei und das Navigieren durch die Datei. Der Hauptunterschied zwischen mehr und weniger besteht darin, dass der weniger Befehl schneller ist, da er die gesamte Datei nicht auf einmal lädt und die Navigation durch die Datei mit den Seiten hoch/runter Tasten ermöglicht.

Es kann als eigenständiger Befehl gegen eine Datei ausgeführt oder mit Pipes mit einer Vielzahl von Linux-Befehlen verwendet werden, um ihre Bildschirmausgabe zu verengen, sodass Sie durch die Ergebnisse scrollen können.

# less /var/log/auth.log
# ls /etc | less

Sie können durch die Datei zeilenweise navigieren, indem Sie die Eingabetaste drücken. Die Seitenavigation kann mit der Leertaste erfolgen. Die Seitengröße wird durch die aktuelle Größe Ihres Terminalbildschirms dargestellt. Um den Befehl zu beenden, geben Sie q ein, genauso wie beim Befehl more.

A useful feature of less command is the use of /word-to-seach option. For instance you can search and match all sshd messages from a log file by interactively specifying the /sshd string.

View File Content Using less Command

Um eine Datei ab einer bestimmten Zeilennummer anzuzeigen, verwenden Sie die folgende Syntax:

# less +5 /var/log/auth.log

Wenn Sie mit dem less-Befehl die Nummer jeder Zeile verfolgen müssen, verwenden Sie die Option -N.

# less -N /var/log/daemon.log
Show Number for Every Line in File
      1 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
      2 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
      3 Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
      4 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
      5 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
      6 Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
      7 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
      8 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
      9 Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
     10 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
     11 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root

Standardmäßig ist der einzige Weg, um den less-Befehl zu beenden, die q-Taste zu drücken. Um dieses Verhalten zu ändern und die Datei automatisch zu beenden, wenn das Dateiende erreicht ist, verwenden Sie die Optionen -e oder -E:

# less -e /var/log/auth.log
# less -E /var/log/auth.log

Um eine Datei beim ersten Vorkommen eines Musters zu öffnen, verwenden Sie die folgende Syntax:

# less +/sshd /var/log/auth.log
Show Given Matching String in File
Apr 12 16:19:39 tecmint sshd[16666]: Accepted password for tecmint from 192.168.0.15 port 41634 ssh2
Apr 12 16:19:39 tecmint sshd[16666]: pam_unix(sshd:session): session opened for user tecmint by (uid=0)
Apr 12 16:19:39 tecmint systemd-logind[954]: New session 1 of user tecmint.
Apr 12 16:19:48 tecmint sshd[16728]: Received disconnect from 192.168.0.15: 11: disconnected by user
Apr 12 16:19:48 tecmint sshd[16666]: pam_unix(sshd:session): session closed for user tecmint
Apr 12 16:20:01 tecmint CRON[16799]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:20:02 tecmint CRON[16799]: pam_unix(cron:session): session closed for user root
Apr 12 16:25:01 tecmint CRON[17026]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:25:01 tecmint CRON[17025]: pam_unix(cron:session): session opened for user root by (uid=0)

Der obige Befehl teilt less mit, die Datei auth.log beim ersten Treffer des Strings sshd zu öffnen.

Um den Inhalt einer in less geöffneten Datei automatisch anzuhängen, verwenden Sie die Tastenkombination Shift+f oder führen Sie less mit der folgenden Syntax aus:

# less +F /var/log/syslog

Dadurch wird less im interaktiven Modus (live) ausgeführt und zeigt neuen Inhalt sofort an, während auf das Schreiben neuer Daten in die Datei gewartet wird. Dieses Verhalten ist ähnlich dem Befehl tail -f.

In Kombination mit einem Muster können Sie die Protokolldatei interaktiv mit der Shift+f-Tastenkombination überwachen, während Sie ein Schlüsselwort abgleichen. Um den Live-Modus zu verlassen, drücken Sie einfach die Tastenkombination Strg+c.

# less +/CRON /var/log/syslog

Ob Sie sich für mehr oder weniger entscheiden, was eine persönliche Wahl ist, denken Sie daran, dass weniger mehr mit mehr Funktionen ist.

Weitere Informationen: Dateien effektiv verwalten mit den head-, tail- und cat-Befehlen

Source:
https://www.tecmint.com/linux-more-command-and-less-command-examples/