La utilidad more es adecuada para la visualización página a página de archivos en el terminal de Linux. Debe su nombre a more, que aparece al final de cada página. El comando more linux es uno de los comandos más primitivos para trabajar con texto. Su pariente más cercano, el comando less, tiene un conjunto mucho mayor de opciones y características adicionales. Veamos su sintaxis y ejemplos de uso.
En el emulador de terminal de Linux, el comando se escribe de la siguiente manera:
$ more options_file
Lista de opciones del comando:
-d
- mostrar información al final de la página sobre las teclas utilizadas para continuar, finalizar o recibir instrucciones;-l
- ignorar el carácter de salto de página en el texto;-f
- contar el número de líneas lógicas en lugar de líneas de pantalla;-p
- despejar la pantalla del terminal para que el usuario no tenga que desplazarse antes de que se muestre la siguiente porción de texto;-c
- eliminar la necesidad de desplazarse (como -p) - mostrar el texto empezando por la parte superior de la pantalla y borrar la salida anterior línea a línea;-s
- sustituir varias líneas vacías seguidas por una sola línea vacía;-u
- eliminación del subrayado;-n
- mostrar el n-ésimo número de líneas;+n
- mostrar el texto a partir de la línea con el número n;+/leght
- buscar la línea especificada en el fichero y empezar a mostrar el texto a partir de ella;--help
- llamar a la ayuda;-v (--version)
- muestra la versión actual de la utilidad.El comando more también tiene sus propias teclas de acceso rápido y comandos interactivos:
h (?)
- ayuda (sólo muestra información sobre comandos interactivos);SPACE
- muestra la siguiente porción de texto (por defecto, el número de líneas depende del tamaño actual de la ventana del terminal);z
- lo mismo que ESPACIO;ENTER
- muestra el texto línea por línea (paso de comando - una línea);d (^D)
- desplazar el texto el número de líneas correspondiente al tamaño del terminal;q (Q)
- salir de la utilidad;s
- avanzar una líneaf
- avanzar una página de pantallab (^B)
- retroceder una página de pantalla;'
- volver al lugar donde se inició la búsqueda;=
- mostrar el número actual de líneas;/pattern
- buscar utilizando expresiones regulares;n
- buscar palabras y frases correspondientes a la última expresión regular utilizada;!command (:command)
- ejecución de un comando en un sub-shell;v
- abrir el archivo en el editor de texto asignado por defecto, y si no se encuentra ninguno, utilizar el editor de texto de la consola para abrir el archivo;^L
- borrar de la pantalla todo menos el contenido del fichero;:n
- pasar al fichero siguiente;:p
- pasar al fichero anterior:f
- mostrar el nombre del fichero actual y el número de líneas que contiene;.
- repetir la ejecución del comando anterior.Para visualizar el texto de un fichero, se utiliza el comando :
$ more example-file-for-more-command.txt
También se pueden listar varios nombres de ficheros uno detrás de otro en el comando, separándolos con un espacio. El contenido de estos ficheros se mostrará en el mismo orden.
Ejemplo:
$ more abc1.txt dfg2.txt
Si un fichero no se encuentra en el directorio actual, debe especificar su dirección completa.
A veces es necesario mostrar no todo el texto, sino sólo una parte. Para estos casos se ofrecen las opciones - (menos) y + (más), junto a las que se especifica el número de líneas. Por ejemplo, para ver el contenido de un archivo a partir de la línea 8, debe añadirse al comando la opción +8
, y para que el comando muestre el resultado formado por un máximo de 5 líneas, debe añadirse la opción -5
:
$ more +8 -5 example-file-for-more-command.txt
Por defecto, el comando more Linux cuenta como línea exactamente la línea de pantalla - el número de caracteres que caben en una fila a lo ancho de la ventana. Para realizar el recuento en cadenas lógicas (al teclear, se separan pulsando Intro), se utiliza la opción -f
.
Ejemplo:
$ more -f +8 -5 example-file-for-more-command.txt
more puede manejar no sólo ficheros de texto - la salida de otros comandos puede ser redirigida a él (pipelining). El primero es el comando principal, el segundo es more
con las opciones requeridas. Los comandos están necesariamente separados por una línea vertical.
Ejemplo:
$ locate bin | more -10
Cuando un comando ha dado salida a una parte del texto y está inactivo esperando más acciones del usuario, se pueden ejecutar comandos interactivos. Son necesarios para controlar la salida.
Para saber el número de la línea actual, hay que pulsar la tecla =
, y para ver el archivo en un editor de texto hay que pulsar la tecla v.
Tenga en cuenta que no todos los comandos pueden ejecutarse si la salida de otro comando se redirige a la utilidad. Abrir un editor de texto, así como retroceder una página (b o ^B) sólo funciona cuando se visualizan archivos de texto.
Para obtener una lista de todos los comandos interactivos, pulse la tecla h
.