Aprende a dominar la Terminal de Linux como un profesional
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
- /user/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.
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.
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/
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.
Fuente: SoftZone https://ift.tt/3aNmkWr Autor: Rubén Velasco