Terminal-Ubuntu-1

Es cierto que las distribuciones Linux han cambiado muchísimo en los últimos años. A día de hoy, prácticamente cualquiera se puede usar desde una interfaz basada en ventanas muy similar a la de Windows. Ningún usuario debe tener miedo ni pensar que Linux es un sistema operativo complicado. Sin embargo, sí es cierto que, si queremos sacarle todo el partido posible y exprimirlo al máximo, debemos usar la Terminal. Y aquí es donde nace el miedo de muchos usuarios.

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.

Todo lo que hacemos desde una interfaz, podríamos hacerlo perfectamente desde la terminal. Aunque de forma más complicada, larga y menos intuitiva.

¿Es obligatorio usar Linux con comandos?

Linux, desde siempre, se ha caracterizado por ser un sistema operativo más complicado de usar que cualquier otra alternativa, como Windows o macOS. Y eso se debe a que, en sus inicios, mientras que sus rivales apostaban por simples interfaces gráficas, Linux apostaba por el uso por comandos.

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.

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.

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.

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.

TTY-Ubuntu

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.

Abrir-Terminal-Ubuntu

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.

Terminal-Ubuntu

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.

Ejecutar-Firefox-terminal-Ubuntu

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.

Movernos por los directorios

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

También podemos usar rutas completas, como:

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

Por supuesto, también podemos usarlo para mover directorios:

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

También podemos usarlo para eliminar directorios completos:

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.

Comandos del sistema

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:

  • date: muestra la fecha y la hora.
  • cal: nos muestra un calendario.
  • uptime: muestra el tiempo que lleva encendido el ordenador.
  • uname –a: nos muestra la versión del kernel.
  • whoami: nos indica cuál es nuestro usuario actual.
  • chmod: nos permite cambiar los permisos de cualquier archivo o directorio.
  • chown: nos permite cambiar la autoría de cualquier archivo o directorio.
  • mount: nos permite montar unidades (discos duros, USB, tarjetas de memoria, etc) en un directorio.
  • clear: nos permite limpiar la Terminal para trabajar con ella de manera más ordenada.

Para la gestión de usuarios:

  • su: permite iniciar sesión como root desde la sesión actual.
  • exit: cierra la sesión de root abierta.
  • adduser: nos permite añadir un nuevo usuario a nuestro Linux.
  • passwd: nos permite cambiar la contraseña del usuario que le especifiquemos.

Podemos controlar los procesos que se ejecutan en nuestra distro con:

  • 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.
  • 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.
  • 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.

Instalar y desinstalar programas

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:

apt install firefox

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):

apt purge firefox

También debemos saber cómo añadir nuevos repositorios a Ubuntu y cómo actualizarlos para tener siempre las últimas versiones del software.

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.

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.

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.

sudo apt install gnome-terminal

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.

sudo apt install xterm

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.

sudo apt install konsole

Huevos de Pascua de terminal

En el ámbito del software, un huevo de pascua es una función, o un truco, oculto dentro de un programa de manera que este solo tenga lugar si se realiza una tarea concreta. Los huevos de pascua son bastante comunes en los programas y en el propio sistema operativo Linux, Easter Eggs que podemos lanzar fácilmente desde un terminal.

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.

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.

cowsay

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.

 

Fuente: softzone

¿Quién está en línea?

Hay 15251 invitados y ningún miembro en línea