Que Es La Terminal de Linux
Que Es La Terminal de Linux
Que Es La Terminal de Linux
La Terminal de Linux es una consola, similar a CMD o PowerShell (pero mucho más avanzada que
ambas), utilizada para permitir a los usuarios más avanzados y técnicos controlar hasta el más mínimo
detalle del sistema operativo.
Desde esta consola podemos ejecutar todo tipo de binarios, aunque lo suyo es ejecutar aquellos que no
tienen interfaz gráfica y que deben usarse mediante comandos. Igual que en otros sistemas operativos,
podemos ejecutar cualquier binario o script directamente desde su directorio. Además, Linux tiene
también un PATH donde podemos guardar binarios y ejecutarlos sin tener que desplazarnos hasta su
directorio. Por defecto, el PATH de Linux está formado por los siguientes directorios (donde se busca el
comando en orden):
• /usr/local/sbin
• /usr/local/bin
• /usr/sbin
• /usr/bin
• /sbin
• /bin
• /usr/games
• /usr/local/games
• /snap/bin
La terminal de Linux se basa en un lenguaje de scripting conocido como Bash, heredada de sh, la
consola de Unix. Podemos ejecutar scripts desde la consola, ejecutar binarios y realizar todo tipo de
tareas. A diferencia de Windows, Linux cuenta en su terminal una gran cantidad de herramientas muy
avanzadas para administrar y controlar el sistema operativo y muchas de las funciones disponibles a
través de la línea de comandos, no están disponibles a través de la intefaz gráfica, al igual que sucede
tanto en Windows como en Linux.
Todo lo que hacemos desde una interfaz, podríamos hacerlo perfectamente desde la terminal. Aunque
de forma más complicada, larga y menos intuitiva.
Afortunadamente, hoy en día esto ha cambiado, y dentro de este sistema operativo podemos encontrar
excelentes escritorios e interfaces gráficas tan sencillas de usar (e incluso más) que las de Microsoft o
Apple. Pero, a pesar de ello, el pasado sigue persiguiendo al pingüino. De hecho, el uso de Linux es
ideal para equipos antiguos de bajos recursos, equipos que con Windows habían comenzado a dar
síntomas de agotamiento, pero que, con una distribución de Linux ligera, han vuelto a ver la luz al final
del túnel y se pueden utilizar como servidores web, servidores de almacenamiento en la nube, como
servidor de películas entre otras muchas opciones.
Es verdad que muchas de las tareas avanzadas requieren del uso de terminal. Sin embargo, este no es,
ni de lejos, obligatorio. Gracias a los escritorios como GNOME o KDE, cualquier usuario va a poder
hacer de todo usando el ratón, como en cualquier otro sistema operativo. Y, si los escritorios no nos
ofrecen estas posibilidades, siempre habrá programas con los que poder hacer lo que queramos sin
complicarnos. El mismo caso se aplica a Windows y macOS, donde, a través de la interfaz gráfica no es
posible realizar determinadas tareas sin recurrir a aplicaciones de terceros o a la línea de comandos, ya
sea a través de CMD o PowerShell en Windows o Terminal en macOS.
Eso sí, aunque no es obligatorio, si no queremos tener problemas, al menos sí debemos conocer cómo
funciona la terminal de Linux, y cuáles son sus comandos esenciales. De esta forma, en caso de
necesitar recurrir a cualquiera de ellos (por ejemplo, a apt para instalar un programa), sabremos cómo
hacerlo. Además, si tenemos algún problema con el GRUB de arranque, vamos a poder arreglarlo sin
necesidad de volver a instalar ni la partición Linux ni la de Windows, al menos, en la mayoría de los
casos en los que la solución sea relativamente sencilla.
Cómo abrir un Terminal en Linux
Cada distro Linux tiene sus propias peculiaridades, por lo que puede que esto cambie. Nosotros vamos
a usar para los ejemplos Ubuntu, la distro equilibrada entre rendimiento, usabilidad, seguridad y
estabilidad más usada en todo el mundo.
Hay dos formas de llegar al terminal de Ubuntu. La primera de ellas es lanzando un TTY, o espacio de
trabajo sin entorno gráfico. Podemos ejecutar 7 terminales al mismo tiempo de esta forma. De la 1 a la
6, ninguna tiene interfaz gráfica. La única con GUI es la TTY7.
Para cambiar de TTY en Linux, debemos usar el atajo de teclado Control + Alt más la tecla, del F1 al
F7, del TTY que queramos ejecutar.
Y si queremos usar la terminal como tal, podemos encontrar una app dedicada, que se ejecuta en una
ventana, dentro del panel de aplicaciones de nuestra distro. En el caso de Ubuntu, por ejemplo,
podemos encontrar este terminal dentro del cajón de programas del entorno gráfico GNOME.
Comandos básicos para Terminal
Aunque puede parecer complicada de usar, no debemos tener miedo a la consola de Linux. Podemos
usarla desde para administrar las partes más avanzadas del sistema operativo (como los daemon que se
ejecutan junto con systemd), hasta para ejecutar aplicaciones normales.
Cada programa de Linux tiene asociado un nombre, el nombre de su paquete. Por ello, si introducimos
el nombre de dicho paquete en la Terminal (por ejemplo, firefox), podremos ver cómo se nos abre
directamente el navegador. Incluso que abra directamente una página web.
Esto es lo más sencillo y básico de la Terminal. Pero hay también muchos otros comandos esenciales
que debemos conocer y que nos ayudarán a controlar mucho mejor esta consola.
Algo esencial para poder empezar a defendernos con la terminal de Linux es saber cómo movernos por
los distintos directorios. Lo primero que nos llamará la atención es el símbolo ~ que aparece a la
izquierda de los comandos. Este indica el directorio inicial (/home/usuario) donde hemos empezado.
cd
Usando el comando «cd» podemos cambiar de directorio y movernos por todo el árbol de nuestro disco
duro. Podemos ir a la carpeta «Descargas» que hay dentro de «/home/usuario/» ejecutando el comando:
cd Descargas
cd /home/usuario/Descargas
ls
Una vez que estamos en el directorio que queremos, podemos usar el comando «ls» para ver una lista
con todos los archivos que hay en ese directorio.
mkdir
Este comando nos permite crear una nueva carpeta en el directorio en el que estamos ubicados.
Debemos ejecutar este comando seguido del nombre de la nueva carpeta que queremos crear, por
ejemplo:
mkdir software
cp
Con este comando podemos copiar un archivo de un directorio a otro. Podemos usarlo para copiar un
archivo del directorio actual a otro directorio, o introduciendo dos rutas absolutas:
• cp archivo /home/usuario/Documentos
• cp /home/usuario/Descargas /home/usuario/Documentos
Podemos usar este comando para copiar un directorio y todos sus archivos de un lugar a otro. Para ello
debemos usar el parámetro -R de la siguiente manera:
cp -R /home/usuario/Descargas/ /home/usuario/Descargas-Copia/
mv
Este comando funciona igual que el comando cp que acabamos de ver, con la diferencia de que, en vez
de copiar el archivo, lo mueve (es decir, desaparece del origen). Este comando también se puede usar
para cambiar el nombre a un archivo. Simplemente debemos moverlo al mismo directorio con un
nombre diferente. Por ejemplo:
mv archivo1 archivonuevo
mv /directorio-origen/ /directorio-destino/
cat
Cabe mencionar que a la hora de utilizar Linux desde su terminal, este igualmente es uno de sus
comandos más utilizados desde hace años. Y es que para que nos hagamos una idea, el mismo no será
de mucha a ayuda a la hora de listar el contenido de un archivo en la salida estándar que tengamos
configurada en el sistema.
Pero eso no es todo, sino que además nos propone otros usos básicos pero no por ello menos útiles
en Linux. Por tanto, con el fin de poder ejecutar este comando, no tenemos más que teclear el comando
cat seguido del nombre del archivo y su extensión correspondiente. Estos son algunos de los ejemplos
que podemos usar y que nos ayudarán para hacernos una idea de su nomenclatura y modo de uso:
• cat archivo.txt.
• cat > nombre_archivo: para crear un nuevo archivo desde cero.
• cat nombre_archivo1 nombre_archivo2 > nombre_archivo3: aúna los archivos 1 y 2 y por otro
lado almacena su salida en el archivo 3.
rm
Por último, vamos a hablar del comando rm. Este nos permite eliminar cualquier archivo usando rutas
relativas (es decir, un archivo dentro de nuestra ruta actual, que veamos con ls), o rutas absolutas,
moviéndonos hasta el directorio donde se guarda el archivo.
• rm archivonuevo
• rm /home/usuario/Descargas/archivonuevo
rm -rf /home/usuario/directorio
pwd
Este sencillo comando tiene una única (y útil) finalidad: mostrarnos el directorio en el que estamos
trabajando. Muy útil cuando nos hemos desplazado (recordamos, con CD) por varios subdirectorios y
no nos acordamos exactamente en cuál estamos trabajando.
Linux también cuenta con una gran variedad de comandos que nos permiten controlar la mayoría de los
aspectos del sistema operativo. Algunos de los más sencillos y que nos merece la pena conocer son:
• top: un visor de procesos sencillo con el que ver todo lo que se está ejecutando en el sistema.
• kill ID: nos permite matar cualquier proceso desde su identificador.
• killall nombreaplicacion. Con este comando, que debemos acompañar del nombre de la
aplicación, cerraremos todos los procesos relacionados con la aplicación desde la línea de
comandos de una forma muy cómoda y rápida. No confundir con el proceso kill que se utiliza
para cerrar procesos únicamente no aplicaciones.
• ps: muestra todos los procesos en ejecución.
• free: nos muestra información sobre la RAM usada y libre.
Por último, también tenemos algunos comandos para controlar el inicio y apagado del PC:
• halt: detiene todos los procesos del sistema y lo apaga. Es recomendable haber guardado todos
los archivos en los que estemos trabajando en segundo plano si no queremos perder los
cambios.
• shutdown: nos permite apagar el PC en un minuto. Podemos usar el parámetro -R para
especificar el tiempo, en minutos, para apagar el PC. Y con -H now podemos saltarnos el
minuto de espera y apagar el equipo directamente.
• reboot: reinicia el ordenador.
Muchos de estos comandos ofrecen las mismas funcionalidades tanto en Windows a través de
Command Prompt como en macOS haciendo uso de Terminal.
Desde la terminal de Linux también se suelen instalar y desinstalar todo tipo de programas. Aquí sí es
donde cada distro cambia, ya que el gestor de paquetes que viene incluido por defecto en Ubuntu no es
el mismo que podemos encontrar, por ejemplo, en Arch Linux.
En Ubuntu, el gestor de paquetes que encontramos es APT. Con él, desde Terminal, podemos descargar,
instalar, actualizar y eliminar cualquier paquete de software. Las distros vienen con unos repositorios
de software bastante completos, por lo que si conocemos el nombre del paquete podemos instalarlo
fácilmente de la siguiente manera:
Para eliminar un programa instalado, podemos cambiar «install» por «remove» (para eliminar solo los
paquetes) o «purge» (para eliminar el paquete y todas las configuraciones y demás archivos residuales):
Por último, desde la consola también podemos descargar e instalar las últimas actualizaciones para
nuestra distro Linux. Siguiendo el ejemplo de Ubuntu, podemos descargar las últimas actualizaciones
para nuestra versión de Ubuntu (tanto del sistema como de las aplicaciones instaladas) con:
• apt update
• apt upgrade
Y si hay una nueva versión de Ubuntu (de las que salen cada 6 meses), podemos descargarla e instalarla
con los siguientes comandos:
• apt update
• apt do-release-upgrade
Algunas distros pueden usar otros gestores de paquetes, como pacman, o hacernos recurrir
directamente a los instaladores como «dpkg», «yum» y «rpm».
Comandos de red
También podemos usar la Terminal de Linux para realizar consultas y peticiones a través de Internet.
Los comandos más conocidos, utilizados y útiles que podemos encontrar dentro de esta categoría son:
• ifconfig: nos permite ver una lista con todas las direcciones IP de nuestro PC.
• ping [servidor o IP]: envía un ping a un servidor (Google, en nuestro ejemplo), comprueba si
hay respuesta y mide la latencia.
• traceroute: traza la ruta completa desde nuestro PC hasta el servidor.
• whois [servidor]: obtiene información acerca de un dominio (en nuestro caso, Google).
• wget [url]: nos permite descargar el archivo que le especifiquemos en la URL.
• ftp [servidor o IP]: nos permite conectarnos a un servidor FTP.
• iptables: nos permite abrir el administrador del firewall nativo de Linux.
Comando para los procesos
Al igual que sucede en Windows, en las diferentes distribuciones de Linux que podemos instalar en
nuestro equipo son extremadamente importantes los procesos en funcionamiento en ese instante. Su
correcta gestión nos permitirá ahorrar recursos del equipo o solventar problemas relacionados con el
bloqueo del sistema operativo en su totalidad. Aquí hay un comando muy importante llamado Htop.
En realidad, nos encontramos con un potente visualizador de procesos interactivo que nos permite
gestionar los recursos del de manera directa desde el propio Terminal del que os hablamos en estas
líneas. Tan solo lo encontramos integrado en algunas distribuciones, pero siempre podemos añadirlo
nosotros a mano.
Programas de terminal
Todas las distros suelen traer, al menos, un programa para poder usar la terminal de Linux desde el
entorno gráfico. Además, todas ellas tienen una, o varias, TTY que nos permite usar nuestra distro sin
el servidor gráfico X, exclusivamente en terminal.
Pero en la red existen una gran cantidad de programas de terminal, cada uno con unas características
únicas, de manera que cada usuario pueda elegir la consola que más le guste o mejor se adapte a sus
necesidades o forma de trabajar, pero, al final, independientemente de cuál utilicemos, vamos a poder
realizar las mismas funciones a través de la línea de comandos, ya que lo único que cambia es la
estética, no la funcionalidad que nos pueda ofrecer una u otra versión de Linux.
GNOME Terminal
Sin duda, la más conocida y utilizada. Esta consola forma parte de las herramientas que vienen
incluidas en el escritorio GNOME de Linux, escritorio que viene por defecto en muchas distros, como,
por ejemplo, Ubuntu. Sencillo, rápido y ligero, este terminal cumple son su función, y es más que
suficiente para la mayoría de los usuarios.
Lo mejor y lo peor
Esta es la propuesta de este tipo más extendida y utilizada en Linux debido a la experiencia de sus
desarrolladores y a todo lo que nos ofrece. Se trata de un programa que se caracteriza por su sencillez y
por ser muy ligero.
Sin embargo, tampoco es perfecta, y algunos usuarios quizá echen en falta algunas herramientas
incluidas más avanzadas.
XTerm
Otro terminal muy popular dentro de Linux. Este viene instalado junto al servidor de ventanas X
Window, y ofrece un TTY sencillo a la vez que potente y, sobre todo, muy ligero. Esta consola siempre
va a estar disponible en todas las distros Linux que podamos encontrar, siempre que tengan servidor
gráfico.
A favor y en contra
Este es un programa que por defecto viene instalado junto al servidor de ventanas X Windows. Apenas
consume recursos del equipo, lo que aumenta su atractivo.
Por otro lado, la interfaz de usuario que nos encontramos por defecto no cuenta con ningún elemento
adicional, por lo que es muy básica para los usuarios más avanzados.
Konsole
Igual que GNOME Terminal era la consola del escritorio GNOME, Konsole es la que viene por defecto
en los escritorios KDE. Además de contar con una gran cantidad de opciones de personalización,
también tiene soporte para pestañas y marcadores, lo que facilita el trabajo a los usuarios.
Pros y contras
Este terminal pone a nuestra disposición una enorme cantidad de parámetros configurables y
personalizables. El programa tiene soporte para pestañas y marcadores.
Como hándicap, hay que destacar que su uso se limita a aquellas distribuciones de Linux basadas en un
escritorio KDE.
Alacritty
En Ubuntu, este terminal está disponible como paquete Snap, y podemos instalarlo con el siguiente
comando:
Uno de los principales objetivos de sus desarrolladores se centra en ofrecer el mejor rendimiento al
utilizar este programa en Linux. Aquí se eliminan los tiempos de espera al ejecutar determinados
comandos.
El problema de esta consola es que, en ocasiones, quizá su uso pueda resultar un tanto confuso para
usuarios noveles.
Terminator
Si no conoces este emulador de terminal, deberías. Terminator es uno de los terminales más potentes
que existen en toda la red, siendo una de las mejores alternativas a las limitadas consolas de comandos
que vienen incluidas por defecto en las distros Linux. Se trata de un programa que cuenta con funciones
como la posibilidad de agrupar varias ventanas abiertas, cambiar el comportamiento de la aplicación, el
tamaño, la posición, ofrecer sugerencias a los usuarios y mucho más. Además, permite configurar la
apariencia para que cada usuario pueda adaptarla a su paleta de colores. Incluso podemos instalarle
complementos para tener funciones tan interesantes como, por ejemplo, un monitor de actividad.
Aquí nos encontramos con uno de los terminales más potentes para las distribuciones de Linux. Cuenta
con interesantes funciones para mejorar la experiencia en este sentido.
Como contrapartida, en ocasiones nos vamos a encontrar con unos tiempos de espera de ejecución algo
más elevados de lo habitual.
Lilyterm
Si nuestro equipo no destaca especialmente disponer de una gran cantidad de recursos, una interesante
opción a tener en cuenta la encontramos en Lilyterm, una aplicación que utiliza librerías libvte y
consumir muy pocos recursos del sistema, además de ocupar muy poco espacio. Para instalar este
emulador de terminal, utilizaremos el siguiente comando:
El programa apenas consume espacio de disco por lo que no notaremos que está ahí. La aplicación
utiliza las librerías libvte del sistema operativo.
Por otro lado, algunos usuarios podrían echar en falta algunas funciones que encuentran en otros
programas similares.
Tilda
A diferencia de otras aplicaciones para operar a través de terminal que muestra la línea de comandos a
través de una ventana, Tilda muestra la línea de comandos como si de una aplicación a pantalla
completa se tratara. Dentro de las opciones de configuración, esta aplicación nos permite configurar el
diseño haciendo uso de atajos de teclado. Tilda se encuentra disponible para la mayoría de las
distribuciones Linux por lo que únicamente debemos utilizar el siguiente comando para comenzar a
utilizarla.
A destacar
Desde aquí tenemos la posibilidad de trabajar con los comandos a pantalla completa de forma nativa.
Encontramos esta solución software en la mayoría de las distribuciones.
Sin embargo, las opciones de configuración disponibles pueden confundir a usuarios poco
experimentados.
rxvt
Hay que tener en consideración que esta propuesta apenas consume recursos del equipo ya que es una
de las más ligeras que podemos encontrar en este sector. Además de la ejecución de comandos como tal
este es un programa de Linux que nos ofrece algunas funciones adicionales muy interesantes para sacar
el máximo partido a este modo de funcionamiento. Incluso nos permite arrastrar y soltar elementos aquí
para mayor comodidad. Lo instalamos a través del siguiente comando:
Pros y contras
Se trata de una alternativa al terminal de Linux que apenas consume recursos del sistema y nos ofrece
funciones adicionales muy útiles e interesantes.
Como negativo, esta aplicación que podemos instalar en equipos basados en Linux está limitada a su
uso en dos escritorios en concreto, GNOME y KDE.
La vaca y el toro son dos de los animales favoritos de los desarrolladores de Linux. Y, por supuesto,
tienen sus propios huevos de Pascua. El toro, por ejemplo, podemos lanzarlo ejecutando este comando
en la consola: apt-get moo. Y lo que veremos será un toro, en ASCII, que nos preguntará si ya hemos
mugido hoy.
Similar al de apt-get, aptitude también esconde un huevo de pascua sobre moo. Si ejecutamos aptitude
moo, directamente nos indicará que no hay un huevo de pascua. Pero podemos lanzarlo con el
parámetro -v para que nos muestre un mensaje diferente. Y añadir más «v» hasta que, por fin, cuando
ejecutemos aptitude -vvvvv moo podremos ver el huevo de pascua en cuestión. Y aun así, podemos
probar a añadirle una v más.
La vaca, por otro lado, debemos instalarla a mano en nuestro sistema ejecutando el comando: sudo apt
install cowsay. Esto solo tenemos que hacerlo la primera vez. Una vez instalada, podemos hacer que
aparezca una vaca, en ASCII, en la terminal que nos diga el texto que nosotros le indiquemos.
Otro huevo de pascua que podemos encontrar en este sistema es «fortune -s«. Al ejecutar este
comando, lo que haremos será leer (en inglés) nuestra fortuna.
Si somos usuarios avanzados, seguro que conoceremos la herramienta Vim, un editor de texto para
terminal. Pues este editor tiene uno de los huevos de pascua más geeks que podemos encontrar. Una
vez instalado, lo lanzamos y escribiremos dentro de él el siguiente comando para acceder a la ayuda:
«:help 42«. Veremos cómo nos aparece un conocido huevo de pascua sobre la guía del autoestopista
galáctico.