Muy buenas lector. Esta página forma parte de la serie de introducción a Linux que te acabo de enlazado. En ella, pretendo abarcar todo lo que necesitas saber, tanto si acabas de aterrar, como si llevas poco tiempo pero deseas sumergirte de lleno en el sistema operativo del pinguino.
Esta página esta dedicada a la terminal o línea de comandos, esa herramienta que, al llegar a Linux, siempre solemos mirar con algo de recelo, y/o procuramos evitar tener que utilizar. Pues bien, si estas líneas, muy pronto te darás cuenta de que, lejos de ser tu enemiga, es y será una gran aliada con la que se te abrirá un gran universo nuevo de posibilidades a la hora de administrar tu sistema.
Créditos Imagen de Cabezera. World Penguin Day | Christopher Michel
Tabla de contenidos:
- Las interfaces de usuario
- La interfaz de línea de comandos o CLI
- La shell CLI o intérprete de comandos
- Bash
- Las terminales TTY
- Los emuladores de terminal
- Como utilizar la consola
- Esto continua
Las Interfaces de Usuario
Antes de nada, siempre es interesante contextualizar las cosas. En el caso que nos ocupa, es interesante conocer el concepto de interfaz de usuario, que no es otra cosa que el medio o método de interacción entre el usuario y la máquina. Se trata de un concepto general, que aplica a todos los sistemas informáticas que requieran de interacción humana.
En el ámbito con que nos ocupa, podemos distinguir entre dos tipos de interfaces de usuario. Por un lado tenemos a la interfaz de línea de comandos o CLI, que es la que vamos a tratar a continuación, y por otro lado tenemos a la interfaz gráfica o GUI.

En la imagen superior tienes una representación de cada una de ellas. Es importante destacar que cuando hablamos de CLI o GUI nos estamos refiriendo a métodos de interacción, no una herramienta o programa informática. De hecho, a la herramienta que posibilita cualquiera de estas formas de interacción se la suele conocer como shell.
Una shell es una herramienta que acepta ordenes o instrucciones por parte del usuario y ejecuta operaciones. En Linux podemos interactuar con multitud de shells diferentes, tanto a nivel de interfaz de línea de comandos, como a nivel de interfaz gráfica.
Hecho este breve paréntesis contextual, vamos a centrarnos en el caso que nos ocupa, que sería la interfaz de línea de comandos, y las diferentes herramientas o lenguajes que posibilitan esta función.
La Interfaz de Línea de Comandos o CLI
La interfaz de línea de comandos, o CLI, por sus siglas en inglés (command-line interface) es un método de comunicación entre usuario y maquina que acepta instrucciones del usuario a través de líneas de texto (siguiendo unas determinadas reglas de sintaxis que puedan ser interpretadas por el sistema operativo).
Es el método que se utilizaba antes de la aparición de las interfaces gráficas o GUI, que sirvió para acercar la informática al gran público, al permitir una interacción del usuario con la maquina mucho más amigable o intuitiva (a costa, obviamente, de una mayor complejidad y consumo de recursos).
Hoy día todos los sistemas operativos se presentan con su propia interfaz gráfica plenamente integrada con el resto del sistema, de modo que hablar de interfaz gráfica o interfaz de línea de comandos, para el común de los usuarios, no tiene cabida.
Aun así, en el caso que nos ocupa, la línea de comandos es algo que está muy impregnado en la cultura linuxera. Y es que, en Linux, al igual que puedes optar por utilizar diferentes entornos de escritorio, también tienes la posibilidad de no disponer de ninguno, y operar directamente a través de la interfaz de línea de comandos (de hecho, algunas distribuciones, como la versión de Ubuntu para servidores, vienen de serie así).
La Shell CLI o Intérprete de Comandos
Como he comentado más arriba, a la herramienta que posibilita la función de interfaz de usuario se la denomina shell. Aplicado en el ámbito de la interfaz de línea de comandos, estaríamos hablando de una shell CLI o interprete de comandos.
En Linux tenemos a multitud de shells o interpretes diferentes. El más conocido de todos probablemente es Bash, debido a que es el que suele venir por defecto en la gran mayoría de distribuciones GNU/Linux, pero también destacan otros como Bourne shell (sh), Korn shell (ksh) o C shell (csh).
Bash
Bash es una herramienta Open Source perteneciente al proyecto GNU, y que fue escrita por Brian Fox. Su nombre es el acrónimo de «Bourne-Again Shell», en referencia a Bourne shell (sh), uno de los primeros interpretes de comandos de Unix. De hecho, Bash hereda muchas propiedades de otras shells como sh, csh o zsh. Actualmente es la interfaz de linea de comando predeterminada en la mayoría de distribuciones GNU/Linux asi como en macOS.
Como ocurre con otras shells de Unix, además de interprete de comandos, Bash es también un lenguaje de scripting. Esto lo hace extremadamente potente para multitud de tareas relacionadas con la administración de sistemas, automatización de tareas, etc
Aunque en su esencia es una Shell de Unix, puede ser portada fácilmente a entornos Windows. Pero en fin, sigamos con más conceptos, que la cosa se va poniendo interesante.
Las Terminales TTY
Las TTY son las diferentes ventanas de terminal que permiten interactuar con el sistema a través del interprete de comandos, fuera de la entorno gráfica (salvo una de ellas, que es la que suele estar reservada para la sesión gráfica).
En la gran mayoría de distribuciones basadas en Debian, como Ubuntu o Linux Mint, existen un total de 7 pantallas TTY, las cuales pueden usarse simultáneamente. En el caso concreto de Debian, la TTY1 hasta la TTY6 son sesiones de interfaz de línea de comandos, mientras que la TTY7 es, de hecho, la interfaz gráfica de usuario. Aún así, el numero puede variar en función de la distribución
Los Emuladores de Terminal
Aparte de la interfaz de línea de comandos que nos ofrece la shell a través de las diferentes terminales TTY, en Linux los propios entornos de escritorio de Linux también permiten utilizar la terminal a través de los emuladores de terminal, o PTS.
Un emulador de terminal es una aplicación que permite virtualizar un interprete de comandos pero dentro de la propia interfaz gráfica. La mayoría de entornos de escritorio en GNU/Linux incorporan su propio emulador de terminal. Tienen la ventaja de posibilitar la interacción a través de la línea de comandos, pero sin necesidad de salir del entorno gráfico.
En la figura de abajo tienes un ejemplo de como se ve el emulador de Terminal de GNOME en Ubuntu.

Existen muchos emuladores de terminal, aparte de los que suelen venir pre-instalados en los principales entornos de escritorio. Algunos de los más conocidos, a parte de los propios de GNOME y KDE, son Guake, Yakuake o Xterm.
Como Utilizar la Consola
En cualquier distribución GNU/Linux tienes básicamente dos maneras de usar la línea de comandos en GNU/Linux: operando directamente con la shell a través de las diferentes terminales TTY, o bien desde el entorno gráfico, utilizando un emulador de terminal (que puede ser el que venga con tu escritorio, o cualquier otro de tu preferencia).
Para acceder a las diferentes sesiones TTY debes utilizar las combinaciones de teclado ‘CTRL+ALT+F1’, para la TTY1, hasta ‘CTRL+ALT+F7’. Para iniciar sesión deberás introducir tu nombre de usuario y contraseña, y a partir de ahí ya puedes empezar a interactuar con el interprete de comandos.
Otra manera más práctica de utilizar la línea de comandos es, como digo al principio, mediante el emulador de terminal desde la propia sesión gráfica. En este caso, basta con acceder a tu aplicación de terminal favorita y listos. No es necesario que inicies sesión aquí, ya que ya reconoce el usuario con el que has iniciado la propia sesión gráfica.
Hay infinidad de cosas que se pueden realizar desde la terminal de Linux, así que en todos los posts de la serie trato de dar cabida al máximo de ellas. Y es que, por muchas posibilidades que ofrezcan los escritorio más modernos con los que contamos en Linux, la terminal es una herramienta enormemente potente, y su conocimiento te brindará un gran abanico de posibilidades.
A continuación te dejo con un listado de posts en los que podrás adentrarte más profundamente en el uso de la consola.
- Como utilizar la consola. Prirmeros pasos
- Como gestionar ficheros y directorios desde la línea de comandos
- Como obtener información del sistema operativo
- Como abrir y escanear el contenido de un archivo
- Como listar y finalizar procesos activos
- Como comparar archivos de texto y ver si son iguales
- Como comprimir y descomprimir archivos
- Como controlar el estado de servicios
Esto Continua
Como indico al principio, esta pagina forma parte de la serie de introducción a Linux y que sirve de punto de partida para todo el contenido relacionado con GNU/Linux que hay y habrá en el blog. A continuación iré enlazando el resto de paginas, a medida que las vaya teniendo preparadas.
- Las distribuciones GNU/Linux
- Opciones para probar e instalar GNU/Linux
- Gestión de disco. Particiones y volúmenes
- El entorno gráfico
- El interprete de comandos
- La gestión de paquetes
- Aplicaciones imprescindibles
- Seguridad en GNU/Linux
- Hardware con GNU/Linux
Espero que lo disfrutes:)