Ricerca nel sito web

Scopri perché "less" è più veloce del comando "more" per una navigazione efficace dei file


Altro è una riga di comando *nix utilizzata per visualizzare il contenuto di un file in una console. L'utilizzo di base del comando more è eseguire il comando su un file come mostrato di seguito:

Leggi anche: Scopri la differenza tra i comandi "cat" e "tac" con esempi

Impara il comando "more" di Linux

# 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 altro modo per utilizzare il comando more insieme (pipe) con altri comandi, come il comando cat, come presentato nell'esempio seguente:

cat /var/log/auth.log | more

Per navigare nel file riga per riga, premi il tasto Invio o premi il tasto barra spaziatrice per navigare una pagina alla volta, la pagina corrisponde alla dimensione attuale dello schermo del terminale. Per uscire dal comando basta premere il tasto q.

Un'opzione utile del comando more è l'opzione -number che ti permette di impostare il numero di righe che una pagina dovrebbe contenere. Ad esempio, visualizza il file auth.log come una pagina di 10 righe:

more -10 /var/log/auth.log

Inoltre, puoi visualizzare una pagina a partire da un numero di riga specifico utilizzando l'opzione +numero come illustrato di seguito:

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 (

Impara il comando "less" di Linux

Simile a more, il comando meno ti consente di visualizzare il contenuto di un file e navigare all'interno del file. La differenza principale tra more e less è che il comando less è più veloce perché non carica l'intero file in una volta e consente la navigazione attraverso il file utilizzando tasti pagina su/giù.

Può essere utilizzato come comando autonomo emesso su un file o utilizzato con pipe con una moltitudine di comandi Linux per restringere l'output sullo schermo consentendo di scorrere i risultati.

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

Puoi navigare nel file riga per riga premendo il tasto Invio. La navigazione della pagina può essere gestita con il tasto barra spaziatricer. La dimensione della pagina è rappresentata dalla dimensione attuale dello schermo del terminale. Per uscire dal comando digitare il tasto q, allo stesso modo di per ulteriori comandi.

Una caratteristica utile del comando less è l'uso dell'opzione /word-to-seach. Ad esempio, puoi cercare e abbinare tutti i messaggi sshd da un file di registro specificando in modo interattivo la stringa /sshd.

Per visualizzare un file che fissa un numero di riga specifico utilizzare la seguente sintassi:

less +5 /var/log/auth.log

Se hai bisogno di rintracciare il numero di ogni riga con il comando less usa l'opzione -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

Per impostazione predefinita, l'unico modo per uscire dal comando less è premere il tasto q. Per modificare questo comportamento e uscire automaticamente dal file quando si raggiunge la fine del file, utilizzare l'opzione -e o -E:

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

Per aprire un file alla prima occorrenza di un pattern utilizzare la seguente sintassi:

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)

Il comando precedente dice a less di aprire il file auth.log alla prima corrispondenza della stringa sshd.

Per aggiungere automaticamente il contenuto di un file aperto con il comando less utilizza la combinazione di tasti Shift+f o esegui less con la seguente sintassi.

less +F /var/log/syslog

Ciò riduce l'esecuzione in modalità interattiva (live) e la visualizzazione di nuovi contenuti al volo in attesa che i nuovi dati vengano scritti nel file. Questo comportamento è simile al comando tail -f.

In combinazione con un pattern puoi guardare il file di log in modo interattivo premendo il tasto Shift+f mentre corrispondi a una parola chiave. Per uscire dalla modalità live basta premere i tasti Ctrl+c.

less +/CRON /var/log/syslog

Che tu decida di utilizzare più o meno, che è una scelta personale, ricorda che meno è di più con più caratteristiche.

Leggi anche: Gestisci i file in modo efficace utilizzando i comandi head, tail e cat