Los 50 comandos de Linux más útiles para expertos y principiantes

La terminal de Linux representa la verdadera esencia del control sobre un sistema operativo. Mientras que las interfaces gráficas han simplificado muchas tareas, dominar los comandos de Linux básicos te otorga un poder incomparable sobre tu máquina. ¿Te has preguntado alguna vez cómo los administradores de sistemas pueden realizar tareas complejas en cuestión de segundos?
Los comandos de Linux básicos son la respuesta. Esta guía te llevará por los 50 comandos de Linux básicos fundamentales que todo usuario debería conocer, desde principiantes hasta aquellos que buscan reforzar sus conocimientos.
Tabla de contenidos
- ¿Qué son los comandos de Linux?
- Comandos de Linux básicos para navegación del sistema
- Comandos de Linux básicos para gestión de archivos
- Comandos de Linux básicos para búsqueda
- Comandos de Linux básicos para gestión de procesos
- Comandos de Linux básicos para permisos y usuarios
- Comandos de Linux básicos para redes
- Comandos de Linux básicos para compresión de archivos
- Comandos de Linux básicos para gestión del sistema
- Comandos avanzados de Linux que deberías conocer
- Conclusión
¿Qué son los comandos de Linux?
Los comandos de Linux básicos son instrucciones que se ingresan en la interfaz de línea de comandos (CLI) para interactuar directamente con el sistema operativo. A diferencia de las interfaces gráficas donde usas el ratón, en la terminal escribes instrucciones específicas que el sistema interpreta y ejecuta. Estos comandos de Linux básicos permiten realizar desde operaciones simples como crear archivos hasta tareas complejas como configurar servidores web o analizar el rendimiento del sistema.
Los comandos de Linux se caracterizan por su sintaxis específica:
comando [opciones] [argumentos]
Donde el «comando» es la instrucción principal, las «opciones» modifican el comportamiento del comando (generalmente precedidas por guiones), y los «argumentos» especifican sobre qué elementos actuará el comando.
La navegación eficiente por el sistema de archivos es fundamental para cualquier usuario de Linux. Estos comandos de Linux básicos te permitirán moverte por tu sistema como un profesional:
pwd (Print Working Directory): Este comando muestra la ruta completa del directorio en el que te encuentras actualmente. Es especialmente útil cuando trabajas con múltiples terminales o necesitas confirmar tu ubicación exacta.
$ pwd /home/usuario/documentos
ls (List): Probablemente uno de los comandos de Linux básicos más utilizados, ls
muestra el contenido del directorio actual. Puede personalizarse con numerosas opciones:
ls -l
: Muestra información detallada en formato largols -a
: Muestra archivos ocultosls -h
: Muestra tamaños en formato legible para humanos
cd (Change Directory): Te permite navegar entre directorios. Puedes usar rutas relativas o absolutas:
cd /
: Te lleva al directorio raízcd ~
: Te lleva a tu directorio personalcd ..
: Te lleva al directorio padre
mkdir (Make Directory): Crea nuevos directorios en el sistema. Puedes crear múltiples directorios simultáneamente o crear estructura anidada con opciones adicionales:
$ mkdir -p proyectos/web/css
La opción -p
crea automáticamente los directorios padres si no existen.
rmdir (Remove Directory): Elimina directorios vacíos. Si necesitas eliminar directorios con contenido, deberás utilizar comandos más avanzados como rm -r
.
Comandos de Linux básicos para gestión de archivos
La manipulación eficiente de archivos es esencial en cualquier sistema operativo. Los comandos de Linux básicos ofrecen potentes herramientas que simplifican estas tareas cotidianas:
touch: Crea archivos vacíos o actualiza la marca de tiempo de archivos existentes. Es extremadamente útil para crear archivos de placeholder o para forzar la actualización de la fecha de modificación.
$ touch informe.txt
cp (Copy): Copia archivos y directorios de un lugar a otro. Con las opciones adecuadas, puedes preservar atributos, realizar copias recursivas o interactivas:
$ cp -r documentos/ respaldo/
mv (Move): Mueve o renombra archivos y directorios. A diferencia de cp
, después de la operación el archivo original ya no existe en la ubicación inicial.
rm (Remove): Elimina archivos y directorios. Es importante recordar que, a diferencia de otros sistemas operativos, Linux no tiene una «papelera de reciclaje» para la línea de comandos. Una vez ejecutado rm
, los archivos se eliminan permanentemente.
¿Necesitas eliminar un archivo protegido contra escritura? Utiliza:
$ rm -f archivo_protegido.txt
cat (Concatenate): Muestra el contenido de archivos. También puede utilizarse para combinar múltiples archivos o crear nuevos archivos mediante redirección.
$ cat archivo1.txt archivo2.txt > combinado.txt
less: Visualiza archivos grandes de manera paginada, permitiendo desplazarse hacia adelante y hacia atrás. Es superior a cat
para archivos extensos ya que carga el archivo por partes.
Comandos de Linux básicos para búsqueda
Localizar archivos y contenido específico es una tarea común en Linux. Estos comandos de Linux básicos te ayudarán a encontrar exactamente lo que estás buscando:
find: Uno de los comandos de Linux básicos más versátiles para buscar archivos y directorios basándose en diversos criterios como nombre, tamaño, fecha de modificación, permisos y más.
$ find /home -name "*.txt" -size +1M
Este comando busca todos los archivos .txt mayores a 1MB en el directorio /home.
grep (Global Regular Expression Print): Busca patrones específicos dentro de archivos. Es increíblemente potente para análisis de logs, búsqueda de código y cualquier tarea que requiera localizar texto.
$ grep -r "function" --include="*.js" .
Este comando busca recursivamente la palabra «function» en todos los archivos JavaScript del directorio actual.
whereis: Localiza los binarios, manuales y códigos fuente de los comandos.
locate: Ofrece una búsqueda rápida utilizando una base de datos precompilada. A diferencia de find
, que busca en tiempo real, locate
es mucho más rápido pero requiere que la base de datos esté actualizada con updatedb
.
Comandos de Linux básicos para gestión de procesos
Monitorear y controlar los procesos en ejecución es crucial para mantener un sistema Linux saludable. Estos comandos de Linux básicos te dan el control total sobre las aplicaciones en ejecución:
ps (Process Status): Muestra información sobre los procesos activos. Combinado con opciones como aux
, proporciona una visión completa de todos los procesos del sistema.
$ ps aux | grep firefox
Este comando muestra todos los procesos relacionados con Firefox.
top: Ofrece una vista dinámica en tiempo real de los procesos en ejecución, ordenados por uso de CPU. Es esencial para monitorear el rendimiento del sistema.
htop: Una versión mejorada de top
con una interfaz más amigable, desplazamiento horizontal/vertical y soporte para mouse.
kill: Termina procesos utilizando su ID (PID). Puedes enviar diferentes señales para terminar procesos de manera limpia o forzosa.
$ kill -9 1234
bg y fg: Controlan procesos en segundo plano (background) y primer plano (foreground), permitiéndote gestionar múltiples tareas desde una sola terminal.
Comandos de Linux básicos para permisos y usuarios
La seguridad es uno de los pilares fundamentales de Linux. Estos comandos de Linux básicos te permiten gestionar usuarios y permisos de archivos:
chmod (Change Mode): Modifica los permisos de archivos y directorios. Puedes utilizar notación simbólica (u+x) o numérica (755).
$ chmod 755 script.sh
chown (Change Owner): Cambia el propietario de un archivo o directorio. Es fundamental para la administración de sistemas multiusuario.
$ chown usuario:grupo archivo.txt
su (Switch User): Permite cambiar a otro usuario, generalmente al superusuario (root).
sudo (Superuser Do): Ejecuta comandos con privilegios de superusuario. Es la forma recomendada de realizar tareas administrativas sin iniciar sesión directamente como root.
passwd: Cambia la contraseña de un usuario. Sin argumentos, cambia la contraseña del usuario actual.
Comandos de Linux básicos para redes
La conectividad de red es esencial en cualquier sistema moderno. Estos comandos de Linux básicos te ayudarán a diagnosticar y configurar tus conexiones:
ifconfig/ip: Muestra y configura interfaces de red. Aunque ifconfig
se considera legacy, sigue siendo ampliamente utilizado. Su reemplazo moderno es el comando ip
.
$ ip addr show
ping: Envía paquetes ICMP a un host para verificar la conectividad. Es el primer paso en cualquier diagnóstico de problemas de red.
$ ping -c 4 google.com
netstat/ss: Muestra conexiones de red, tablas de enrutamiento y estadísticas de interfaces. Al igual que ifconfig
, netstat
está siendo reemplazado gradualmente por ss
.
wget y curl: Descargan archivos desde la web. Mientras que wget
es ideal para descargas simples, curl
ofrece más opciones para interacciones HTTP avanzadas.
$ wget https://example.com/archivo.zip $ curl -O https://example.com/archivo.zip
ssh (Secure Shell): Establece conexiones seguras con sistemas remotos. Es el estándar para administración remota de servidores Linux.
$ ssh <a href="mailto:usuario@servidor.com">usuario@servidor.com</a>
Comandos de Linux básicos para compresión de archivos
La gestión eficiente del espacio es importante en cualquier sistema. Estos comandos de Linux básicos te ayudarán a comprimir y descomprimir archivos:
tar: Agrupa múltiples archivos en un solo archivo (tarball). Combinado con opciones de compresión, crea archivos comprimidos.
$ tar -czvf archivo.tar.gz directorio/
gzip/gunzip: Comprime/descomprime archivos utilizando el algoritmo gzip. Es uno de los formatos de compresión más comunes en Linux.
zip/unzip: Crea y extrae archivos en formato ZIP, útil para compartir archivos con usuarios de otros sistemas operativos.
zip -r archivo.zip directorio/ unzip archivo.zip
Comandos de Linux básicos para gestión del sistema
Mantener un sistema Linux funcionando óptimamente requiere herramientas específicas. Estos comandos de Linux básicos te ayudarán a monitorear y administrar tu sistema:
df (Disk Free): Muestra el espacio disponible en los sistemas de archivos montados. La opción -h
muestra tamaños en formato legible para humanos.
$ df -h
du (Disk Usage): Calcula el uso de espacio de archivos y directorios. Es especialmente útil para identificar qué está consumiendo espacio en tu sistema.
$ du -sh /home/*
free: Muestra la cantidad de memoria libre y utilizada en el sistema.
lsblk (List Block Devices): Muestra información sobre todos los dispositivos de bloque (discos, particiones, etc.).
uname: Muestra información sobre el sistema, como kernel, hostname y arquitectura.
$ uname -a
Comandos avanzados de Linux que deberías conocer
Para usuarios que buscan llevar sus habilidades al siguiente nivel, estos comandos de Linux básicos ofrecen funcionalidades avanzadas:
awk y sed: Potentes procesadores de texto que permiten manipulación avanzada de archivos de texto. Son herramientas esenciales para cualquier administrador de sistemas o programador.
$ awk '{print $1,$3}' archivo.txt $ sed 's/antiguo/nuevo/g' archivo.txt
cron: Programa tareas para que se ejecuten automáticamente en momentos específicos. Es fundamental para la automatización de mantenimiento del sistema.
systemctl: Controla el sistema systemd y los servicios. Ha reemplazado a comandos más antiguos como service e init.d en muchas distribuciones modernas.
$ systemctl status apache2
lsof (List Open Files): Muestra archivos abiertos y los procesos que los están utilizando. Es invaluable para diagnóstico de problemas.
Conclusión
Dominar los 50 comandos de Linux básicos es el primer paso para convertirte en un usuario avanzado o administrador de sistemas competente. La terminal, lejos de ser intimidante, se convierte en tu mejor aliada una vez que te familiarizas con estos comandos de Linux básicos. Lo maravilloso de Linux es que siempre hay más por aprender; estos 50 comandos de Linux básicos son solo el comienzo de un viaje fascinante hacia el control total de tu sistema.
¿Quieres profundizar aún más en el mundo de los comandos de Linux básicos? Te recomendamos consultar la documentación oficial del proyecto GNU para obtener información detallada sobre cada comando y sus opciones disponibles.
Recuerda que la práctica constante es la clave para dominar los comandos de Linux básicos. No temas experimentar en un entorno seguro, pues es así como verdaderamente se aprende a aprovechar todo el potencial que los 50 comandos de Linux básicos tienen para ofrecer.