🐧 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
| Comando | Ejemplo | Descripción | 
|---|---|---|
| cat | Mostrar contenido de archivos o concatenar varios archivos | |
| cat file.txt | Ver 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 de la 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 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 grupos del usuario actual | |
| ls | Listar archivos y directorios | |
| ls -l | Listado largo con permisos y propietarios | |
| ls -a | Mostrar archivos ocultos | |
| ls -lh | Tamaños legibles por humanos | |
| mkdir | Crear directorios | |
| mkdir folder | Crear un solo directorio | |
| mkdir -p a/b/c | Crear directorios anidados | |
| mkdir dir{1,2,3} | Crear múltiples 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 | Mostrar el directorio de trabajo actual | |
| pwd -P | Mostrar la ruta física (sin symlinks) | |
| cd /tmp && pwd | Mostrar la ruta después de cambiar a  | |
| rm | Eliminar archivos o directorios | |
| rm file.txt | Borrar un archivo | |
| rm -i file.txt | Borrar un archivo con confirmación | |
| rm -r folder/ | Borrar recursivamente un directorio | |
| rm -rf folder/ | Forzar borrado 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 nuevo archivo vacío si no existe | |
| touch a b c | Crear múltiples archivos a la vez | |
| touch -c file.txt | Actualizar la hora sin crear archivo si no existe | |
| whereis | Localizar el binario, código fuente y páginas man de un comando | |
| whereis ls | Encontrar ubicaciones para  | |
| whereis bash | Mostrar rutas del binario y documentación de Bash | |
| 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 | Imprimir el nombre de usuario efectivo | 
🔸 Nivel intermedio
| Comando | Ejemplo | Descripción | 
|---|---|---|
| chmod | Cambiar permisos de archivos o directorios | |
| chmod 755 file | Asignar permisos con notación octal (ej. 755) | |
| chmod +x script.sh | Agregar permiso de ejecución a un script | |
| chmod -R 644 dir/ | Asignar 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 de forma recursiva | |
| curl | Transferir datos desde/hacia un servidor (HTTP, HTTPS, etc.) | |
| curl -I https://example.com | Enviar una petición HEAD (solo encabezados) | |
| curl -O https://example.com/file.txt | Descargar un archivo y mantener su nombre | |
| curl -d "a=1&b=2" -X POST URL | Enviar una petición POST con datos de formulario | |
| df | Reportar uso de espacio en disco de sistemas de archivos | |
| df -h | Tamaños legibles por 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 patch) | |
| 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 solo 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" | Encontrar todos los archivos  | |
| find / -type f -size +100M | Encontrar archivos mayores de 100 MB | |
| find . -mtime -1 | Archivos modificados en el último día | |
| free | Mostrar memoria libre y usada | |
| free -h | Unidades legibles por humanos | |
| free -m | Mostrar valores en MB | |
| watch -n 2 free -h | Refrescar la salida cada 2 segundos | |
| grep | Buscar texto usando patrones (expresiones regulares) | |
| grep "error" logfile | Buscar 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 | Asignar nombre de host temporal hasta reinicio | |
| hostname -I | Mostrar direcciones IP | |
| kill | Enviar señales a procesos | |
| kill -9 1234 | Matar un proceso por PID | |
| kill -TERM 1234 | Terminar con SIGTERM de forma ordenada | |
| pkill -f python | Matar procesos que coincidan con un patrón | |
| ping | Verificar conectividad de red con peticiones 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 | Definir 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 incremental rápida de archivos | |
| rsync -av src/ dst/ | Sincronizar directorios localmente | |
| rsync -avz user@host:/src /dst | Sincronizar con un host remoto vía SSH | |
| rsync --delete src/ dst/ | Eliminar archivos en destino que no están 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 de forma recursiva | |
| sort | Ordenar líneas de texto | |
| sort file.txt | Orden alfabético | |
| sort -r file.txt | Orden inverso | |
| sort -n numbers.txt | Orden numérico | |
| tail | Mostrar la última parte 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 de 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 de procesos interactivo) | |
| 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 | Tiempo de actividad legible | |
| 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 | Contar líneas, palabras y bytes de archivos | |
| wc -l file | Contar líneas | |
| wc -w file | Contar palabras | |
| wc -m file | Contar caracteres | |
| uniq | Reportar o filtrar líneas repetidas (duplicados adyacentes) | |
| uniq file.txt | Eliminar duplicados adyacentes | |
| 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 detener; útil en scripts | |
| yes "y" | command | Responder siempre “y” a los avisos | |
| yes | rm -i * | Auto-confirmar borrados interactivos | |
| yes no | command | Responder “no” a los avisos | 
🔧 Comandos avanzados
| Comando | Ejemplo | Descripción | 
|---|---|---|
| at | Programar un comando de una sola vez para ejecutarse en un momento dado | |
| at now + 1 minute | Ejecutar un comando un minuto desde ahora | |
| atq | Listar trabajos pendientes | |
| atrm | Eliminar un trabajo pendiente | |
| awk | Lenguaje de escaneo de patrones y procesamiento | |
| 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 trabajos cron por usuario | |
| crontab -e | Editar el crontab del usuario actual | |
| crontab -l | Listar trabajos 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 | Reportar el uso de espacio en disco del sistema de archivos | |
| df -h | Tamaños legibles por humanos | |
| df -T | Mostrar tipos de sistemas de archivos | |
| df /home | Uso para el directorio personal | |
| env | Ejecutar un comando en un entorno modificado o mostrar env | |
| env | grep PATH | Mostrar entradas de PATH | |
| env -i bash | Iniciar una shell limpia con entorno vacío | |
| export | Establecer variables de entorno para la shell/sesión actual | |
| export VAR=value | Asignar una variable para esta shell | |
| export PATH=$PATH:/new/path | Agregar un directorio al PATH | |
| export -p | Listar variables exportadas | |
| free | Mostrar uso de memoria | |
| free -m | Mostrar en MB | |
| free -h | Unidades legibles por humanos | |
| free -s 5 | Muestrear cada 5 segundos | |
| hostnamectl | Consultar y cambiar el nombre de host del sistema y configuraciones relacionadas | |
| hostnamectl status | Mostrar estado del nombre de host | |
| hostnamectl set-hostname newname | Asignar un nuevo nombre de host estático | |
| ifconfig/ip | Herramientas IP para ver/gestionar interfaces y direcciones | |
| ifconfig | Mostrar interfaces de red (legacy) | |
| ip a | Mostrar direcciones con  | |
| ip link set eth0 up | Activar una interfaz | |
| iostat | Reportar estadísticas de CPU e I/O | |
| 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 | Vaciar todas las reglas | |
| journalctl | Consultar el journal de systemd | |
| journalctl -xe | Mostrar errores recientes con contexto | |
| journalctl -u nginx.service | Mostrar logs de un servicio | |
| journalctl --since "2 hours ago" | Mostrar logs 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 | |
| systemctl | Controlar el sistema y gestor de servicios systemd | |
| systemctl status nginx | Mostrar estado de un servicio | |
| systemctl start nginx | Iniciar un servicio | |
| systemctl enable nginx | Habilitar un servicio al arranque | |
| tr | Traducir o eliminar caracteres | |
| tr a-z A-Z | Convertir minúsculas a 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ía 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 establecer límites de recursos de procesos de usuario | |
| ulimit -n | Mostrar máximo de archivos abiertos | |
| ulimit -c unlimited | Habilitar core dumps | |
| ulimit -u 4096 | Limitar número de procesos de usuario | |
| uptime | Mostrar tiempo de actividad y carga promedio del sistema | |
| uptime -p | Tiempo de actividad legible | |
| uptime -s | Mostrar hora de arranque | |
| xargs | Construir y ejecutar comandos desde la entrada estándar | |
| xargs -n 1 echo | Imprimir cada argumento en una línea separada | |
| echo "a b c" | xargs -n 1 | Dividir palabras en argumentos separados | |
| find . -name '*.txt' | xargs rm | Buscar archivos y eliminarlos con xargs | 
🌐 Comandos de red
| Comando | Ejemplo | Descripción | 
|---|---|---|
| curl | Transferir datos hacia/desde servidores | |
| curl -X POST -d "a=1" URL | Petición POST con datos de formulario | |
| curl -I URL | Obtener solo encabezados | |
| curl -o file.html URL | Descargar y guardar en un archivo | |
| dig | Utilidad de consulta 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 Protocolo de Transferencia de Archivos (FTP) | |
| ftp host | Conectarse a un servidor FTP | |
| ftp -n host | Conectarse sin inicio de sesión automático | |
| ftp> get file.txt | Descargar un archivo en una sesión FTP | |
| ip address | Mostrar/manipular direcciones IP | |
| ip addr show eth0 | Mostrar info de direcciones para  | |
| ip addr | Listar todas las direcciones | |
| ip link | Mostrar/manipular dispositivos de red | |
| ip link show | Mostrar enlaces de red | |
| ip link set eth0 up | Activar una interfaz | |
| ip route | Mostrar/manipular la tabla de enrutamiento IP | |
| ip route list | Listar tabla de enrutamiento | |
| ip route add default via 192.168.1.1 | Agregar una ruta predeterminada | |
| nc | Conexiones TCP/UDP arbitrarias y escucha | |
| 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 seguridad/puertos | |
| nmap -sP 192.168.1.0/24 | Escaneo de ping en una subred | |
| nmap -sV 192.168.1.1 | Detección de servicios/versiones | |
| nmap -O 192.168.1.1 | Detección de sistema operativo | |
| nslookup | Consultar servidores de nombres de dominio en Internet | |
| nslookup google.com | Consultar un nombre de dominio | |
| nslookup 8.8.8.8 | Búsqueda inversa para una IP | |
| ssh | Cliente de inicio de sesión remoto OpenSSH | |
| ssh user@host | Conectarse a un host | |
| ssh -p 2222 user@host | Conectarse usando un puerto no predeterminado | |
| ssh -i ~/.ssh/id_rsa user@host | Iniciar sesión con una clave privada específica | |
| ss | Utilidad para investigar sockets | |
| ss -tuln | Listar puertos TCP/UDP en escucha | |
| ss -s | Estadísticas de resumen | |
| ss -l | Listar sockets en escucha | |
| telnet | Interfaz de usuario para el protocolo TELNET | |
| telnet host 80 | Conectarse a un host en el puerto 80 | |
| telnet example.com 443 | Conectarse al puerto 443 | |
| telnet localhost 25 | Conectarse 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 el directorio actual | |
| wget -c URL | Continuar una descarga parcial | 
🔍 Búsqueda y gestión de archivos
| Comando | Ejemplo | Descripción | 
|---|---|---|
| basename | Eliminar directorio y sufijo de nombres de archivo | |
| basename /path/to/file | Imprimir el nombre del archivo desde una ruta | |
| basename /path/to/file .txt | Eliminar un sufijo del nombre | |
| dirname | Eliminar el último componente de una ruta | |
| dirname /path/to/file | Mostrar la parte de directorio de la ruta | |
| dirname /etc/passwd | Mostrar el 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 múltiples directorios | |
| file | Determinar tipo de archivo | |
| file some.bin | Detectar tipo de archivo | |
| file * | Detectar tipos de todos los archivos en un 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 de archivo | |
| stat -c %s file | Imprimir solo el tamaño del archivo | |
| stat -f file | Mostrar estado del sistema de archivos | |
| tree | Listar contenidos de directorios en formato de árbol | |
| tree | Imprimir árbol de directorio | |
| tree -L 2 | Limitar la profundidad de visualización | |
| tree -a | Incluir archivos ocultos | 
📊 Monitoreo del sistema
| Comando | Ejemplo | Descripción | 
|---|---|---|
| dmesg | Imprimir o controlar el buffer 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 por humanos | |
| free -m | Mostrar en MB | |
| htop | Visor de procesos interactivo | |
| htop | Ejecutar  | |
| iotop | Mostrar uso de I/O por procesos | |
| iotop | Ejecutar  | |
| iotop -o | Mostrar solo procesos que hacen I/O | |
| lsof | Listar archivos abiertos | |
| lsof -i :80 | Mostrar procesos usando el puerto 80 | |
| lsof -u username | Mostrar archivos abiertos por un usuario | |
| uptime | Mostrar tiempo de actividad del sistema y carga promedio | |
| vmstat | Reportar estadísticas de memoria virtual | |
| vmstat 1 | Refrescar cada 1 segundo | |
| vmstat 5 3 | Intervalo de cinco 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
| Comando | 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 mejorar 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 Snappy | |
| 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
| Comando | Ejemplo | Descripción | 
|---|---|---|
| blkid | Localizar/imprimir atributos de dispositivos de bloque | |
| blkid | Listar dispositivos de bloque y atributos | |
| df | Reportar uso de espacio en disco de sistemas de archivos | |
| df -Th | Tamaños legibles por humanos por tipo | |
| fsck | Verificar y reparar un sistema de archivos Linux | |
| fsck /dev/sda1 | Verificar un dispositivo | |
| lsblk | Listar información de dispositivos de bloque | |
| lsblk | Listar dispositivos en árbol | |
| mkfs | Construir 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 particionar | |
| umount | Desmontar sistemas de archivos | |
| umount /mnt | Desmontar un punto de montaje | 
🤖 Scripts y automatización
| Comando | Ejemplo | Descripción | 
|---|---|---|
| alias | Definir o mostrar alias de 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 del usuario en scripts de shell | |
| read name | Leer en una variable | |
| set | Establecer opciones de shell/parámetros posicionales | |
| set -e | Salir en el primer error | |
| source | Leer y ejecutar comandos desde un archivo en la shell actual | |
| source ~/.bashrc | Recargar configuración de shell | |
| trap | Atrapar señales y ejecutar comandos | |
| trap "echo 'exit'" EXIT | Ejecutar un comando al salir de la shell | 
🛠 Desarrollo y depuración
| Comando | 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 commit con mensaje | |
| ltrace | Trazador de llamadas a librerías | |
| ltrace ./app | Trazar llamadas de librería de un binario | |
| make | Utilidad para mantener grupos de programas | |
| make | Construir según Makefile | |
| shellcheck | Análisis estático para scripts de shell | |
| shellcheck script.sh | Revisar un script de shell | |
| strace | Trazar llamadas al sistema y señales | |
| strace ./app | Trazar syscalls de un programa | |
| valgrind | Framework de instrumentación para herramientas de 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 | 
📌 Misceláneo
| Comando | Ejemplo | Descripción | 
|---|---|---|
| cal | Mostrar un calendario | |
| cal 2025 | Mostrar calendario anual | |
| cal 08 2025 | Mostrar un mes específico | |
| date | Mostrar o establecer la fecha y hora del sistema | |
| date +%T | Imprimir hora actual (HH:MM:SS) | |
| date -d "next friday" | Imprimir fecha para un día relativo | |
| factor | Factorizar enteros | |
| factor 100 | Factorizar un número | |
| man | Formatear y mostrar páginas de manual en línea | |
| 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 del 1 al 5 | |
| seq 1 2 9 | Contar con paso | |
| seq -s ',' 1 5 | Unir números con un separador personalizado | |
| yes | Imprimir una cadena repetidamente hasta detenerse | |
| yes | rm -r dir | Auto-confirmar un borrado recursivo | 
📚 Recursos adicionales
📘 páginas man - manuales detallados para comandos:
man ls
man rm📙 TLDR - ejemplos concisos de uso de comandos populares:
🧠 Consejo: Instala tldr para ayuda en estilo hoja de referencia:
sudo apt install tldr   # o: npm install -g tldr
tldr tar                # ejemplo de un resumen corto para el comando tar🌐 Enlaces útiles
Páginas man de Linux en línea — manuales oficiales, buscables por nombre de comando:
https://man7.org/linux/man-pages/
Páginas man simplificadas y comunitarias — ayuda impulsada por la comunidad con ejemplos prácticos:
https://tldr.sh/