Fundamentos de Linux: Comandos de Red, Gestión de Sesión y Configuración del Sistema

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

Etiquetas: linux Sysadmin bash Networking commands

Publicado el 7-18 11:30