Conceptos de Red y Resolución de Nombres
Antes de profundizar en la línea de comandos, es esencial comprender cómo Linux gestiona la resolución de nombres (DNS) y los servicios a través de puertos.
Resolución de Nombres (DNS)
El sistema busca direcciones IP basándose en nombres de dominio siguiendo un orden jerárquico:
- DNS Local: Defindio en el archivo
/etc/hosts(en Windows:C:\Windows\System32\drivers\etc\hosts). - DNS Remoto: Servidores externos que resuelven peticiones, como los de Googlle (8.8.8.8), Cloudflare (1.1.1.1) o proveedores locales.
Puertos Comunes
Los servicios en red se identifican mediante puertos (rango 1-65535). Algunos de los más utilizados son:
SSH: 22
HTTP: 80
HTTPS: 443
MySQL/MariaDB: 3306
Redis: 6379
PostgreSQL: 5432
Estructura de Comandos y Diagnóstico de Red
En Linux, la sintaxis estándar sigue el patrón: comando [opciones] [argumento]. Cabe destacar que el sistema distingue entre mayúsculas y minúsculas (case-sensitive) y toda la jerarquía de archivos parte de la raíz (/).
Uso del comando ping
El comando ping utiliza el protocolo ICMP para verificar la conectividad con un host remoto.
# Probar conectividad con un dominio
ping google.com
# Limitar el número de paquetes a 4
ping -c 4 1.1.1.1
# Bloquear respuestas a ping (evitar ser detectado)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Personalización de la Línea de Comandos (PS1)
El indicador de comandos (prompt) proporciona información sobre el contexto actual del usuario. Por defecto, suele mostrarse como [usuario@hostname directorio]#.
Desglose del Prompt
root: Usuario actual.@: Separador.hostname: Nombre asignado a la máquina.~: Representa el directorio personal (home) del usuario.#: Indica privilegios de superusuario (root).$: Indica un usuario estándar sin privilegios elevados.
Modificación de la variable PS1
Es posible alterar la apariencia del prompt modificando la variable de entorno PS1. Algunos caracteres especiales comunes son:
\u : Nombre de usuario
\h : Nombre del equipo (corto)
\w : Ruta completa del directorio actual
\t : Hora actual en formato 24h
\$ : Muestra # si es root, $ si no lo es
Para aplicar un cambio temporal:
PS1="[\u@\h \w \t]\$ "
Navegación y Rutas en el Sistema
Linux utiliza rutas absolutas (desde la raíz /) y rutas relativas (desde la posición actual).
pwd # Muestra el directorio de trabajo actual
cd /var/log # Ruta absoluta
cd ../ # Sube un nivel (ruta relativa)
cd - # Regresa al directorio anterior
cd ~ # Va al directorio personal del usuario
Gestión de Energía y Niveles de Ejecución
El comendo init define el estado del sistema mediante niveles de ejecución (runlevels):
0: Apagado (Halt)1: Modo monousuario (rescate)3: Modo multiusuario con red (consola)5: Modo gráfico (GUI)6: Reinicio (Reboot)
Comandos de Apagado y Reinicio
# Apagado inmediato
shutdown -h now
poweroff
# Programar apagado en 15 minutos
shutdown -h +15
# Reinicio del sistema
reboot
shutdown -r now
# Cancelar una tarea de apagado programada
shutdown -c
Configuración de Variables de Entorno
La variable $PATH define las rutas donde el sistema busca archivos ejecutables. Si un binario no está en estas rutas, debe ejecutarse indicando su ubicación exacta.
# Ver el contenido actual de PATH
echo $PATH
# Agregar temporalmente un nuevo directorio al PATH
export PATH=$PATH:/opt/servicios/bin
# Para cambios permanentes, editar /etc/profile (global) o ~/.bashrc (usuario)
# Luego recargar el archivo:
source /etc/profile
Información del Sistema
Comandos básicos para obtener detalles técnicos sobre el hardware y el kernel:
# Verificar versión de la distribución (CentOS/RedHat)
cat /etc/redhat-release
# Obtener la versión del kernel
uname -r
# Ver arquitectura de la CPU
uname -m
# Resumen completo del sistema
uname -a