Esbrineu per què menys és més ràpid que més comanda per a una navegació eficaç dels fitxers
More és una línia d'ordres *nix que s'utilitza per mostrar el contingut d'un fitxer en una consola. L'ús bàsic de l'ordre more és executar l'ordre contra un fitxer tal com es mostra a continuació:
Apreneu l'ordre més de 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 ....
Una altra manera d'utilitzar més ordres en conjunció (pipe) amb altres ordres, com ara l'ordre cat, tal com es presenta a l'exemple següent:
# cat /var/log/auth.log | more
Per navegar pel fitxer línia per línia, premeu la tecla Enter
o premeu la tecla Barra espaiadora
per navegar una pàgina a la vegada, sent la pàgina la mida actual de la pantalla del terminal. Per sortir de l'ordre només cal que premeu la tecla q
.
Una opció útil de més comanda és l'interruptor -number
que us permet establir el nombre de línies que ha de contenir una pàgina. Com a exemple, mostreu el fitxer auth.log
com una pàgina de 10
línies:
# more -10 /var/log/auth.log
A més, podeu mostrar una pàgina a partir d'un número de línia específic mitjançant l'opció +número
tal com es mostra a continuació:
# 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 (
Apreneu l'ordre menys de Linux
De la mateixa manera que l'ordre more, less us permet veure el contingut d'un fitxer i navegar pel fitxer. La diferència principal entre més i menys és que menys comanda és més ràpida perquè no carrega tot el fitxer alhora i permet la navegació pel fitxer utilitzant les tecles de pàgina amunt/avall.
In es pot utilitzar com a ordre autònoma emesa contra un fitxer o utilitzar-se amb canonades amb multitud d'ordres de Linux per reduir la sortida de la pantalla que us permetrà desplaçar-vos pels resultats.
# less /var/log/auth.log # ls /etc | less
Podeu navegar per la línia del fitxer prement la tecla Enter
. La navegació per pàgines es pot gestionar amb la tecla spaceba
r. La mida de la pàgina es representa per la mida actual de la pantalla del terminal. Per sortir de l'ordre escriviu la tecla q
, de la mateixa manera que per a més ordre.
Una característica útil de less command és l'ús de l'opció /word-to-seach. Per exemple, podeu cercar i fer coincidir tots els missatges sshd d'un fitxer de registre especificant de manera interactiva la cadena /sshd
.
Per mostrar un fitxer mirant a un número de línia específic, utilitzeu la sintaxi següent:
# less +5 /var/log/auth.log
Si necessiteu rastrejar el nombre de cada línia amb menys comanda, feu servir l'opció -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 defecte, l'única manera de sortir de l'ordre menys és prement la tecla q
. Per canviar aquest comportament i sortir automàticament del fitxer quan arribeu al final del fitxer, utilitzeu l'opció -e
o -E
:
# less -e /var/log/auth.log # less -E /var/log/auth.log
Per obrir un fitxer a la primera ocurrència d'un patró, utilitzeu la sintaxi següent:
# 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)
L'ordre anterior indica menys per obrir el fitxer auth.log a la primera coincidència de la cadena sshd
.
Per afegir automàticament el contingut d'un fitxer obert amb l'ordre less, utilitzeu la combinació de tecles Maj+f
o executeu menys amb la sintaxi següent.
# less +F /var/log/syslog
Això fa menys executar en mode interactiu (en directe) i mostrar contingut nou sobre la marxa mentre s'espera que s'escriguin dades noves al fitxer. Aquest comportament és similar a l'ordre tail -f.
En combinació amb un patró, podeu veure el fitxer de registre de manera interactiva amb la tecla Maj+f
mentre coincideix amb una paraula clau. Per sortir del mode en directe només cal que premeu les tecles Ctrl+c
.
# less +/CRON /var/log/syslog
Tant si decidiu utilitzar més o menys, que és una opció personal, recordeu que menys és més amb més funcions.