Secretos de la orden ‘man’ (y otras relacionadas)

Seguramente, de todas las órdenes de la shell, la más usada y mencionada sea man, la cual nos permite leer las páginas del manual de otras órdenes, llamadas al sistema, ficheros de configuración y más. Por ello, creo que pueden ser de utilidad estos dos truquillos para mejorar la experiencia de uso y los beneficios que podemos obtener como resultado de usar esta orden.

Tip 1: Bookmarking (uso de Marcadores, Favoritos o como quieras llamarlos)

Al leer una página larga, frecuentemente olvido algún punto interesante si no lo anoto (o le pongo alguna referencia) a medida que sigo leyendo el resto de la página. Eso nos pasa a muchos y para ello se ha permitido crear marcadores dentro de las páginas man.

Mientras leas una página man, puedes pulsar m seguido de alguna letra para marcar esa posición en la página. Para volver a dicha posición, sólo hay que pulsar ' (comilla simple) seguido de esa letra. Puedes marcar múltiples posiciones en una misma pagina usando distintas letras (aunque sólo sirven caracteres alfabéticos, no símbolos raros, como /, comas, etc). Ten en cuenta que se distingue entre mayúsculas y minúsculas – aunque una vez vi que la página man para less indicaba lo contrario – no recuerdo si era un error en la documentación o un cambio en el comportamiento de esa versión en concreto. Por ejemplo, puedes marcar una posición con la w, y otra totalmente distinta con W. También puedes pulsar '' (dos comillas simples) para ir al marcador que esté más avanzado dentro del texto. Por ej: si tienes 2 marcadores, u en la línea 5 y t, en la 30, al pulsar '' vas a este último.

Las posiciones marcadas se recuerdan solamente durante la sesión actual, (tan pronto como cierres la página, se pierden los marcadores). También, si accidentalmente usas la misma letra para marcar dos posiciones, el marcador más antiguo se sobreescribe, quedando sólo el nuevo.

El caso es que man usa la herramienta less para mostrar las páginas del manual (a menos que metas la pata con la variable $PAGER), y por eso funciona esto. Y como es less el que lo hace funcionar, puedes usarlo con cualquier fichero que estés visualizando mediante dicha orden (less fichero).

Tip 2: Probar las órdenes sin salir de la pantalla de man

El caracter de exclamación ! permite probar las órdenes que estés consultando. Esto permite ejecutarlas sin cerrar la página o abrir otra terminal. Tras la ejecución, pulsa la tecla INTRO y volverás a donde estabas..

De nuevo, esto funciona porque man usa less para mostrar las páginas. Las órdenes que puedes usar en less, (como indica su página man) están basadas en la utilidad more y en el editor de texto vi. Este truco de la exclamación también puede usarse dentro de vi. Prueba esto: abre un fichero en vi, luego pulsa : y después ! y ejecuta ls -l.

La orden de exclamación hace las cosas más fáciles reduciendo el número de pulsaciones que requeire probar una orden y volver a la página del manual. Antes de conocer esto, yo solía probar las órdenes así:

  1. Desde la página man, pulsaba Control+Z, lo que enviaba a man al 2º plano y a mi a la shell.
  2. Probaba las órdenes que hiciera falta.
  3. Después, ejecutaba la orden fg, trayendo de nuevo a man al primer plano.
  4. Como hay muchas órdenes que tienen parámentros raros, o a veces quiero probar muchas combinaciones, lo normal es que no me acuerde de todas, y así, tenía que volver a comenzar el ciclo (vuelta al punto nº1, puslar Ctrl-Z, etc), a veces durante varias ocasiones.

Ciertamente, el uso de ! me está facilitando bastante las cosas.


Estos tips los he conocido gracias a un tal Shashank Sharma:

Shashank Sharma is studying for a degree in computer science. He specializes in writing about free and open source software for new users. He is the co-author of Beginning Fedora, published by Apress.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: