Leer waarom ‘less’ sneller is dan ‘more’ commando voor effectieve bestandsnavigatie

Meer is een *nix-opdrachtregel die wordt gebruikt om de inhoud van een bestand in een console weer te geven. Het basisgebruik van de more-opdracht is om de opdracht tegen een bestand uit te voeren zoals hieronder wordt getoond:

Lees ook: Leer het verschil tussen de ‘cat’ en ’tac’ opdrachten met voorbeelden

Leer de Linux ‘more’ opdracht

# 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
....

Een andere manier om de more-opdracht te gebruiken in combinatie (pijp) met andere opdrachten, zoals de cat-opdracht, zoals hieronder wordt gepresenteerd:

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

Om door het bestand te navigeren regel voor regel, druk op de toets Enter of druk op de toets Spaciebalk om één pagina per keer te navigeren, waarbij de pagina de grootte van uw huidige terminalvenster is. Druk op de toets q om de opdracht te verlaten.

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

Ook kunt u een pagina weergeven die begint vanaf een specifiek regelnummer met de optie +nummer zoals hieronder geïllustreerd:

# 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 (

Leer de Linux ‘less’ opdracht

Vergelijkbaar met more, stelt de less-opdracht u in staat om de inhoud van een bestand te bekijken en door het bestand te navigeren. Het belangrijkste verschil tussen more en less is dat de less-opdracht sneller is omdat het niet het hele bestand in één keer laadt en navigatie door het bestand mogelijk maakt met de pagina omhoog/omlaag toetsen.

Het kan worden gebruikt als een op zichzelf staand commando dat wordt uitgegeven tegen een bestand of gebruikt met pijpen met een veelvoud aan Linux-commando’s om hun schermuitvoer te beperken, zodat je door de resultaten kunt scrollen.

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

Je kunt door het bestand navigeren regel voor regel door op de Enter-toets te drukken. Paginanavigatie kan worden afgehandeld met de spatiebalk. De paginagrootte wordt weergegeven door de grootte van je huidige terminalvenster. Om het commando te verlaten, typ je de q-toets, op dezelfde manier als voor het more-commando.

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

Om een bestand weer te geven, beginnend bij een specifiek regelnummer, gebruik je de volgende syntaxis:

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

Als je het nummer van elke regel wilt achterhalen met het less-commando, gebruik dan de -N-optie.

# 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

Standaard is de enige manier om het less-commando te verlaten door op de q-toets te drukken. Om dit gedrag te wijzigen en het bestand automatisch te verlaten wanneer het einde van het bestand is bereikt, gebruik je de -e of -E-optie:

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

Om een bestand te openen bij de eerste voorkomen van een patroon, gebruik je de volgende syntaxis:

# 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)

Het bovenstaande commando vertelt less om het bestand auth.log te openen bij de eerste overeenkomst van de tekenreeks sshd.

Om automatisch de inhoud van een bestand toe te voegen dat is geopend in het less-commando, gebruik je de toetscombinatie Shift+f of voer less uit met de volgende syntaxis.

# less +F /var/log/syslog

Dit zorgt ervoor dat less in de interactieve modus (live) wordt uitgevoerd en nieuwe inhoud on-the-fly weergeeft terwijl het wacht op nieuwe gegevens die naar het bestand worden geschreven. Dit gedrag is vergelijkbaar met het tail -f-commando.

In combinatie met een patroon kunt u het logbestand interactief bekijken met de toetsaanslag Shift+f terwijl u een trefwoord matcht. Om de live-modus te verlaten, drukt u gewoon op de toetsen Ctrl+c.

# less +/CRON /var/log/syslog

Of u nu more of less besluit te gebruiken, wat een persoonlijke keuze is, onthoud dat less meer is met more functies.

Lees ook: Bestanden Effectief Beheren Met head, tail en cat Commando’s

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