Quando eu faço more filename
e less filename
, parece que os terminais resultantes são bastante semelhantes. Posso navegar e pesquisar nos meus arquivos de forma idêntica (j, Space, /pattern
, etc.).
Acho difícil acreditar que less
seja more
e vice-versa. Existem diferenças entre os dois?
A diferença é principalmente histórica neste momento, acredito que alguns sistemas ainda têm more
e less
vinculados ao mesmo binário.
Originalmente, more
praticamente só permitia avançar em um arquivo, mas era bastante decente para armazenar em buffer a saída.
less
foi escrito como um more
aprimorado que lhe permitia rolar o texto exibido
A primeira linha do meu man less
Praticamente resume tudo:
Less is a program similar to more, but which allows backward
movement in the file as well as forward movement.
less
é muito mais que more
, por exemplo, você tem muito mais funcionalidade:
g: vá para o topo do arquivo G: vá para o final do arquivo /: procure para a frente ?: procure para trás N: mostre número da linha : vá para a linha F: semelhante à cauda -f, pare com ctrl + c S: divida as linhas
E eu não lembro mais ;-)
Além dos recursos extras já mencionados em less
, ele também possui um v comando que abre o arquivo atual em vi
na mesma posição. Quando você sair de vi
, estará de volta em less
com o arquivo (possivelmente atualizado) mostrado.
Há algumas coisas que eu faço o tempo todo em less
, que não funcionam em more
(pelo menos as versões nos sistemas que eu uso. Uma está usando G para ir até o final do arquivo e g para ir ao começo. Isso é útil para arquivos de log, quando você procura entradas recentes no final do arquivo. O outro é a pesquisa, onde less
destaca a correspondência, enquanto more
apenas o leva à seção do arquivo em que a correspondência ocorre, mas não indica onde está.
O Ubuntu ainda possui menos/mais caixas distintas. Pelo menos o meu, ou o comando more
está enviando argumentos diferentes para menos.
De qualquer forma, para ver a diferença, encontre um arquivo que tenha mais linhas do que você pode ver ao mesmo tempo no seu terminal. Digite cat
e, em seguida, o nome do arquivo. Apenas irá despejar o arquivo inteiro. Digite more
e, em seguida, o nome do arquivo. Se no ubuntu, ou pelo menos na minha versão (9.10), você verá a primeira tela, então --More--(27%)
, o que significa que há mais no arquivo, e você já viu 27% até agora. Pressione espaço para ver a próxima página. less
permite mover linha por linha, para frente e para trás, além de pesquisar e um monte de outras coisas.
Basicamente, use less
. Você provavelmente nunca precisará de more
para nada. Eu usei less
em arquivos enormes e parece OK. Eu não acho que isso faça coisas loucas, como carregar a coisa toda na memória (tosse Bloco de notas). Mostrar números de linha pode demorar um pouco, porém, com arquivos enormes.
Menos tem muito mais funcionalidade.
Você pode usar v
para pular para o $ EDITOR atual. Você pode converter para o modo tail -f com f
, bem como todas as outras dicas oferecidas por outros.
Pelo menos nos sistemas que eu usei:
more
sai automaticamente quando você chega ao final do arquivoless
requer que você saia explicitamente.Além disso, menos pode visualizar arquivos compactados/compactados, mais não pode fazer isso.