Terminal de comandos: ¡Cómo hacer más en menos tiempo!
Algo que heredó el kernel de Linux fue la interfaz de línea de comandos (shell en inglés): en Unix® era llamado Bourne Shell (escrito por el Sr. Stephen Bourne) y es llamado Bash en el sistema del pingüinito, sigla en inglés de Bourne-again shell, algo así como “renacimiento de la terminal”, jugando con el apellido del famoso informático. ¡Veamos hoy la Terminal de Comando en Linux!
Resulta ser que todos los días y a cada momento prácticamente usamos un Terminal de Comandos. ¿Cómo es esto posible?
Casi una Terminal de Comandos
Estrictamente hablando, todo software que nos permita introducir órdenes es una Terminal de Comandos, pero es que todo dato que introducimos (o, mejor dicho, que tecleamos) emula el comportamiento primigenio. La principal diferencia estriba en que, generalmente, no presionamos la tecla INTRO ni tenemos un inductor o prompt… ¿Y qué diantres es todo esto?
Para simplificar hemos empleado el concepto de Terminal de Comando para englobar varias definiciones. No olvidéis entonces a qué nos referimos cuando os decimos Terminal de Comandos ;-).
Terminal de comandos en la práctica
Cada vez que empleamos un programa cualquiera, a menos que sea un videojuego, necesitaremos introducir información mediante nuestro teclado. Claro, esto cada día es menos utilizado porque ya podemos dictar a nuestros ordenadores y que escriban por nosotros y gracias a la interfaz gráfica de los modernos sistemas operativos bastará muchas veces con un dispositivo apuntador (ratón o nuestros dedos en una pantalla táctil) o el uso de ambos métodos.
Pero si queremos finalizar rápidamente con nuestro trabajo nada mejor que teclear. Lo que os nombraremos es útil tanto para introducir datos como para una Terminal de Comandos:
- Nuestras pantallas tienen un límite de anchura, esa sería nuestra línea de trabajo.
- Ya en esa línea, indicada por un cursor, podemos comenzar a escribir. Cada palabra está separada una de otra por uno o más espacios. La manera rápida de ir atrás o hacia adelante a cada una de ellas para corregir o añadir algo es con las teclas CONTROL de vuestro teclado (en la esquina inferior izquierda de la mayoría de los teclados), más la flecha izquierda o derecha de nuestro teclado. Esta combinación se denota como CTRL+← o CTRL+→, respectivamente.
- Así mismo tenemos una tecla dedicada a ir al principio de línea, Inicio, y su contraparte, Fin.
¡Vamos, soltad el ratón y atreveos! Trabajar de esta manera, solamente con el teclado, puede parecer intimidatorio, pero solo es cuestión de practicar un poco. ¡Es como andar en bicicleta! Una vez lo probemos y aprendamos ya no podremos vivir sin ellas.
Abrir una Terminal de Comandos
Para practicar la anterior sección, dependiendo de vuestra distribución Linux, generalmente con las combinaciones de teclas CTRL+ALT+T será más que suficiente. Pero si realmente queréis avanzar, con ALT+F2 podréis invocar vuestra Terminal de Comandos favorita -casi siempre cada Interfaz gráfica incluye la suya, además de Bash-, incluyendo el poderoso GNU Emacs, un editor de textos que permite realizar macros que aligeran nuestro trabajo en la Terminal de Comandos (escribimos menos y hacemos más).
Un comando muy utilizado es ls el cual permite listar ficheros y directorios; al introducir este comando y presionar Intro ya quedará grabado en nuestro historial de órdenes emitidas (correctas o no). Con la fecha arriba o abajo podremos “navegar” y reutilizar los comandos o líneas completas. Otro comando muy usado en la monitorización es ping el cual sirve para probar la conectividad entre dos equipos; en cuanto a mi editor de texto favorito es nano; en la siguiente figura ejecutamos los tres comandos:
Con unas flechas en color rosado destacamos el comando history en este caso con el parámetro numérico para ver las tres últimas órdenes y sus números identificadores: pues fijaros en estos dígitos y colocando como prefijo el símbolo de cierre de admiración más el número deseado podremos ejecutar de nuevo dicha línea previa. ¡No más olvido para nuestra rutina diaria!
Que vamos, que somos de lo más olvidadizos
La verdadera potencia de la Terminal de Comandos en Linux consiste en que un comando puede entregarle a otro sus resultados; esto es llamado STDIN, STDOUT y si ocurre error STDERR. Los tres conforman la Entrada Estándar; otra vez vayamos a la práctica:
history 3 | grep ls
Aquí el comando history entrega las tres últimas líneas al comando grep el cual a su vez filtra y muestra solamente las líneas que contienen esa cadena de caracteres. Esto es útil para ayudar a recuperar nuestras órdenes.
Ya vimos que !+n permite ejecutar la línea deseada; con !! repetiremos la última línea… ¿Pero acaso con flecha arriba e intro hacemos lo mismo? Pues sí, pero aquí viene lo interesante con un ejemplo: si olvidamos ejecutar un comando como superusuario o root simplemente introducimos sudo !! de manera más rápida. ¿A que le vais agarrando el gusto a esto?
También con CTRL+R podéis buscar de manera interactiva: escribid unas cuantas letras y os devolverá la última línea que contenga esas letras; presionando CTRL+R de nuevo veréis la anterior coincidente y así sucesivamente (sobre la marcha incluso podréis borrar con la tecla ⌫ Retroceso o agregar más caracteres a la búsqueda). Una vez ubicada la línea deseada, pulsáis la tecla Esc y podréis editar y reutilizar el comando; con CTRL+G cancelamos la búsqueda y restauramos la línea actual.
“Copiar y pegar” es una acción familiar para todo aquel que haya tocado una computadora; para ello primero se debe aprender a seleccionar un texto. En la interfaz gráfica podemos seleccionar mediante presionar SHIFT+CTRL+FLECHA y presionar CTRL+X para cortar y CTRL+C para copiar. En la Terminal de Comandos hay comandos mucho más eficientes:
- CTRL+U: para cortar desde el cursor hasta principio de la línea.
- CTRL+K: para cortar desde el cursor hasta el fin de la línea.
- CTRL+W: para cortar una palabra a la izquierda.
- CTRL+Y: para pegar lo que haya en memoria.
- CTRL+_: para rehacer la última acción.
- CTRL+C: cancela la edición o el comando en ejecución.
Pandora FMS
Pasamos entonces a explicaros cómo utiliza Pandora FMS la Interfaz de Línea de comandos: con un fichero realizado en lenguaje Perl podremos crear guiones que ejecuten nuestros comandos más comunes, tales como creación y modificación de agentes, módulos, alertas, etc. La sintaxis general la comprenderemos rápidamente con lo que hemos explicado sobre la Entrada Estándar:
perl pandora_manage.pl
Y ahora que conoces mejor la Terminal de Comandos y su historia, ¿qué tal si dedicas unos minutos a probarla en Pandora FMS? O, si quieres ir directo al grano, también puedes descubrir qué es y qué puede ofrecerte Pandora FMS, entrando aquí: https://pandorafms.org/es/producto/funcionalidades-monitorizacion/
O también puedes enviar cualquier consulta que tengas acerca de Pandora FMS para más de cien dispositivos. Hazlo de una manera muy sencilla, gracias al formulario de contacto que se encuentra en la siguiente dirección: https://pandorafms.com/es/contactar/
¡El equipo de Pandora FMS estará encantado de atenderte!
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.