Los 20 comandos más utilizados por principiantes en Linux

Buenas tardes developers!

Como ya saben, una de las principales características que diferencia a Linux de Windows se debe a su potente shell, lo que también conocemos como línea de comandos o terminal. Solo por si necesitan repasar, ya hice unas publicaciones explicando exactamente qué significan estos conceptos: shell y terminal.

Pues si, Linux es muy conocido por la simplicidad, efectividad y eficiencia de su línea de comandos. Desde ella, es posible realizar casi cualquier tarea que se nos ocurra, incluso tareas que ni pensábamos fueran posibles. Así como lo oyen! No les miento. Por ello es común imaginarse que aquellos llamados dioses en Linux, también son unos dioses manejando la línea de comandos.

Y bueno, como todos vinimos a este mundo a aprender, yo les ayudaré un poco a los que quieran iniciarse y adentrarse en el mundo de Linux. En esta ocasión aprenderemos los 20 comandos que en mi opinión todo programador o usuario de Linux debería conocer.

Sin más pelos, acá les dejo la lista:

1. sudo

sudo es el primer comando que deben saber. Permite ejecutar cualquier comando como si estuviera siendo ejecutado por un administrador. Recuerdan en Windows cuando dan click derecho sobre un programa o instalador y les aparece «Ejecutar como Administrador»? sudo hace exactamente lo mismo, sólo que a nivel de terminal.

Este comando es el más poderoso que existe en cualquier distribución de Linux. De hecho, la primera vez que lo ejecutan verán aparecer la famosa frase del tío Ben de Spider-Man que dice:

Un gran poder conlleva una gran responsabilidad

Todos unos trolls nuestros amigos de Linux, pero la frase resulta apropiada.

Algunos comandos que sólo pueden ejecutarse a través de sudo son: apt (instala paquetes) y shutdown (apaga la computadora). Más adelante veremos estos comandos en mayor detalle.

2. cd

Un comando muy utilizado es cd (cambiar directorio). Nos permite movernos entre los folders o directorios de Linux, similar a como lo hacemos desde nuestro explorador de archivos, solo que en este caso, lo hacemos a nivel de terminal.

Su uso es muy sencillo, solo debemos hacer cd [nombre_directorio]. También, existen unos alias que permiten agilizar su uso:

  • cd ~   Nos permite movernos a nuestro directorio home, esto es lo mismo que llamar el comando cd solo, sin ningún argumento.
  • cd –   Nos permite regresar al directorio anterior.
  • cd /   Nos permite dirigirnos al directorio raíz.
  • cd ..   Nos permite regresar un directorio hacia arriba. Este comando también puede anidarse, de la forma: cd ../../..

Cuando digo que deben ejecutar cd [nombre_directorio] debe entenderse que el comando debe ejecutarse así:

cd /home/eltico
cd Descargas

3. pwd

Este comando nos permite obtener la ruta completa del folder en el cual estamos trabajando. Muy útil cuando estamos trabajando en la terminal y se nos olvida en cuál directorio estábamos posicionados.

Su nombre no es muy intuitivo, sin embargo, podemos recordar que lleva las mismas letras que la frase «dónde putas?» (pwd), y que lo aplicamos para saber dónde putas estamos. Para los que hablan inglés se les puede hacer fácil recordarlo por su nombre original print working directory.

Resulta muy útil luego de hacer cd a un folder, por ejemplo:

cd Descargas
pwd
/home/eltico/Descargas

4. ls

Un comando esencial para los usuarios de Linux y uno de los más utilizados, se trata de ls. Este comando sirve para mostrar una lista de los archivos y directorios que existen dentro de un directorio en específico. Conocido como «listar».

Algunas de sus banderas (o flags) más usadas son:

  • ls -l   Muestra la lista usando un formato largo.
  • ls -a   Muestra archivos ocultos.
  • ls -F   Muestra un / al final de cada folder.
  • ls -lh   Muestra el tamaño de los archivos en Bytes, Kilobytes, Megabytes y Gigabytes.
ls
archivo1.txt   archivo2.txt   archivo3.txt

5. cat

Este comando nos permite leer archivos de texto e imprimir su contenido directamente en la terminal. Es especialmente útil cuando queremos ver rápidamente el texto que contiene un archivo, sin la necesidad de tener que visualizarlo a través de una herramienta externa como Notepad, Gedit, Kate o algún otro editor de texto.

cat archivo1.txt
¡Hola! Soy el texto dentro del archivo #1

6. touch

Este comando sirve principalmente para crear archivos nuevos. También podemos usarlo para «tocar» archivos ya existentes, esto quiere decir que actualiza los tiempos de modificación y acceso.

touch archivo4.txt
ls
archivo1.txt   archivo2.txt   archivo3.txt   archivo4.txt

7. mkdir

Otro de los comandos más usados por los Linuxeros, este nos permite crear directorios. Un detalle importante es que este comando solamente nos permite crear un directorio a la vez, es decir, si intentamos crear los directorios: mkdir ejemplo/prueba obtendremos un error diciendo que el directorio ejemplo no existe y por lo tanto no puede crear prueba.

Para evitar que esto suceda, simplemente debemos correr el comando con la bandera -p de la forma: mkdir -p ejemplo/prueba

mkdir prueba
ls -F
archivo1.txt   archivo2.txt   archivo3.txt   archivo4.txt   prueba/

8. rm

Un comando muy útil y a la vez muy peligroso es rm. Con este comando podemos eliminar cualquier archivo o directorio que queramos. Deben tener en cuenta que los archivos y directorios borrados de esta forma son eliminados por completo del sistema, es decir, no podemos recuperarlos a través de la papelera de reciclaje ni nada similar.

Este comando tiene opciones para forzar la operación de borrado (a través de sudo y la bandera -f), incluso cuando los archivos o carpetas tienen algún tipo de protección. De hecho, esto es lo que lo hace sumamente peligroso pues, si no tenemos cuidado, podemos eliminar archivos o directorios vitales para el funcionamiento de nuestro sistema operativo.

El comando rm nos permite eliminar archivos individuales. Si queremos eliminar directorios completos, debemos ejecutarlo con la bandera -r.

rm archivo4.txt
ls -F
archivo1.txt   archivo2.txt   archivo3.txt   prueba/
rm -r prueba
ls -F
archivo1.txt   archivo2.txt   archivo3.txt

9. cp

Otro comando muy utilizado es el famoso cp (copy) el cual, como imaginarán, sirve para copiar archivos o directorios de un lugar a otro.

Para copiar archivos: cp [archivo_fuente] [archivo_destino].

cp archivo3.txt archivo4.txt
ls
archivo1.txt   archivo2.txt   archivo3.txt   archivo4.txt   prueba

Para copiar directorios debe usarse la bandera -a de la forma: cp -a [directorio_fuente] [directorio_destino].

10. mv

El comando mv nos permite mover archivos y directorios de un lugar a otro, también sirve para renombrarlos.

mv archivo4.txt prueba/
ls prueba/
archivo4.txt

11. top

El comando top se usa para mostrar una lista de los procesos. Permite a los usuarios monitorear los procesos y el uso de recursos en el sistema. Es una de las herramientas más útiles y utilizadas por todos los administradores de sistema. Para algunos, puede parecerse mucho a la sección de procesos dentro del administrador de tareas de Windows, solo que se ejecuta desde la terminal.

top

12. kill, xkill y pkill

Aquí me les adelanté con 3 comandos en 1! Lo sé lo sé. Pero bueno, quise ponerlos juntos ya que todos se utilizan para eliminar uno o varios procesos, sólo que lo hacen de maneras distintas:

kill se usa para matar un proceso usando su ID (PID). Recuerdan que acabamos de ver como el comando top devuelve una lista de procesos con un número a la par? Ese es el ID de cada proceso. Para forzar que un programa se cierre, usamos la bandera -9.

Por ejemplo, si sabemos que el ID del proceso firefox es 522 entonces escribimos:

kill -9 522

Lo cual hará que el proceso finalice por completo.

xkill sirve para eliminar un procose haciendo click sobre la ventana del programa. Para usarlo, simplemente debemos ejecutar el comando y veremos que automáticamente la forma del cursor cambia por una X. Cuando esto ocurre, el siguiente programa sobre el que hagamos click se cerrará.

xkill

pkill se parece mucho al comando kill pero se diferencia en que podemos eliminar un proceso por su nombre, sin necesidad de sabernos su ID específico. Replicando el ejemplo anterior de kill, ejecutamos:

pkill firefox

Cabe destacar que esto eliminará todos los procesos que tengan firefox en su nombre.

El comando head permite leer las n primeras líneas de un archivo, su valor por defecto es 10. Podemos cambiar su configuración por defecto si usamos la bandera -n. Por ejemplo: head -n 5 archivo2.txt, hará que lea solamente las primeras 5 líneas del archivo. Útil cuando estamos viendo archivos de registro (log files).

head -n 3 archivo2.txt
Línea #1
Línea #2
Línea #3

14. tail

Este comando podría decirse que es el opuesto de head, pues lee las últimas 10 líneas de un archivo. Al igual que con head, podemos sobreescribir la cantidad de líneas que lee por medio de la bandera -n. Por ejemplo, tail -n 15 miarchivo.txt, leerá las últimas 15 líneas de ese archivo. Útil cuando estamos buscando errores en el sistema y queremos sólo queremos ver las últimas entradas de un archivo.

tail -n 3 archivo2.txt
Línea #18
Línea #19
Línea #20

15. find

Otro comando esencial que deben saber es find el cual sirve para buscar archivos o folders dentro de nuestro disco duro. find realiza una búsqueda recursiva a partir del directorio base que especifiquemos, esto quiere decir que, buscará dentro del directorio, dentro de los subdirectorios de ese directorio y así sucesivamente.

Su uso más común es: find . -name «archivo»

Para entenderlo mejor, vamos a descomponer esta instrucción en partes:

  • find: hace referencia al comando.
  • . (punto): es una abreviatura en Linux que hace referencia al directorio actual.
  • -name: bandera para indicar que vamos a buscar por nombre de archivo o directorio.
  • «archivo»: hace referencia al patrón de búsqueda que nos interesa.

Ahora, si ejecutamos el comando anterior en nuestra terminal tendremos:

find . -name "archivo"

¡Sorpresa! Ningún resultado. Decepcionante, no?

Pues bueno, lo anterior ocurre porque el comando find busca por el patrón exacto que le indiquemos y además, es sensible a las mayúsculas y minúsculas. Por esta razón no encuentra los archivos llamados «archivo1.txt», «archivo2.txt» y «archivo3.txt».

Pero no se preocupen que en Linux todo tiene solución. En esta ocasión podemos usar algo conocido como wildcards o comodines, se los explico:

  • ?   hace «match» con cualquier caracter 1 vez
  • *   hace «match» con cualquier caracter n veces

Con esto en mente, intentamos nuevamente la búsqueda:

find . -name "archivo?.txt"
./archivo1.txt
./archivo2.txt
./archivo3.txt
./prueba/archivo4.txt
find . -name "archivo*"
./archivo1.txt
./archivo2.txt
./archivo3.txt
./prueba/archivo4.txt

Y voilá! Finalmente pudimos encontrar los archivos que estábamos buscando.

Si quieren que la búsqueda sea insensible a las mayúsculas y minúsculas, deben usar la bandera -iname en lugar de -name.

16. free

El comando free se utiliza para mostrar información acerca del uso de memoria por parte del sistema operativo, tanto de la Memoria de Acceso Aleatorio (RAM) como de la memoria swap.

Su forma de uso más común es free -h, esto hace que la información sea mas legible ya que muestra la info en GBs, similar a la opcion -h en el comando ls.

free -h

17. shutdown

Nada más hacker que apagar la computadora desde la terminal, cierto o no? Jaja. A mi me divierte la verdad. Para eso precisamente es shutdown, simplemente debemos ejecutar shutdown desde la terminal y su computadora se apagará dentro de 30 segundos. Aunque… esperar tanto tiempo puede resultar un tanto aburrido, para evitarlo debemos ejecutar el comando shutdown now y listo! Recuerden que para ejecutar este comando necesitan permisos de administrador por lo que en realidad el comando debe ejecutarse así: sudo shutdown now y PUM!

sudo shutdown now

Adicionalmente, si lo que quieren es reiniciar la computadora, también lo pueden hacer con este comando, simplemente deben activar la bandera -r. Así, ejecutan el comando de la forma shutdown -r now y su computadora procederá a reiniciarse. Como mención honoraria, existe el comando reboot, que se encarga de realizar exclusivamente esta tarea.

sudo shutdown -r now
sudo reboot

18. apt, yum, pacman

Si son nuevos al mundo de Linux, seguramente se preguntarán ¿qué hacen estos comandos y qué tienen en común? Pues bueno, todos ellos son conocidos como manejadores de paquetes (package managers) y su función es instalar, actualizar, eliminar y en fin, manejar paquetes dentro de nuestro sistema operativo. Los paquetes son programas completos que cumplen una determinada función dentro de nuestro sistema, pueden ser: aplicaciones, servicios y librerías.

Los comandos apt, yum y pacman sirven para instalar paquetes desde los repositorios oficiales de diferentes distribuciones Linux. Por ejemplo:

  • Debian: Las distribuciones basadas en Debian tales como Ubuntu y Mint, utilizan paquetes .deb y son instalados mediante el comando apt install [nombre_de_paquete]
  • Red Hat: Las distribuciones basadas en Red Hat tales como openSUSE, Fedora y CentOS utilizan paquetes .rpm y se instalan mediante el comando yum install [nombre_de_paquete]
  • Arch: La distribución Arch Linux utiliza el manejador de paquetes universal pacman. Con este comando los paquetes se instalan haciendo pacman -S [nombre_de_paquete]
sudo apt install zsh
sudo yum install zsh
sudo pacman -S zsh

19. clear

A medida que se vayan sintiendo más cómodos con la terminal y la usen más a menudo, verán que la terminal guarda un cierto historial en vivo de los últimos comandos ejecutados y sus resultados. Algunas veces esto puede parecernos incómodo o distraernos de la tarea que estemos realizando, es aquí donde resulta útil el comando clear pues nos permite limpiar ese historial que va mostrando la terminal y la deja como si recién la viniéramos abriendo.

clear

Aún así, mi consejo es que utilicen el atajo CTRL + L pues cumple la misma función y es mucho más rápido de ejecutar que si escribimos la palabra clear.

20. man

Una vez uno de mis maestros me dijo:

En Linux sólo debes saber un comando y ese comando es man.

Conforme pasan los años, cada vez me convenzo más que mi maestro estaba en lo correcto.

man es una abreviación de manual y nos permite desplegar el manual de uso de cualquier comando en nuestra terminal.

Su forma de uso es simple: man [comando]. Por lo que podemos hacer: man cp, man ls, man find… Esto quiere decir que con man podemos ver la guía de uso de todos los 19 comandos anteriores… ¡Perdón! ¡Quise decir 20! Porque incluso podemos consultar el manual del propio comando man, haciendo man man. Fantástico! No?

man man

Y bueno exploradores, hasta aquí llega el viaje de los 20 comandos que en mi opinión todo aprendiz de Linux debe saber, espero les haya gustado y les sea de utilidad. Próximamente estaré publicando una lista de los 20 comandos de Linux para usuarios intermedios y en un futuro publicaré una lista para usuarios avanzados. ¡Hasta la próxima!

Leave a Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *