Actualizado el domingo, 17 marzo, 2024

Antes de pasar a los comandos más utilizados de Linux, asegúrate de abrir un terminal. En la mayoría de las distribuciones de Linux, usarás Ctrl + Alt + T para hacerlo. Si esto no funciona, busca en tu panel de aplicaciones «terminal».

Ahora vamos a sumergirnos en los 40 comandos de Linux más utilizados. Muchos de ellos tienen múltiples opciones que puedes encadenar, así que asegúrate de revisar el manual de los comandos.

1. Comando ls

ls es probablemente el primer comando que todo usuario de Linux teclea en su terminal. Te permite listar el contenido del directorio que quieras (el directorio actual por defecto), incluyendo archivos y otros directorios anidados.

ls

Tiene muchas opciones, así que puede ser bueno obtener algo de ayuda usando el flag --help. Este flag devuelve todas los flag que puedes utilizar con ls.

Por ejemplo, para colorear la salida del comando ls, puede utilizar lo siguiente:

ls --color=auto

Ahora la salida del comando ls está coloreada, y se puede apreciar la diferencia entre un directorio y un archivo.

Pero escribir ls con el flag de color sería ineficiente; por eso usamos el comando alias.

2. Comando alias

El comando alias te permite definir alias temporales en tu sesión de shell. Al crear un alias, se indica al shell que sustituya una palabra por una serie de comandos.

Por ejemplo, para que ls tenga color sin tener que teclear el flag --color cada vez, se usaría:

alias ls="ls --color=auto"

Como puedes ver, el comando alias toma un par de parámetros clave-valor: alias NAME="VALUE". Ten en cuenta que el valor debe estar entre comillas.

Si quieres listar todos los alias que tienes en tu sesión de shell, puedes ejecutar el comando alias sin argumento.

alias

3. Comand unalias

Como su nombre indica, el comando unalias tiene como objetivo eliminar un alias de los ya definidos. Para eliminar el alias ls anterior, puedes utilizar:

unalias ls

4. Comando pwd

El comando pwd significa «imprimir el directorio de trabajo» y muestra la ruta absoluta del directorio en el que se encuentra. Por ejemplo, si tu nombre de usuario es «john» y está en tu directorio Documentos, tu ruta absoluta sería /home/john/Documents.

Para utilizarlo, basta con escribir pwd en el terminal:

pwd

# My result: /home/kinsta/Documents/linux-commands

5. Comando cd

El comando cd es muy popular, junto con ls. Se refiere a «cambiar de directorio» y, como su nombre indica, te cambia al directorio al que intentas acceder.

Por ejemplo, si estás dentro del directorio Documentos y tratas de acceder a una de sus subcarpetas llamada Vídeos, puedes entrar en ella escribiendo:

cd Videos

También puedes proporcionar la ruta absoluta de la carpeta:

cd /home/kinsta/Documents/Videos

Hay algunos trucos con el comando cd que pueden ahorrarte mucho tiempo al jugar con él:

1. Ir a la carpeta de inicio

cd

2. Sube un nivel

cd ..

3. Volver al directorio anterior

cd -

6. Comando cp

Es tan fácil copiar archivos y carpetas directamente en el terminal de Linux que a veces puede sustituir a los gestores de archivos convencionales.

Para utilizar el comando cp, basta con escribirlo junto con los archivos de origen y destino:

cp file_to_copy.txt new_file.txt

También puede copiar directorios enteros utilizando el flag recursiva:

cp -r dir_to_copy/ new_copy_dir/

Recuerda que en Linux, las carpetas terminan con una barra diagonal (/).

7. Comando rm

Ahora que sabes cómo copiar archivos, te será útil saber cómo eliminarlos.

Puedes utilizar el comando rm para eliminar archivos y directorios. Sin embargo, ten cuidado al usarlo, porque es muy difícil (aunque no imposible) recuperar los archivos eliminados de esta manera.

Para borrar un archivo normal, escribirías:

rm file_to_copy.txt

Si deseas eliminar un directorio vacío, puedes utilizar el flag recursiva (-r):

rm -r dir_to_remove/

Por otro lado, para eliminar un directorio con contenido en tu interior, es necesario utilizar el flag force (-f) y recursive:

rm -rf dir_with_content_to_remove/

Info

Ten cuidado con esto: ¡puedes borrar todo un día de trabajo si usas mal estas dos flags!

8. Comando mv

El comando mv se utiliza para mover (o renombrar) archivos y directorios en el sistema de archivos.

Para utilizar este comando, debes escribir tu nombre con los archivos de origen y destino:

mv source_file destination_folder/

mv command_list.txt commands/

Para utilizar las rutas absolutas, utilizarías:

mv /home/kinsta/BestMoviesOfAllTime ./

…donde  ./ es el directorio en el que te encuentras.

También puedes usar mv para renombrar archivos mientras los mantienes en el mismo directorio:

mv old_file.txt new_named_file.txt

9. Comando mkdir

Para crear carpetas en el shell, se utiliza el comando mkdir. Solo tienes que especificar el nombre de la nueva carpeta, asegurarte de que no existe y ya está.

Por ejemplo, para crear un directorio para guardar todas tus imágenes, solo tienes que escribir:

mkdir images/

Para crear subdirectorios con un simple comando, utiliza el flag padre (-p):

mkdir -p movies/2004/

10. Comando man

Otro comando esencial de Linux es man. Muestra la página del manual de cualquier otro comando (siempre que tenga uno).

Para ver la página del manual del comando mkdir, escribe:

man mkdir

Incluso puedes consultar la página del manual man:

man man
La página de manual de "man".
La página de manual de «man».

11. Comando touch

El comando touch permite actualizar los tiempos de acceso y modificación de los archivos especificados.

Por ejemplo, tengo un archivo antiguo que fue modificado por última vez el 12 de abril:

Para cambiar su fecha de modificación a la hora actual, necesitamos utilizar el flag -m:

touch -m old_file

Ahora la fecha coincide con la de hoy (que en el momento de escribir este artículo era el 8 de agosto).

No obstante, la mayoría de las veces no se utilizará touch para modificar las fechas de los archivos, sino para crear nuevos archivos vacíos:

touch new_file_name

12. Comando chmod

El comando chmod te permite cambiar el modo de un archivo (permisos) rápidamente. Tienes un montón de opciones disponibles con él.

Los permisos básicos que puede tener un archivo son:

  • r (leer)
  • w (escribir)
  • x (ejecutar)

Uno de los casos más comunes de uso de chmod es hacer que un archivo sea ejecutable por el usuario. Para ello, escriba chmod y el flag +x, seguido del archivo en el que desea modificar los permisos:

chmod +x script

Se utiliza para hacer ejecutables los scripts, lo que permite ejecutarlos directamente utilizando la notación ./.

13. Comando ./

Tal vez la notación ./ no sea un comando en sí mismo, pero vale la pena mencionarlo en esta lista. Permite a tu shell ejecutar un archivo ejecutable con cualquier intérprete instalado en tu sistema directamente desde el terminal. Se acabó el hacer doble clic en un archivo en un gestor de archivos gráfico!

Por ejemplo, con este comando puedes ejecutar un script de Python o un programa solo disponible en formato .run, como XAMPP. Cuando ejecutes un ejecutable, asegúrate de que tiene permisos de ejecución (x), que puedes modificar con el comando chmod.

Aquí tenemos un sencillo script de Python y cómo lo ejecutaríamos con la notación ./:


#! /usr/bin/python3

# filename: script

for i in range(20):

print(f"This is a cool script {i}")

Así es como convertiríamos el script en un ejecutable y lo ejecutaríamos:

chmod +x script

./script

14. Comando exit

El comando exit hace exactamente lo que tu nombre sugiere: Con él, puedes terminar una sesión de shell y, en la mayoría de los casos, cerrar automáticamente el terminal que estás utilizando:

exit

15. Comando sudo

Este comando significa «superuser do», y te permite actuar como superusuario o usuario root mientras ejecutas un comando específico. Es la forma en que Linux se protege a sí mismo y evita que los usuarios modifiquen accidentalmente el sistema de archivos de la máquina o instalen paquetes inapropiados.

Sudo se utiliza comúnmente para instalar software o para editar archivos fuera del directorio personal del usuario:

sudo apt install gimp

sudo cd /root/ 

Te pedirá la contraseña de administrador antes de ejecutar el comando que hayas escrito después.

16. Comando shutdown

Como puedes adivinar, el comando shutdown te permite apagar tu máquina. Sin embargo, también puede utilizarse para detenerla y reiniciarla.

Para apagar el ordenador inmediatamente (el valor predeterminado es un minuto), escriba:

shutdown now

También puedes programar el apagado de tu sistema en un formato de 24 horas:

shutdown 20:40

Para cancelar una llamada de shutdown anterior, puedes utilizar el flag -c:

shutdown -c

17. Comando htop

htop es un visor de procesos interactivo que te permite gestionar los recursos de tu máquina directamente desde el terminal. En la mayoría de los casos, no está instalado de forma predeterminada, así que asegúrate de leer más sobre él en su página de descargas.

htop

18. Comando unzip

El comando unzip permite extraer el contenido de un archivo .zip desde el terminal. Una vez más, este paquete puede no estar instalado por defecto, así que asegúrate de instalarlo con tu gestor de paquetes.

Aquí, estamos descomprimiendo un archivo .zip lleno de imágenes:

unzip images.zip

19. Comandos aptyumpacman

Independientemente de la distribución de Linux que utilices, es probable que uses gestores de paquetes para instalar, actualizar y eliminar el software que utilizas a diario.

Puedes acceder a estos gestores de paquetes a través de la línea de comandos, y utilizarás uno u otro dependiendo de la distro que ejecute tu máquina.

Los siguientes ejemplos instalarán GIMP, un software libre y de código abierto que suele estar disponible en la mayoría de los gestores de paquetes:

1. Basado en Debian (Ubuntu, Linux Mint)

sudo apt install gimp

2. Basado en Red Hat (Fedora, CentOS)

sudo yum install gimp

3. Basado en Arch (Manjaro, Arco Linux)

sudo pacman -S gimp

20. Comando echo

El comando echo muestra el texto definido en el terminal – es así de simple:

echo "Cool message"

Su uso principal es imprimir las variables de entorno dentro de esos mensajes:

echo "Hey $USER"

# Hey root

21. Comando cat

Cat, abreviatura de «concatenate», permite crear, visualizar y concatenar archivos directamente desde el terminal. Se utiliza principalmente para previsualizar un archivo sin abrir un editor de texto gráfico:

cat long_text_file.txt

22. Comando ps

Con ps, puedes echar un vistazo a los procesos que tu sesión de shell actual está ejecutando. Imprime información útil sobre los programas que está ejecutando, como el ID del proceso, el TTY (Teletipo), la hora y el nombre del comando.

ps

En caso de que quieras algo más interactivo, puedes utilizar htop.

23. Comando kill

Es molesto cuando un programa no responde y no puedes cerrarlo por ningún medio. Afortunadamente, el comando kill resuelve este tipo de problemas.

En pocas palabras, kill envía una señal TERM o kill a un proceso que lo termina.

Puedes matar procesos introduciendo el PID (ID de los procesos) o el nombre binario del programa:

kill 533494

kill firefox

Ten cuidado con este comando – con kill, corres el riesgo de borrar accidentalmente el trabajo que has estado haciendo.

24.Comando ping

ping es la utilidad de terminal de red más popular que se utiliza para probar la conectividad de la red. ping tiene un montón de opciones, pero en la mayoría de los casos, lo utilizarás para solicitar un dominio o una dirección IP:

ping google.com

ping 8.8.8.8

25. Comando vim

vim es un editor de texto de terminal libre y de código abierto que se utiliza desde los años 90. Te permite editar archivos de texto plano utilizando combinaciones de teclas eficientes.

Algunas personas consideran que es difícil de usar — salir de Vim es una de las preguntas más vistas en StackOverflow- pero una vez que te acostumbras a él, se convierte en tu mejor aliado en la línea de comandos.

Para activar Vim, solo tienes que escribir:

vim

26. Comando history

Si te cuesta recordar un comando, el history es muy útil. Este comando muestra una lista enumerada con los comandos que has utilizado en el pasado:

history

27. Comando passwd

passwd te permite cambiar las contraseñas de las cuentas de usuario. En primer lugar, te pide que introduzcas tu contraseña actual y, a continuación, te pide una nueva contraseña y una confirmación.

Es similar a cualquier otro cambio de contraseña que hayas visto en otros lugares, pero en este caso, es directamente en tu terminal:

passwd

Ten cuidado al usarlo: ¡no querrás estropear tu contraseña de usuario!

28. Comando which

El comando which muestra la ruta completa de los comandos del shell. Si no puede reconocer el comando dado, arrojará un error.

Por ejemplo, podemos usar esto para comprobar la ruta binaria para Python y el navegador web Brave:

which python

# /usr/bin/python

which brave

# /usr/bin/brave

29. Comando shred

Si alguna vez has querido que un archivo sea casi imposible de recuperar, shred puede ayudarte con esta tarea. Este comando anula el contenido de un archivo repetidamente, y como resultado, el archivo dado se vuelve extremadamente difícil de recuperar.

Aquí hay un archivo con poco contenido:

Ahora, hagamos que shred haga lo suyo escribiendo el siguiente comando:

shred file_to_shred.txt

Si deseas eliminar el archivo de inmediato, puedes utilizar el flag -u:

shred -u file_to_shred.txt

30. Comando less

less (opuesto a more) es un programa que permite inspeccionar archivos hacia atrás y hacia adelante:

less large_text_file.txt

Lo bueno de less es que incluye los comandos more y vim en su interfaz. Si necesitas algo más interactivo que catless es una buena opción.

31. Comando tail

Similar a cattail imprime el contenido de un archivo con una advertencia importante: sólo imprime las últimas líneas. Por defecto, imprime las últimas 10 líneas, pero puedes modificar ese número con -n.

Por ejemplo, para imprimir las últimas líneas de un archivo de texto de gran tamaño, se utilizaría:

tail long.txt

Para ver solo las cuatro últimas líneas:

tail -n 4 long.txt

32. Comando head

Éste es complementario al comando tailhead muestra las primeras 10 líneas de un archivo de texto, pero puede establecer cualquier número de líneas que desee mostrar con la flag -n:

head long.txt

head -n 5 long.txt

33. Comando grep

Grep es una de las utilidades más potentes para trabajar con archivos de texto. Busca líneas que coincidan con una expresión regular y las imprime:

grep "linux" long.txt

Puede contar el número de veces que se repite el patrón utilizando el flag -c:

grep -c "linux" long.txt

# 2

34. Comando whoami

El comando whoami (abreviatura de «who am i») muestra el nombre de usuario actualmente en uso:

whoami

# kinsta

Se obtendría el mismo resultado utilizando echo y la variable ambiental $USER:

echo $USER

# kinsta

35. Comando whatis

whatis imprime una descripción de una sola línea de cualquier otro comando, lo que lo convierte en una referencia útil:

whatis python

# python (1) - an interpreted, interactive, object-oriented programming language

whatis whatis

# whatis (1) - display one-line manual page descriptions

36. Comando wc

Wc significa «word count» (recuento de palabras) y, como su nombre indica, devuelve el número de palabras de un archivo de texto:

wc long.txt

# 37 207 1000 long.txt

Vamos a desglosar la salida de este comando:

  • 37 líneas
  • 207 palabras
  • 1000 bytes de tamaño
  • El nombre del archivo (long.txt)

Si solo necesitas el número de palabras, utiliza el indicador -w:

wc -w long.txt

207 long.txt

37. Comando uname

uname (abreviatura de «Unix name») imprime la información del sistema operativo, lo que resulta útil cuando se conoce la versión actual de Linux.

La mayoría de las veces, usted utilizará el flag -a (–all), ya que la salida por defecto no es tan útil:

uname

# Linux

uname -a

# Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux

38. Comando neofetch

Neofetch es una herramienta CLI (command-line interface) que muestra información sobre tu sistema -como la versión del kernel, el shell y el hardware- junto a un logotipo ASCII de tu distribución de Linux:

neofetch

En la mayoría de las máquinas, este comando no está disponible por defecto, así que asegúrate de instalarlo primero con tu gestor de paquetes.

39. Comando find

El comando find busca archivos en una jerarquía de directorios basándose en una expresión regex. Para utilizarlo, sigue la siguiente sintaxis:

find [flags] [path] -name [expression]

Para buscar un archivo llamado long.txt en el directorio actual, introduce lo siguiente

find ./ -name "long.txt" # ./long.txt 

Para buscar archivos que terminen con una extensión .py (Python), puedes utilizar el siguiente comando:

find ./ -type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py 

40. Comando wget

wget (World Wide Web get) es una utilidad para recuperar contenidos de Internet. Tiene una de las mayores colecciones de flags que existen.

Así es como se descarga un archivo de Python desde un repositorio de GitHub:

wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py

Hoja de trucos de los comandos de Linux

Siempre que quiera una referencia rápida, solo tiene que revisar la siguiente tabla:

ComandoUso
lsLista el contenido de un directorio
aliasDefinir o mostrar alias
unaliasEliminar las definiciones de alias
pwdImprime el directorio de trabajo
cdCambios en el directorio
cpCopia archivos y directorios
rmEliminar archivos y directorios
mvMueve (renombra) archivos y directorios
mkdirCrea directorios
manMuestra la página del manual de otros comandos
touchCrea archivos vacíos
chmodCambia los permisos de los archivos
./Ejecuta un ejecutable
exitSale de la sesión actual del shell
sudoEjecuta los comandos como superusuario
shutdownApaga tu máquina
htopMuestra información sobre procesos y recursos
unzipExtrae archivos ZIP comprimidos
aptyumpacmanGestores de paquetes
echoMuestra las líneas de texto
catImprime el contenido del archivo
psInforma del estado de los procesos del shell
killTermina los programas
pingPrueba la conectividad de la red
vimEdición eficiente de textos
historyMuestra una lista de comandos anteriores
passwdCambia la contraseña del usuario
whichDevuelve la ruta binaria completa de un programa
shredSobrescribe un archivo para ocultar su contenido
lessInspecciona los archivos de forma interactiva
tailMuestra las últimas líneas de un archivo
headMuestra las primeras líneas de un archivo
grepImprime las líneas que coinciden con los patrones
whoamiSalidas nombre de usuario
whatisMuestra descripciones de una sola línea
wcArchivos de recuento de palabras
unameMuestra la información del sistema operativo
neofetchMuestra información sobre el sistema operativo y el hardware
findBusca archivos que siguen un patrón
wgetRecupera archivos de Internet