¿No es menos solo más?

45

Cuando lo haga more filenamey less filename, parecería que los terminales resultantes son bastante similares. Puedo navegar y buscar a través de mis archivos de forma idéntica ( j, Space, /pattern, etc.).

Me resulta difícil creer que lesssea ​​así morey viceversa. ¿Hay alguna diferencia entre los dos?

Zaid
fuente
36
lesses más que more, más o menos, morees menor que less. ;-)
Alan Haggai Alavi
3
@AlanHaggaiAlavi - Eso es un trabalenguas que tienes allí: D
Kent Pawar
3
@AlanHaggaiAlavi Eso debería ser una respuesta. :)
Tripp Kinetics
Esto depende de qué Unix se esté utilizando. En algunos, lessy moreson el mismo ejecutable, mientras que en otros son diferentes.
Kusalananda

Respuestas:

52

La diferencia es sobre todo histórica en este punto, creo que algunos sistemas incluso tienen morey lesshardlinked al mismo binario.

Originalmente, moreprácticamente solo le permitía avanzar en un archivo, pero era bastante decente para almacenar en búfer.

lessfue escrito como una mejora moreque le permitía desplazarse por el texto mostrado

La primera línea de mi man lessprácticamente lo resume:

Less is a program similar to more, but which allows backward 
movement in the file as well as forward movement. 
usuario455
fuente
@jkerian: Dejando de lado la búsqueda de texto y el almacenamiento en búfer, ¿podría mostrar un ejemplo práctico de dónde estos dos difieren en términos de implementación de comandos?
Zaid
14
No veo que sea histórico. Nunca he visto un 'más' que te permitiera moverte en ambas direcciones. solo puedes avanzar en más. el punto histórico sería que más se escribió antes que menos, lo que significa 'ver más de 1 página' y el nombre del comando de less es más una broma sobre menos es más y más es menos, básicamente diciendo que menos podría hacer más cosas.
xenoterracide
1
Tengo un sistema Solaris 10 aquí donde moreactúa como a la antigua: moreno puedes retroceder una página. Y es el PAGER predeterminado. Me vuelve loco ...
Stefan Lasiewski
1
En otras palabras, son los sistemas basados ​​en FreeBSD (¿tal vez todos BSD?) ... ya que OS X se basa en FreeBSD ... El shell predeterminado de @Stefan Solaris sin completar pestañas (¿habilitado?) Me volvió loco.
xenoterracide
77
Más o menos la respuesta correcta.
invierte el
25

lesses mucho más que more, por ejemplo, tiene mucha más funcionalidad:

g: ir al principio del archivo
G: ir al final del archivo
/: buscar hacia adelante
?: buscar hacia atrás
N: mostrar número de línea
: ir a la línea
F: similar a tail -f, pare con ctrl + c
S: líneas divididas

Y no recuerdo más ;-)

Bauna
fuente
3
h: todo lo que no recuerdas;)
törzsmókus
9

Además de las características adicionales ya mencionadas less, también tiene un vcomando que abre el archivo actual en vila misma posición. Cuando salga vi, regresará lesscon el archivo (posiblemente actualizado) que se muestra.

dr-jan
fuente
1
Cuando morees interactivo también puede comenzar vipresionando v.
Troubadour
4

Hay un par de cosas en las que hago todo el tiempo less, que no funcionan more(al menos las versiones en los sistemas que uso. Una se usa Gpara ir al final del archivo y gal principio. Esto es útil para los archivos de registro, cuando busca entradas recientes al final del archivo. La otra es la búsqueda, donde lessresalta la coincidencia, mientras que moresolo lo lleva a la sección del archivo donde se produce la coincidencia, pero no Indicar dónde está.

KeithB
fuente
3

Menos tiene mucha más funcionalidad.

Puede usar vpara saltar al $ EDITOR actual. Puede convertir al modo cola -f con ftodos los demás consejos que ofrece.

geoffc
fuente
3

Ubuntu todavía tiene distintos menos / más contenedores. Al menos el mío lo hace, o el morecomando está enviando diferentes argumentos a menos.

En cualquier caso, para ver la diferencia, busque un archivo que tenga más filas de las que puede ver a la vez en su terminal. Escriba cat, luego el nombre del archivo. Simplemente volcará todo el archivo. Escriba more, luego el nombre del archivo. Si está en ubuntu, o al menos en mi versión (9.10), verá la primera pantalla --More--(27%), lo que significa que hay más en el archivo, y hasta ahora ha visto un 27%. Presione la barra espaciadora para ver la página siguiente. lesspermite moverse línea por línea, adelante y atrás, además de buscar y un montón de otras cosas.

Básicamente, uso less. Probablemente nunca necesitarás morenada. Lo he usado lessen archivos enormes y parece estar bien. No creo que haga locuras como cargar todo en la memoria ( Bloc de notas de tos ). Sin embargo, mostrar números de línea podría llevar un tiempo con archivos enormes.

kāgii
fuente
1
La razón por la que ve este comportamiento es que uno de los parámetros que obtiene un programa al iniciarse es el nombre con el que fue llamado. Si toma el binario "menos" y lo copia o vincula a "más", ejecutarlo a través de "más" cambia su comportamiento porque sabe que debería estar ejecutándose en modo de compatibilidad. En realidad, está sucediendo algo de esto en un sistema Unixy moderno. En algunos sistemas, por ejemplo, mv, cp y rm son todos los mismos binarios, solo cambian el comportamiento dependiendo de cómo se llamó. Un ejemplo extremo de esto es el proyecto Busybox, popular en Linux embebidos.
Warren Young
Los tamaños de archivo para / bin / more y / bin / less son diferentes, y cada uno muestra un solo enlace duro (la columna contiene a 1).
Stefan Lasiewski
2

Al menos en los sistemas que he usado:

  • more se cierra automáticamente cuando llega al final del archivo
  • less requiere que salgas explícitamente.
inetphantom
fuente
1

Además, menos puede ver el archivo comprimido / comprimido, más no puede hacer eso.

Derek R.
fuente