El mejor comando de todo GNU/Linux según yo

Título más que provocativo 😛 y como siempre, comentario muy personal. Pero con un poco de suerte acabando de leer este post, algunos de ustedes tendrán ganas de probarlo de ahora en adelante ;). Ya sé que quieren saber cuál es el nombre del mejor comando, pero todavía no se los voy a decir 😛 Esperen un poco de historia primero.

La magia de internet

Resultado de imagen para como construyen cosas antes de stack overflow

Si no reconocen este símbolo, probablemente no han estado muy envueltos en el mundo del desarrollo de software. Hoy en día, este es un punto de referencia para cualquier tipo de pregunta relacionada no solo con programación, existen muchos temas muy interesantes. (Yo mismo participo bastante en la comunidad de Linux & Unix).

Como es de esperarse, esto conlleva grandes ventajas de productividad, dado que en cuestión de segundos puedes encontrar la solución a un problema que si no hubiese sido solucionado y mostrado en la página, te hubiese tomado horas, o tal vez días, resolver (ojo que esto no es nada malo en absoluto).

El problema

Con estas ventajas de hoy en día, ha surgido un gran problema. El conocimiento se está volviendo atómico. ¿A qué me refiero con esto? Pues acompáñenme en mi deliberación.

El  otro día quise ir a comprar un buen libro de programación en español ( no tenía ningún nombre en la mente, simplemente quería ver si había algo bueno). Como era de esperarse en mi país, no sé si en los suyos sucederá igual, los libros relacionados a computación estaban en el estante más pequeño y escondido de la librería. Es más, estaban tan escondidos que cuando llegué al que tenía el letrero de «Informática», me di con la sorpresa de que eran libros de filosofía. Tuve que preguntar a uno de los muchachos que se encontraban trabajando ahí, me miró extrañado, y me mostró un estante lleno de libros que al parecer no se vendían muy seguido.

Entre algunos de los ejemplares que pude encontrar, había un super moderno Word 2003, PowerPoint 2003, Corel x3… incluso libros de Android y Swift que estaban tan descontinuados que no valía la pena pasar de la portada del libro. No es que esté en contra de dichos libros, pero la verdad es que no me imaginaba comprando alguno de estos, mucho menos leyendo uno hasta el final…

El mayor problema

Pero esto no puede ser una causa… lo dudo mucho en realidad. La razón de esto escapa a lo que se ve a simple vista en las librerías, pero es algo bastante evidente si nos ponemos a reflexionar un poco. Los programadores de hoy, no leen. Esta es una triste realidad, que gracias a la magia del internet, cada vez es más general en todo el mundo.

Es verdad que al ritmo al que crece y se desarrolla la tecnología, conseguir libros es algo complicado, siempre se están renovando los lenguajes, o cambiando los frameworks. ¿Qué podemos hacer al respecto? Pues esta es mi solución personal.

El factor decisivo

A lo largo de los más de 30 años que ha existido el software, ¿qué es eso que nunca ha cambiado en lo más minimo? Simple, el elemento principal, el hombre. Si lo pensamos por un segundo verán a qué me refiero; el hombre siempre ha estado ahí, sin importar el lenguaje; el hombre siempre ha estado ahí, sin importar el hardware. El hombre es quien ha definido los conceptos principales sobre el desarrollo.

Hace algún tiempo compré un libro llamado SISTEMAS OPERATIVOS, un enfoque basado en conceptos de D. M. Dhamdhere. Si bien el libro fue publicado en 2008, muchos de los conceptos me parecen tan relevantes el día de hoy, que considero que gran parte de lo que conozco de sistemas operativos se basa en este bello (y un poco extenso) ejemplar.

¿Como afecta esto?

Bueno, toda esta explicación ha tenido un motivo y razón de ser. Mi comando favorito ha sido marginado durante muchos de estos últimos años por este nuevo modo de investigar cosas. Porque antes del internet a la escala en la que nos encontramos ahora, tenía que haber una forma de descubrir todos estos pormenores del día a día.

Para todos los curiosos les pido que ejecuten el siguiente commando:

apropos -s 1,2,3,4,5,6,7,8 a

Les garantizo que habrán visto muchas líneas pasar frente a sus ojos. Y para los que no hayan visto absolutamente nada, primero deben correr

mandb

Tras una breve espera podrán realizar el anterior comando y ver la larga lista de información.

man

Para estas alturas del post ya no existe necesidad de ocultar el nombre de mi programa favorito 🙂

Y es que simplemente permítanme citar una pequeña referencia de su misma página de manual

Diseño propio. Christopher Díaz Riveros

Esta sección es bastante interesante, como podemos apreciar, existe una clara definición de los tipos de manuales que existen. Mis favoritos se encuentran en el grupo 8 y el 3. Pero seguramente estarán preguntando, ¿cómo accedo a estas páginas? Muy sencillo, man viene de la mano con dos programas que nos hacen la vida bastante sencilla. aproposwhatis. El primero nos permite buscar referencias dentro de los manuales (título y descripción) y el segundo nos permite buscar todos los tipos de manuales para cada entrada disponible. Pero vamos a poner un ejemplo para hacerlo más didáctico.

apropos

Veamos que sucede al utilizar apropos man:

Diseño propio. Christopher Díaz Riveros

Como pueden ver, la lista es tan grande que no alcanzó mi terminal para mostrar toda. Apropos busca tanto en el título como en la descripción, por lo que usar palabras pequeñas puede ser poco útil dado que genera muchos resultados. Pero siempre es genial si no recordamos exactamente el nombre del comando.

whatis

Como su nombre lo dice, este programa usa el valor de una entrada de programa y te muestra todas las posibles referencias que encuentre. Para mantener el espíritu, vamos a probar el siguiente comando: whatis man

Diseño propio. Christopher Díaz Riveros

Como pueden ver, ahora estamos en un formato mucho más reducido. Esta es una de las mejores partes de whatis, dentro del paréntesis nos indica qué sección de manual está disponible. Como pueden ver, man cuenta con tres entradas: 1, 7 ,1p.

uso

En cualquiera de los casos anteriores, solo basta con ejecutar cualquiera de estos comandos: man 1 man, man 7 man, man lp man.

Diseño propio. Christopher Díaz Riveros

¡Así de sencillo! 🙂 Podrán ver cada una de las respectivas entradas, pero eso no es todo. Man también es bastante útil al momento de estar dentro del manual, vamos a apretar h mientras estamos dentro:

Diseño propio. Christopher Díaz Riveros

Como puede apreciar, man usa less como paginador. Por este motivo, muchos de los comandos de vim serán útiles en man, y así no es necesario aprender nueva sintaxis ( para los que ya conocen vim) al momento de navegar por las pantallas. Si recuerdan mi post sobre el kernel / y son tus amigos 😉

info

info es un pequeño programa que muestra un texto más amigable en algunos programas 😉 va de la mano con man, pero en casos particulares, como muchos de los programas de GNU, info es mucho más detallado (este no es el caso común por cierto).

Pensamientos finales

Este es mi comando favorito y el mejor comando según yo 🙂 Principalmente porque, si nos detenemos a pensar un poco en el asunto, ¿quién mejor que la persona que ha diseñado un programa para explicarte sobre su uso y ventajas? Siempre será mejor la información que llegue de la fuente a cualquier tipo de adaptación (incluso mis posts 😛 ).

Ya se está haciendo costumbre escribir bastante, pero espero que si han llegado hasta aquí, les pique un poco la curiosidad sobre este maravilloso comando que nos entrega todo el conocimiento de linux en nuestros equipos y sin esfuerzos extra 🙂

Para los que hayan podido notar, muchos de estos manuales están en inglés, una maravillosa oportunidad de ayudar al mundo hispano es contactar a los desarrolladores (normalmente el final de la página man) y decirles que desean crear una traducción, muchos de ellos aceptarán encantados. Pero por ahora yo me despido.

Saludos,


5 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Anónimo dijo

    Hola, magnífico artículo

    Una pregunta, ¿cómo accedo a la sección 3, llamadas de la biblioteca (funciones contenidas en las bibliotecas del sistema)?

    Saludos y gracias

    1.    ChrisADR dijo

      Hola 🙂

      Con man 3 programa/función

      La sección 3 normalmente viene con paquetes «-dev» en muchas distribuciones binarias y en la misma documentación de las librerías. Por estos motivos, normalmente vas a necesitar buscar el nombre de la función que desees utilizar en tu programa. Por ejemplo:

      apropos –sections=3 popen

      te va a devolver las dos entradas de manual que tiene la función popen: la 3 (de Linux) y la 3p (de Posix). Todo gran proyecto FOSS (al menos los que debes correr para que tu sistema funcione) cuentan con bastante documentación, pero en proyectos más pequeños puede que estos no existan en lo absoluto.

      siempre es recomendable tomar apropos y whatis como referencia, porque el resultado te indica los manuales disponibles para ese programa o función.

      Saludos

  2.   Mart dijo

    ~ $ man 7
    No manual entry for 7
    (Alternatively, what manual page do you want from section 7?)
    ~$

    …esto me arroja en dicha entrada.No sé si es normal, o faltan más parámetros.

    1.    Mart dijo

      …ya me percaté de mi error. Disculpas…

  3.   Jose Gonzalez dijo

    Excelente post!!