Aprenda por que o comando ‘less’ é mais rápido que o comando ‘more’ para navegação efetiva de arquivos

More é um comando *nix usado para exibir o conteúdo de um arquivo em um console. O uso básico do comando more é executar o comando em um arquivo conforme mostrado abaixo:

Leia também: Aprenda a Diferença Entre os Comandos ‘cat’ e ‘tac’ com Exemplos

Aprenda o Comando ‘more’ do Linux

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

Outra maneira de usar o comando more em conjunto (pipe) com outros comandos, como o comando cat, como apresentado no exemplo abaixo:

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

Para navegar pelo arquivo linha por linha, pressione a tecla Enter ou pressione a tecla Barra de Espaço para navegar uma página por vez, sendo a página o tamanho atual da tela do seu terminal. Para sair do comando, basta pressionar a tecla q.

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

Também é possível exibir uma página a partir de um número de linha específico usando a opção +número conforme ilustrado abaixo:

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

Aprenda o Comando ‘less’ do Linux

Semelhante ao more, o comando less permite visualizar o conteúdo de um arquivo e navegar pelo arquivo. A principal diferença entre more e less é que o comando less é mais rápido porque não carrega o arquivo inteiro de uma vez e permite a navegação pelo arquivo usando as teclas de página para cima/para baixo.

Pode ser usado como um comando independente emitido contra um arquivo ou usado com tubos com uma multitude de comandos do Linux para encolher a saída do terminal, permitindo que você role pelos resultados.

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

Você pode navegar pelo arquivo linha a linha pressionando a tecla Enter. A navegação de página pode ser manipulada com a tecla spacebar. O tamanho da página é representado pela tela do terminal atual. Para sair do comando, digite a tecla q, da mesma forma que para o comando more.

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

Para exibir um arquivo começando em uma linha específica, use a seguinte sintaxe:

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

Se você precisar rastrear o número de todas as linhas com o comando less, use a opção -N.

# 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

Por padrão, a única maneira de sair do comando less é pressionar a tecla q. Para mudar esse comportamento e sair automaticamente do arquivo quando alcançar o final do arquivo, use a opção -e ou -E:

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

Para abrir um arquivo no primeiro localização de um padrão, use a seguinte sintaxe:

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

O comando acima diz ao less abrir o arquivo auth.log na primeira ocorrência da string sshd.

Para acrescentar automaticamente o conteúdo de um arquivo aberto no comando less, use a combinação de teclas Shift+f ou execute o less com a seguinte sintaxe.

# less +F /var/log/syslog

Isso faz o less executar no modo interativo (ao vivo) e exibir o novo conteúdo em tempo real enquanto espera por novos dados serem escritos no arquivo. Este comportamento é semelhante ao comando tail -f.

Em combinação com um padrão, você pode assistir ao arquivo de log interativamente com a tecla Shift+f enquanto procura por uma palavra-chave. Para sair do modo ao vivo, basta pressionar as teclas Ctrl+c.

# less +/CRON /var/log/syslog

Independentemente de decidir usar more ou less, o que é uma escolha pessoal, lembre-se de que less é mais com mais recursos.

Leia também: Gerenciar Arquivos de Forma Eficiente Usando os Comandos head, tail e cat

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