Aflați de ce mai puțin este mai rapid decât mai mult Comandă pentru o navigare eficientă a fișierelor


Mai multe este o linie de comandă *nix folosită pentru a afișa conținutul unui fișier într-o consolă. Utilizarea de bază a comenzii more este de a rula comanda pe un fișier, așa cum se arată mai jos:

Aflați comanda Linux „mai multe”.

# more /var/log/auth.log
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
....

Un alt mod de a utiliza comanda more împreună (pipe) cu alte comenzi, cum ar fi comanda cat, așa cum este prezentat în exemplul de mai jos:

# cat /var/log/auth.log | more

Pentru a naviga prin fișier, linie cu linie, apăsați tasta Enter sau apăsați tasta Spațiu pentru a naviga câte o pagină, pagina având dimensiunea actuală a ecranului terminalului. Pentru a ieși din comandă, trebuie doar să apăsați tasta q.

O opțiune utilă pentru mai multe comenzi este comutatorul -number care vă permite să setați numărul de rânduri pe care ar trebui să o conține o pagină. Ca exemplu, afișați fișierul auth.log ca o pagină de 10 linii:

# more -10 /var/log/auth.log

De asemenea, puteți afișa o pagină începând de la un anumit număr de linie folosind opțiunea +număr, așa cum este ilustrat mai jos:

# more +14 /var/log/auth.log
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 (

Aflați comanda Linux „mai puțin”.

Similar cu comanda more, less vă permite să vizualizați conținutul unui fișier și să navigați prin fișier. Principala diferență între more și mai puțin este că comanda less este mai rapidă, deoarece nu încarcă întregul fișier deodată și permite navigarea prin fișier folosind tastele sus/jos pentru pagină.

In poate fi folosit ca o comandă autonomă emisă împotriva unui fișier sau utilizat cu conducte cu o multitudine de comenzi Linux pentru a restrânge rezultatul ecranului, permițându-vă să defilați printre rezultate.

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

Puteți naviga prin linia de fișier cu linie apăsând tasta Enter. Navigarea în pagină poate fi gestionată cu tasta spacebar. Dimensiunea paginii este reprezentată de dimensiunea actuală a ecranului terminalului. Pentru a ieși din comandă, tastați q, la fel ca pentru mai multe comenzi.

O caracteristică utilă a comenzii less este utilizarea opțiunii /word-to-seach. De exemplu, puteți căuta și potrivi toate mesajele sshd dintr-un fișier jurnal specificând interactiv șirul /sshd.

Pentru a afișa un fișier care urmărește un anumit număr de linie, utilizați următoarea sintaxă:

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

Dacă trebuie să urmăriți numărul fiecărei linii cu comanda mai puțin, utilizați opțiunea -N.

# less -N /var/log/daemon.log
      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

În mod implicit, singura modalitate de a ieși din comanda less este să apăsați tasta q. Pentru a schimba acest comportament și a ieși automat din fișier când ajungeți la sfârșitul fișierului, utilizați opțiunea -e sau -E:

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

Pentru a deschide un fișier la prima apariție a unui model, utilizați următoarea sintaxă:

# less +/sshd /var/log/auth.log
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)

Comanda de mai sus îi spune mai puțin să deschidă fișierul auth.log la prima potrivire a șirului sshd.

Pentru a adăuga automat conținutul unui fișier deschis în comanda less, utilizați combinația de taste Shift+f sau rulați mai puțin cu următoarea sintaxă.

# less +F /var/log/syslog

Acest lucru face mai puțin pentru a rula în modul interactiv (live) și pentru a afișa conținut nou în timp ce se așteaptă ca date noi să fie scrise în fișier. Acest comportament este similar cu comanda tail -f.

În combinație cu un model, puteți urmări fișierul jurnal în mod interactiv cu ajutorul tastei Shift+f în timp ce se potrivește un cuvânt cheie. Pentru a ieși din modul live, trebuie doar să apăsați tastele Ctrl+c.

# less +/CRON /var/log/syslog

Indiferent dacă decideți să utilizați mai mult sau mai puțin, care este o alegere personală, amintiți-vă că mai puțin înseamnă mai mult cu mai mult Caracteristici.