🐧 Línea de comandos de Linux
Comandos básicos y avanzados para navegación, archivos, procesos, redes, monitoreo, paquetes y automatización. Adecuado para flujos de trabajo DevOps.
🔹 Comandos básicos
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| cat | Mostrar el contenido de un archivo o concatenar varios archivos | |
| cat file.txt | Ver el contenido de un archivo | |
| cat file1 file2 | Concatenar y mostrar dos archivos | |
| cat file1 file2 > merged.txt | Concatenar archivos y guardar en un nuevo archivo | |
| cd | Cambiar el directorio de trabajo actual | |
| cd /etc | Ir a la ruta absoluta  | |
| cd ~ | Ir al directorio personal | |
| cd .. | Subir un nivel | |
| cd - | Volver al directorio anterior | |
| clear | Limpiar la pantalla del terminal | |
| cp | Copiar archivos y directorios | |
| cp file1.txt file2.txt | Copiar un archivo con un nuevo nombre | |
| cp -r dir1 dir2 | Copiar un directorio de forma recursiva | |
| cp -i file.txt /tmp/ | Copiar con confirmación antes de sobrescribir | |
| echo | Imprimir una cadena o una variable de entorno | |
| echo "Hello, World!" | Imprimir una cadena simple | |
| echo $HOME | Mostrar la ruta del directorio personal | |
| echo -e "1\t2\n3" | Interpretar secuencias de escape ( ) | |
| history | Mostrar el historial de comandos | |
| id | Mostrar UID, GID y los grupos del usuario actual | |
| ls | Listar archivos y directorios | |
| ls -l | Listado detallado con permisos y propietarios | |
| ls -a | Mostrar archivos ocultos | |
| ls -lh | Tamaños legibles para humanos | |
| mkdir | Crear directorios | |
| mkdir folder | Crear un solo directorio | |
| mkdir -p a/b/c | Crear directorios anidados | |
| mkdir dir{1,2,3} | Crear varios directorios a la vez | |
| mv | Mover o renombrar archivos/directorios | |
| mv oldname.txt newname.txt | Renombrar un archivo | |
| mv file.txt /path/to/dir/ | Mover un archivo a otro directorio | |
| mv *.txt archive/ | Mover todos los archivos  | |
| pwd | Imprimir el directorio de trabajo actual | |
| pwd -P | Mostrar la ruta física (sin enlaces simbólicos) | |
| cd /tmp && pwd | Mostrar la ruta después de cambiar a  | |
| rm | Eliminar archivos o directorios | |
| rm file.txt | Eliminar un archivo | |
| rm -i file.txt | Eliminar un archivo con confirmación | |
| rm -r folder/ | Eliminar un directorio de forma recursiva | |
| rm -rf folder/ | Eliminar forzadamente sin confirmación | |
| rmdir | Eliminar un directorio vacío | |
| rmdir emptydir | Eliminar el directorio  | |
| touch | Crear archivos vacíos o actualizar la hora de modificación | |
| touch newfile.txt | Crear un archivo vacío si no existe | |
| touch a b c | Crear varios archivos a la vez | |
| touch -c file.txt | Actualizar la hora sin crear el archivo si no existe | |
| whereis | Localizar el binario, código fuente y páginas man de un comando | |
| whereis ls | Encontrar ubicaciones de  | |
| whereis bash | Mostrar rutas para el binario de Bash y su documentación | |
| whereis -b bash | Buscar solo el binario | |
| which | Mostrar la ruta del ejecutable de un comando | |
| which python3 | Ruta de  | |
| which grep | Ruta de  | |
| which --skip-alias ls | Omitir alias durante la búsqueda | |
| whoami | Mostrar el nombre de usuario efectivo | 
🔸 Nivel intermedio
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| chmod | Cambiar permisos de archivo o directorio | |
| chmod 755 file | Establecer permisos con notación octal (ej. 755) | |
| chmod +x script.sh | Agregar el bit de ejecución a un script | |
| chmod -R 644 dir/ | Establecer permisos recursivamente en un directorio | |
| chown | Cambiar propietario y grupo de un archivo | |
| chown user file | Cambiar el propietario de un archivo | |
| chown user:group file | Cambiar propietario y grupo | |
| chown -R user:group dir/ | Cambiar propietario y grupo recursivamente | |
| curl | Transferir datos desde/hacia un servidor (HTTP, HTTPS, etc.) | |
| curl -I https://example.com | Enviar una solicitud HEAD (solo cabeceras) | |
| curl -O https://example.com/file.txt | Descargar un archivo y conservar su nombre | |
| curl -d "a=1&b=2" -X POST URL | Enviar una solicitud POST con datos de formulario | |
| df | Mostrar el uso de espacio en disco de los sistemas de archivos | |
| df -h | Tamaños legibles para humanos | |
| df /home | Uso de un punto de montaje específico | |
| df -T | Mostrar tipos de sistemas de archivos | |
| diff | Comparar archivos o directorios | |
| diff file1 file2 | Comparar dos archivos | |
| diff -u old.c new.c | Diff unificado (estilo parche) | |
| diff -r dir1 dir2 | Comparación recursiva de directorios | |
| du | Estimar el uso de espacio de archivos y directorios | |
| du -sh * | Mostrar tamaño de elementos en el directorio actual | |
| du -h file.txt | Mostrar tamaño de un archivo | |
| du -sh --max-depth=1 /var | Resumir tamaños de subdirectorios de primer nivel | |
| find | Buscar archivos/directorios por nombre, tamaño, tiempo, etc. | |
| find . -name "*.log" | Buscar todos los archivos  | |
| find / -type f -size +100M | Buscar archivos mayores de 100 MB | |
| find . -mtime -1 | Archivos modificados en el último día | |
| free | Mostrar la cantidad de memoria libre y usada | |
| free -h | Unidades legibles para humanos | |
| free -m | Mostrar valores en MB | |
| watch -n 2 free -h | Actualizar salida cada 2 segundos | |
| grep | Buscar texto usando patrones (expresiones regulares) | |
| grep "error" logfile | Encontrar líneas que contengan  | |
| grep -r "error" /var/log | Búsqueda recursiva en un directorio | |
| grep -i "fail" file | Búsqueda sin distinguir mayúsculas/minúsculas | |
| head | Mostrar las primeras líneas de un archivo | |
| head -n 10 file | Primeras 10 líneas | |
| head -n 20 file.txt | Primeras 20 líneas | |
| head -c 100 file | Primeros 100 bytes | |
| hostname | Mostrar o establecer el nombre del host del sistema | |
| hostname newname | Establecer temporalmente el nombre del host hasta reinicio | |
| hostname -I | Mostrar direcciones IP | |
| kill | Enviar señales a procesos | |
| kill -9 1234 | Forzar la finalización de un proceso por PID | |
| kill -TERM 1234 | Finalizar con SIGTERM de forma ordenada | |
| pkill -f python | Finalizar procesos que coincidan con un patrón | |
| ping | Comprobar conectividad de red usando solicitudes ICMP | |
| ping 8.8.8.8 | Hacer ping a una dirección | |
| ping -c 4 ya.ru | Enviar 4 paquetes | |
| ping -i 2 1.1.1.1 | Intervalo de 2 segundos | |
| ps | Mostrar estado de procesos | |
| ps aux | Listar todos los procesos | |
| ps -ef | grep nginx | Filtrar por nombre usando  | |
| ps -u $USER | Procesos del usuario actual | |
| rsync | Transferencia de archivos incremental rápida | |
| rsync -av src/ dst/ | Sincronizar directorios localmente | |
| rsync -avz user@host:/src /dst | Sincronizar con un host remoto por SSH | |
| rsync --delete src/ dst/ | Eliminar archivos en destino que faltan en origen | |
| scp | Copia segura (copiar archivos de forma remota) | |
| scp file user@host:/path | Copiar un archivo a un host remoto | |
| scp user@host:/file.txt . | Copiar un archivo desde un host remoto | |
| scp -r dir user@host:/path | Copiar un directorio recursivamente | |
| sort | Ordenar líneas de texto | |
| sort file.txt | Ordenar alfabéticamente | |
| sort -r file.txt | Orden inverso | |
| sort -n numbers.txt | Orden numérico | |
| tail | Mostrar el final de archivos; seguir cambios | |
| tail -f logfile.log | Seguir un log en tiempo real | |
| tail -n 20 file.txt | Mostrar las últimas 20 líneas | |
| tail -c 100 file.txt | Mostrar los últimos 100 bytes | |
| tar | Crear, listar o extraer archivos tar | |
| tar -czf archive.tgz dir/ | Crear un archivo comprimido  | |
| tar -xzf archive.tgz | Extraer un archivo  | |
| tar -tf archive.tgz | Listar contenido de un archivo | |
| tee | Leer desde stdin y escribir en stdout y archivos | |
| echo "test" | tee out.txt | Escribir salida en  | |
| ls | tee list.txt | Guardar salida de  | |
| command | tee -a log.txt | Añadir salida al final de  | |
| top | Mostrar tareas de Linux (visor interactivo de procesos) | |
| top | Iniciar top | |
| htop | Visor interactivo alternativo (htop) | |
| top -o %MEM | Ordenar por uso de memoria | |
| uptime | Mostrar cuánto tiempo lleva encendido el sistema | |
| uptime -p | Uptime formateado | |
| uptime -s | Hora de arranque del sistema | |
| wget | Descargador de red no interactivo | |
| wget https://site.com/file.zip | Descargar un archivo por URL | |
| wget -c file.zip | Reanudar una descarga interrumpida | |
| wget -O saved.txt URL | Guardar con un nombre diferente | |
| wc | Imprimir número de líneas, palabras y bytes de archivos | |
| wc -l file | Contar líneas | |
| wc -w file | Contar palabras | |
| wc -m file | Contar caracteres | |
| uniq | Informar o eliminar líneas duplicadas consecutivas | |
| uniq file.txt | Eliminar duplicados consecutivos | |
| sort file | uniq | Eliminar duplicados después de ordenar | |
| sort file | uniq -c | Contar ocurrencias de cada línea | |
| yes | Imprimir una cadena repetidamente hasta ser detenido; útil para scripts | |
| yes "y" | command | Responder siempre “y” a los mensajes | |
| yes | rm -i * | Confirmar automáticamente eliminaciones interactivas | |
| yes no | command | Responder “no” a los mensajes | 
🔧 Comandos avanzados
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| at | Programar la ejecución única de un comando en un momento dado | |
| at now + 1 minute | Ejecutar un comando dentro de un minuto | |
| atq | Listar trabajos pendientes | |
| atrm | Eliminar un trabajo pendiente | |
| awk | Lenguaje para escaneo de patrones y procesamiento de texto | |
| awk '{print $1}' file | Imprimir la primera columna | |
| ps aux | awk '$3 > 50' | Filtrar procesos por uso de CPU | |
| cat file.txt | awk '{print $2}' | Imprimir el segundo campo de cada línea | |
| awk '/error/ {print $0}' logfile | Imprimir líneas que coincidan con un patrón | |
| crontab | Instalar, listar o eliminar tareas cron por usuario | |
| crontab -e | Editar el crontab del usuario actual | |
| crontab -l | Listar tareas cron | |
| crontab -r | Eliminar el crontab del usuario actual | |
| cut | Eliminar o seleccionar secciones de cada línea de archivos | |
| cut -d':' -f1 /etc/passwd | Imprimir nombres de usuario de  | |
| echo "a:b:c" | cut -d':' -f2 | Cortar el segundo campo usando ‘:’ como delimitador | |
| cut -c1-5 filename | Seleccionar caracteres por posición | |
| df | Mostrar el uso de espacio en disco del sistema de archivos | |
| df -h | Tamaños legibles para humanos | |
| df -T | Mostrar tipos de sistemas de archivos | |
| df /home | Uso del directorio personal | |
| env | Ejecutar un comando en un entorno modificado o mostrar variables | |
| env | grep PATH | Mostrar entradas de PATH | |
| env -i bash | Iniciar una shell limpia con entorno vacío | |
| export | Definir variables de entorno para la shell/sesión actual | |
| export VAR=value | Establecer una variable en esta shell | |
| export PATH=$PATH:/new/path | Añadir un directorio al PATH | |
| export -p | Listar variables exportadas | |
| free | Mostrar uso de memoria | |
| free -m | Mostrar en MB | |
| free -h | Unidades legibles para humanos | |
| free -s 5 | Muestrear cada 5 segundos | |
| hostnamectl | Consultar y cambiar el nombre de host y configuración relacionada | |
| hostnamectl status | Mostrar estado del nombre de host | |
| hostnamectl set-hostname newname | Definir un nuevo nombre de host estático | |
| ifconfig/ip | Herramientas IP para ver/gestionar interfaces y direcciones | |
| ifconfig | Mostrar interfaces de red (obsoleto) | |
| ip a | Mostrar direcciones con  | |
| ip link set eth0 up | Activar una interfaz | |
| iostat | Mostrar estadísticas de CPU y E/S | |
| iostat -x 2 | Estadísticas extendidas cada 2 segundos | |
| iostat -d 5 3 | Estadísticas de dispositivos (intervalo de 5s, 3 reportes) | |
| iptables | Herramienta de administración para filtrado de paquetes IPv4 y NAT | |
| iptables -L | Listar reglas actuales | |
| iptables -A INPUT -p tcp --dport 22 -j ACCEPT | Permitir SSH entrante en el puerto 22 | |
| iptables -F | Eliminar todas las reglas | |
| journalctl | Consultar el registro de systemd | |
| journalctl -xe | Mostrar errores recientes con contexto | |
| journalctl -u nginx.service | Mostrar registros de un servicio | |
| journalctl --since "2 hours ago" | Mostrar registros desde un tiempo relativo | |
| ln | Crear enlaces entre archivos | |
| ln -s target link | Crear un enlace simbólico | |
| ln file.txt backup.txt | Crear un enlace duro | |
| ln -sf target link | Recrear un enlace simbólico forzadamente | |
| sed | Editor de flujo para filtrar y transformar texto | |
| sed 's/old/new/g' file | Reemplazar una cadena globalmente | |
| sed -n '1,5p' file | Imprimir solo un rango de líneas | |
| sed '/pattern/d' file | Eliminar líneas que coincidan con un patrón | |
| systemctl | Controlar el sistema y servicios systemd | |
| systemctl status nginx | Mostrar estado de un servicio | |
| systemctl start nginx | Iniciar un servicio | |
| systemctl enable nginx | Habilitar un servicio al arrancar | |
| tr | Traducir o eliminar caracteres | |
| tr a-z A-Z | Convertir minúsculas en mayúsculas | |
| echo "hello" | tr 'h' 'H' | Reemplazar un carácter | |
| echo "abc123" | tr -d '0-9' | Eliminar dígitos | |
| type | Describir cómo se interpretará un nombre en la shell | |
| type ls | Mostrar cómo se resuelve  | |
| type cd | Mostrar cómo se resuelve  | |
| type python3 | Mostrar cómo se resuelve  | |
| ulimit | Obtener o definir límites de recursos de procesos de usuario | |
| ulimit -n | Mostrar número máximo de archivos abiertos | |
| ulimit -c unlimited | Habilitar volcados de memoria | |
| ulimit -u 4096 | Limitar número de procesos de usuario | |
| uptime | Mostrar tiempo activo del sistema y carga promedio | |
| uptime -p | Uptime formateado | |
| uptime -s | Mostrar hora de arranque | |
| xargs | Construir y ejecutar comandos desde entrada estándar | |
| xargs -n 1 echo | Imprimir cada argumento en una línea | |
| echo "a b c" | xargs -n 1 | Dividir palabras en argumentos separados | |
| find . -name '*.txt' | xargs rm | Encontrar archivos y eliminarlos con xargs | 
🌐 Comandos de red
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| curl | Transferir datos hacia/desde servidores | |
| curl -X POST -d "a=1" URL | Solicitud POST con datos de formulario | |
| curl -I URL | Obtener solo cabeceras | |
| curl -o file.html URL | Descargar y guardar en un archivo | |
| dig | Utilidad de consultas DNS | |
| dig openai.com | Consultar registros A | |
| dig +short openai.com | Respuesta corta | |
| dig @8.8.8.8 openai.com | Usar un servidor DNS específico | |
| ftp | Cliente de FTP (Protocolo de transferencia de archivos) | |
| ftp host | Conectar a un servidor FTP | |
| ftp -n host | Conectar sin inicio de sesión automático | |
| ftp> get file.txt | Descargar un archivo en sesión FTP | |
| ip address | Mostrar/gestionar direcciones IP | |
| ip addr show eth0 | Mostrar info de dirección para  | |
| ip addr | Listar todas las direcciones | |
| ip link | Mostrar/gestionar dispositivos de red | |
| ip link show | Mostrar enlaces de red | |
| ip link set eth0 up | Activar una interfaz | |
| ip route | Mostrar/gestionar la tabla de enrutamiento IP | |
| ip route list | Listar tabla de rutas | |
| ip route add default via 192.168.1.1 | Añadir ruta por defecto | |
| nc | Conexiones y escucha TCP/UDP arbitrarias | |
| nc -zv host 22 | Escanear puertos de un host | |
| nc -l 1234 | Escuchar en un puerto TCP | |
| nc host 1234 < file | Enviar un archivo a un puerto remoto | |
| nmap | Herramienta de exploración de red y escáner de puertos/seguridad | |
| nmap -sP 192.168.1.0/24 | Ping scan de una subred | |
| nmap -sV 192.168.1.1 | Detección de servicios/versiones | |
| nmap -O 192.168.1.1 | Detección de SO | |
| nslookup | Consultar servidores de nombres de dominio | |
| nslookup google.com | Consultar un dominio | |
| nslookup 8.8.8.8 | Búsqueda inversa de una IP | |
| ssh | Cliente de inicio de sesión remoto OpenSSH | |
| ssh user@host | Conectar a un host | |
| ssh -p 2222 user@host | Conectar usando un puerto no predeterminado | |
| ssh -i ~/.ssh/id_rsa user@host | Iniciar sesión con clave privada | |
| ss | Utilidad para investigar sockets | |
| ss -tuln | Listar puertos TCP/UDP en escucha | |
| ss -s | Estadísticas resumidas | |
| ss -l | Listar sockets en escucha | |
| telnet | Interfaz de usuario para el protocolo TELNET | |
| telnet host 80 | Conectar a un host en puerto 80 | |
| telnet example.com 443 | Conectar a 443 | |
| telnet localhost 25 | Conectar a SMTP local | |
| traceroute | Rastrear la ruta hacia un host de red | |
| traceroute 8.8.8.8 | Rastrear ruta a una IP | |
| traceroute -m 15 8.8.8.8 | Limitar saltos máximos | |
| wget | Recuperar archivos de la web | |
| wget -O file.txt URL | Guardar salida en un archivo | |
| wget URL | Descargar en directorio actual | |
| wget -c URL | Continuar una descarga parcial | 
🔍 Búsqueda y gestión de archivos
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| basename | Quitar directorio y sufijo de nombres de archivo | |
| basename /path/to/file | Imprimir el nombre de archivo desde una ruta | |
| basename /path/to/file .txt | Quitar un sufijo del nombre | |
| dirname | Quitar el último componente de una ruta | |
| dirname /path/to/file | Mostrar la parte de directorio de la ruta | |
| dirname /etc/passwd | Mostrar el directorio padre de  | |
| du | Estimar el uso de espacio de archivos | |
| du -sh folder/ | Mostrar tamaño de un directorio | |
| du -h * | Mostrar tamaño de elementos en el directorio actual | |
| du -c folder1 folder2 | Tamaño acumulado de varios directorios | |
| file | Determinar el tipo de archivo | |
| file some.bin | Detectar tipo de archivo | |
| file * | Detectar tipos para todos los archivos en el directorio | |
| file -i file.txt | Mostrar tipo MIME | |
| find | Buscar archivos | |
| find /path -type f -name "*.sh" | Buscar scripts de shell por nombre | |
| find . -size +10M | Buscar archivos mayores de 10 MB | |
| find /tmp -mtime -1 | Buscar archivos modificados en el último día | |
| locate | Buscar archivos por nombre usando base de datos | |
| locate filename | Localizar un nombre de archivo | |
| locate *.conf | Búsqueda con comodines | |
| locate -i README | Búsqueda sin distinguir mayúsculas/minúsculas | |
| realpath | Imprimir la ruta absoluta resuelta | |
| realpath file | Resolver la ruta de un archivo | |
| realpath ../relative/path | Resolver una ruta relativa | |
| stat | Mostrar estado de archivo o sistema de archivos | |
| stat file | Mostrar estado detallado del archivo | |
| stat -c %s file | Imprimir solo tamaño de archivo | |
| stat -f file | Mostrar estado del sistema de archivos | |
| tree | Listar contenido de directorios en formato de árbol | |
| tree | Imprimir árbol de directorios | |
| tree -L 2 | Limitar profundidad de visualización | |
| tree -a | Incluir archivos ocultos | 
📊 Monitoreo del sistema
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| dmesg | Imprimir o controlar el búfer de anillo del kernel | |
| dmesg | tail | Mostrar los últimos mensajes del kernel | |
| dmesg | grep usb | Filtrar mensajes de USB | |
| free | Mostrar uso de memoria | |
| free -h | Unidades legibles para humanos | |
| free -m | Mostrar en MB | |
| htop | Visor interactivo de procesos | |
| htop | Ejecutar  | |
| iotop | Mostrar uso de E/S por procesos | |
| iotop | Ejecutar  | |
| iotop -o | Mostrar solo procesos que hacen E/S | |
| lsof | Listar archivos abiertos | |
| lsof -i :80 | Mostrar procesos usando puerto 80 | |
| lsof -u username | Mostrar archivos abiertos por un usuario | |
| uptime | Mostrar tiempo activo del sistema y promedios de carga | |
| vmstat | Informe de estadísticas de memoria virtual | |
| vmstat 1 | Actualizar cada 1 segundo | |
| vmstat 5 3 | Intervalo de 5 segundos, 3 reportes | |
| watch | Ejecutar un programa periódicamente mostrando salida | |
| watch -n 1 df -h | Vigilar uso de disco | |
| watch -d free -h | Resaltar diferencias y vigilar memoria | 
📦 Gestión de paquetes
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| apt | Gestor de paquetes APT (Debian/Ubuntu) | |
| apt install curl | Instalar un paquete | |
| apt remove curl | Eliminar un paquete | |
| apt update && apt upgrade | Actualizar listas y paquetes | |
| dnf | Dandified YUM (familia Fedora/RHEL) | |
| dnf install curl | Instalar un paquete | |
| dnf upgrade | Actualizar paquetes | |
| rpm | Gestor de paquetes RPM | |
| rpm -ivh package.rpm | Instalar un paquete RPM | |
| rpm -e package | Eliminar (desinstalar) un paquete | |
| snap | Gestor de paquetes Snap | |
| snap install app | Instalar un snap | |
| snap remove app | Eliminar un snap | |
| yum | Yellowdog Updater Modified (RHEL/CentOS) | |
| yum install curl | Instalar un paquete | |
| yum remove curl | Eliminar un paquete | 
💽 Sistemas de archivos
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| blkid | Localizar/imprimir atributos de dispositivos de bloque | |
| blkid | Listar dispositivos de bloque y atributos | |
| df | Mostrar uso de espacio en disco de sistemas de archivos | |
| df -Th | Tamaños legibles por tipo | |
| fsck | Comprobar y reparar un sistema de archivos Linux | |
| fsck /dev/sda1 | Comprobar un dispositivo | |
| lsblk | Listar información sobre dispositivos de bloque | |
| lsblk | Listar dispositivos en árbol | |
| mkfs | Crear un sistema de archivos Linux | |
| mkfs.ext4 /dev/sdb1 | Crear un sistema de archivos ext4 | |
| mount | Montar un sistema de archivos | |
| mount /dev/sdb1 /mnt | Montar un dispositivo en  | |
| mount | grep /mnt | Mostrar sistemas montados filtrados por ruta | |
| parted | Programa de manipulación de particiones | |
| parted /dev/sdb | Abrir un disco para particionado | |
| umount | Desmontar sistemas de archivos | |
| umount /mnt | Desmontar un punto de montaje | 
🤖 Scripts y automatización
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| alias | Definir o mostrar alias de la shell | |
| alias ll='ls -la' | Crear un alias útil | |
| alias | Listar alias definidos | |
| bash/sh | Ejecutar scripts de shell | |
| bash script.sh | Ejecutar un script con Bash | |
| sh script.sh | Ejecutar un script con  | |
| crontab | Tablas cron por usuario | |
| crontab -e | Editar el crontab del usuario actual | |
| read | Solicitar entrada de usuario en scripts de shell | |
| read name | Leer en una variable | |
| set | Configurar opciones/parámetros de la shell | |
| set -e | Salir al primer error | |
| source | Leer y ejecutar comandos de un archivo en la shell actual | |
| source ~/.bashrc | Recargar la configuración de la shell | |
| trap | Capturar señales y ejecutar comandos | |
| trap "echo 'exit'" EXIT | Ejecutar un comando al salir de la shell | 
🛠 Desarrollo y depuración
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| gcc | Compilador GNU C | |
| gcc main.c -o app | Compilar un archivo fuente en C | |
| gdb | Depurador GNU | |
| gdb ./app | Depurar un binario compilado | |
| git | Sistema distribuido de control de versiones | |
| git status | Mostrar estado del árbol de trabajo | |
| git commit -m "msg" | Hacer un commit con un mensaje | |
| ltrace | Trazador de llamadas a librerías | |
| ltrace ./app | Rastrear llamadas a librerías de un binario | |
| make | Utilidad para mantener y compilar programas | |
| make | Compilar según el Makefile | |
| shellcheck | Análisis estático para scripts de shell | |
| shellcheck script.sh | Analizar un script de shell | |
| strace | Rastrear llamadas al sistema y señales | |
| strace ./app | Rastrear syscalls de un programa | |
| valgrind | Framework de instrumentación para análisis dinámico | |
| valgrind ./app | Ejecutar un programa bajo Valgrind | |
| vim/nano | Editores de texto en línea de comandos | |
| vim file.sh | Editar con Vim | |
| nano file.sh | Editar con Nano | 
📌 Varios
| Dominio | Ejemplo | Descripción | 
|---|---|---|
| cal | Mostrar un calendario | |
| cal 2025 | Mostrar un calendario anual | |
| cal 08 2025 | Mostrar un mes específico | |
| date | Mostrar o configurar la fecha y hora del sistema | |
| date +%T | Imprimir la hora actual (HH:MM:SS) | |
| date -d "next friday" | Imprimir fecha de un día relativo | |
| factor | Factorizar enteros | |
| factor 100 | Factorizar un número | |
| man | Formatear y mostrar páginas de manual | |
| man tar | Abrir una página man | |
| man -k copy | Buscar manuales por palabra clave | |
| man 5 passwd | Abrir una sección específica del manual | |
| seq | Imprimir secuencias de números | |
| seq 1 5 | Contar de 1 a 5 | |
| seq 1 2 9 | Contar con un paso | |
| seq -s ',' 1 5 | Unir números con un separador personalizado | |
| yes | Imprimir una cadena repetidamente hasta ser detenido | |
| yes | rm -r dir | Confirmar automáticamente una eliminación recursiva | 
📚 Recursos adicionales
📘 man pages — manuales detallados de comandos:
man ls
man rm📙 TLDR — ejemplos concisos de uso de comandos populares:
🧠 Consejo: Instala tldr para obtener ayuda tipo chuleta:
sudo apt install tldr   # o: npm install -g tldr
tldr tar                # ejemplo de un resumen corto para el comando tar🌐 Enlaces útiles
Linux man pages online — páginas de manual oficiales, buscables por nombre de comando:
https://man7.org/linux/man-pages/
Páginas de manual simplificadas y comunitarias — ayuda creada por la comunidad con ejemplos prácticos:
https://tldr.sh/