Ferramentas do usuário

Ferramentas do site


utils:more

more

more é um paginador de terminal, originário do UNIX.

História

O comando more surgiu no 3.0BSD, por estudantes da universidade de Berkeley (originalmente criado por Daniel Halbert, em 1978). O comando foi gradualmente aprimorado ainda nesse sistema e depois se espalhou para outros UNIX, e depois até mesmo para sistemas não UNIX.

O programa inicialmente tinha algumas limitações, como não navegar em sentido reverso. Isso fez com que perdesse a popularidade para o programa less, que tinha essa e outras capacidades adicionais. No entanto, more virou parte do padrão POSIX, tendo em parte o padrão se baseado em less, e hoje less é uma das implementações possíveis de more (vide seção de Implementações).

Padronização

O paginador more é parte do padrão POSIX. Presente nas seguintes revisões:

Implementações

Em alguns sistemas tipo UNIX é comum que o paginador more seja apenas uma referência à ferramenta less, com opções de compatibilidade com o padrão. Por este motivo, a lista de implementações abaixo fica bem restrita:

less (aqui usado como more):

Nesse sentido, less pode ser entendido como uma das implementações de more, desde que usado em modo de compatibilidade (isto é, com o uso da variável de ambiente LESS_IS_MORE, ou com o uso de um link simbólico para less cujo nome seja “more”). Para mais informações, vide less.

Cabe dizer também que no OpenBSD há uma página de manual dedicada ao uso de less em modo de compatibilidade com more:

Existem algumas diferenças quanto ao nível de aderência dessas implementações ao padrão POSIX, sendo o modo de compatibilidade do less um dos mais aderentes (sobretudo se considerarmos o suporte a ctags).

Além dos sistemas aderentes (totalmente ou parcialmente) ao padrão POSIX, outros sistemas também possuem o paginador more, com algumas diferenças inevitáveis de implementação, mas com relativa semelhança.

Noções básicas

Para aprender a usar o more, vamos começar detalhando alguns conceitos comuns da sua terminologia:

Avançar e Retroceder

O principal benefício de um paginador de terminal é o fato de que o texto a ser lido não precisa caber por inteiro na tela do terminal. Ele apresenta o texto inteiro, se couber, mas caso não caiba, ele mostra apenas uma parcela do texto, e você pode avançar ou retroceder no texto, isto é, visualizar linhas “abaixo” ou “acima” da parte que está visível na tela.

Ao contrário do que pode parecer, avançar é um recurso mais básico e mais simples do que retroceder, e nem todos os terminais (ou emuladores de terminais) são capazes de oferecer a operação de retrocesso, obrigando um recarregamento do arquivo desde o início. Essa limitação também era comum nas primeiras versões de more, o que fez com que o programa less ganhasse mais popularidade.

Há diferentes maneiras de avançar e de retroceder. O movimento pode ser feito por páginas, por linhas ou por grupos de linhas, e pode ainda ser feito via rolagem ou via redesenho. Há ainda a possibilidade de mudar para pontos diferentes do texto fazendo pesquisas por termos ou navegando para locais previamente marcados. E ainda existe também a navegação para um ponto especificado (seja pelo número da linha ou por um percentual em relação ao tamanho total do arquivo).

Anterior e Próximo

Ao ser chamado, o programa more pode receber como argumentos um ou mais arquivos de texto que serão abertos para a leitura paginada. Caso haja mais de um, a paginação dos arquivos é separada (isto é, os arquivos não são concatenados e lidos em sequência). Ao terminar a leitura de um arquivo, é apresentado um prompt para que se passe para o próximo arquivo da lista, ou encerrar o programa, caso não haja mais nenhum.

É possível também acionar comandos internos do paginador more, para navegar de volta para o arquivo anterior, ou pular o arquivo atual e passar para o próximo da lista.

Capacidades do terminal

Comando

Editor

Examinar

Linhas e Colunas

Marcador

Página

Pesquisa

Posição

Prompt

Redesenho

Rolagem

Tags

Iniciando e encerrando

utils/more.txt · Última modificação: 2024/11/16 23:28 por hrcerq