O utilitário more é adequado para a visualização página a página de ficheiros no terminal Linux. Ele deve seu nome ao more, que aparece na parte inferior de cada página. O comando linux more é um dos comandos mais primitivos para trabalhar com texto. Seu parente mais próximo, o comando less, tem um conjunto muito maior de opções e recursos adicionais. Vamos dar uma olhada em sua sintaxe e exemplos de seu uso.
No emulador de terminal Linux, o comando é escrito da seguinte forma:
$ more options_file
Lista de opções do comando:
-d
- informa no final da página sobre as teclas usadas para continuar, terminar ou receber instruções;-l
- ignora o carácter de quebra de página no texto;-f
- contar o número de linhas lógicas em vez de linhas de ecrã;-p
- limpar o ecrã do terminal para que o utilizador não tenha de se deslocar antes de ser apresentada a parte seguinte do texto;-c
- eliminando a necessidade de deslocação (como -p) - mostrando o texto a partir do topo do ecrã e apagando a saída anterior linha a linha;-s
- substitui várias linhas vazias numa linha por uma linha vazia;-u
- elimina o sublinhado;-n
- mostra o n-ésimo número de linhas;+n
- mostra o texto a partir da linha com o número n;+/leght
- procura a linha especificada no ficheiro e começa a mostrar o texto a partir dela;--help
- chama a ajuda;-v (--version)
- mostra a versão atual do utilitário.O comando more também tem as suas próprias teclas de atalho e comandos interactivos:
h (?)
- ajuda (mostra informação apenas sobre comandos interactivos);SPACE
- mostra a próxima porção de texto (por defeito, o número de linhas depende do tamanho atual da janela do terminal);z
- o mesmo que SPACE;ENTER
- mostra o texto linha a linha (passo de comando - uma linha);d (^D)
- percorre o texto pelo número de linhas correspondente ao tamanho do terminal;q (Q)
- sair do utilitário;s
- avança uma linha;f
- avança uma página do ecrã;b (^B)
- recua uma página do ecrã;'
- regressa ao local onde a pesquisa começou;=
- mostra o número atual de linhas;/pattern
- pesquisa utilizando expressões regulares;n
- pesquisa por palavras e frases correspondentes à última expressão regular utilizada;!command (:command)
- execução de um comando numa sub-shell;v
- abre o ficheiro no editor de texto atribuído por predefinição e, se não for encontrado nenhum, utiliza o editor de texto da consola para abrir o ficheiro;^L
- apaga tudo do ecrã, exceto o conteúdo do ficheiro;:n
- passa para o próximo ficheiro;:p
- passa para o ficheiro anterior;:f
- mostra o nome do ficheiro atual e o número de linhas nele contidas;.
- repete a execução do comando anterior.Para visualizar o texto de um ficheiro, utiliza-se o comando :
$ more example-file-for-more-command.txt
Também é possível listar vários nomes de ficheiros um após o outro no comando, separando-os com um espaço. O conteúdo destes ficheiros será apresentado pela mesma ordem.
Exemplo:
$ more abc1.txt dfg2.txt
Se um ficheiro não estiver no diretório atual, é necessário especificar o seu endereço completo.
Por vezes é necessário mostrar não todo o texto, mas apenas uma parte dele. Para esses casos, são fornecidas as opções - (menos) e + (mais), ao lado das quais é especificado o número de linhas. Por exemplo, para ver o conteúdo de um ficheiro a partir da linha 8, a opção +8
deve ser adicionada ao comando, e para que o comando mostre o resultado que consiste num máximo de 5 linhas, a opção -5
deve ser adicionada:
$ more +8 -5 example-file-for-more-command.txt
Por predefinição, o comando more Linux conta como uma linha exatamente a linha do ecrã - o número de caracteres que cabem numa linha ao longo da largura da janela. Para realizar a contagem em cadeias lógicas (ao digitar, elas são separadas pressionando Enter), a opção -f
é usada.
Exemplo:
$ more -f +8 -5 example-file-for-more-command.txt
O more pode lidar com mais do que apenas ficheiros de texto - pode redirecionar a saída de outros comandos para ele (pipelining). O primeiro é o comando principal, o segundo é o more
com as opções necessárias. Os comandos são necessariamente separados por uma linha vertical.
Exemplo:
$ locate bin | more -10
Quando um comando tiver produzido uma parte do texto e estiver inativo à espera de outras acções do utilizador, podem ser executados comandos interactivos. Estes são necessários para controlar a saída.
Para saber o número da linha atual, deve premir a tecla =
, e para ver o ficheiro num editor de texto deve premir a tecla v.
Note que nem todos os comandos podem ser executados se a saída de outro comando for redireccionada para o utilitário. Abrir um editor de texto, bem como voltar uma página atrás (b ou ^B) só funciona quando se visualizam ficheiros de texto.
Para obter uma lista de todos os comandos interactivos, prima a tecla h
.