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 spaziatrice
r. 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