Tema 3 / 10
LPIC-1 Examen 103

Comandos GNU y Unix

Domina la línea de comandos, procesamiento de texto, gestión de archivos y procesos en Linux.

103.1 Trabajar desde la línea de comandos

Obteniendo información del sistema

  • pwd: Muestra el directorio actual.
  • touch: Crea un archivo vacío.
  • ls: Lista archivos y carpetas.
  • uname -a: Muestra información completa del sistema.

Información de los comandos

  • man: Muestra el manual de un comando.
  • apropos: Busca páginas de manual por palabra clave.
  • type: Indica el tipo de comando (integrado, alias).
  • which: Muestra la ruta absoluta de un comando.
  • history: Lista comandos ejecutados.

Variables de entorno

  • env: Muestra todas las variables de entorno.
  • echo $VAR: Muestra el valor de una variable.
  • export VAR: Crea o exporta una variable.
  • unset VAR: Elimina una variable.

Caracteres especiales

Para interpretar caracteres especiales literalmente (como espacios), usa:

  • Comillas simples '': Interpreta todo literalmente.
  • Comillas dobles "": Interpreta $, ` y \.
  • Contrabarra \: Escapa el siguiente carácter.

103.2 Procesar secuencias de texto usando filtros

Redirecciones y Tuberías

  • >: Redirige salida (sobrescribe).
  • >>: Añade salida.
  • |: Envía salida de un comando a otro.
  • grep: Filtra texto (-i ignora mayúsculas).

Archivos comprimidos

  • gzip / gunzip: Compresión estándar.
  • bzip2 / bunzip2: Compresión alternativa.
  • xz / unxz: Alta compresión.
  • zcat, bzcat, xzcat: Leen contenido sin descomprimir.

Ver y manipular texto

  • less: Navega página por página.
  • head / tail: Muestra principio o final de un archivo.
  • wc -l: Cuenta líneas.
  • cut: Extrae campos (ej. cut -d' ' -f1).
  • sort: Ordena líneas.
  • tr: Sustituye caracteres.

Integridad de datos

  • sha256sum archivo: Genera hash.
  • sha256sum -c archivo_hash: Verifica integridad.

103.3 Administración básica de archivos

Comandos básicos

  • ls -l: Lista con detalles (permisos, propietario).
  • cp: Copia archivos (-r para directorios).
  • mv: Mueve o renombra.
  • rm: Elimina (-r recursivo).
  • mkdir / rmdir: Crea/Elimina directorios.

Globbing y Wildcards

  • *: Coincide con cualquier cadena.
  • ?: Coincide con un carácter.
  • [...]: Coincide con un conjunto o rango.

Encontrar archivos (find)

  • Por nombre: find / -name "archivo.txt".
  • Por tipo: find / -type d (directorios).
  • Por tamaño: find /home -size +5M.
  • Ejecutar acción: find ... -exec comando {} \;.

Archivado (tar)

  • Crear: tar -czvf archivo.tar.gz dir/.
  • Extraer: tar -xzvf archivo.tar.gz.
  • Ver: tar -tzvf archivo.tar.gz.

103.4 Uso de secuencias, tuberías y redirecciones

Redirecciones de E/S

  • <: Entrada desde archivo.
  • > / >>: Salida estándar (sobrescribir / añadir).
  • 2> / 2>>: Salida de error.
  • &>: Redirige salida y error juntos.

Here Document y Here String

  • Here Document: comando << EOF ... EOF (varias líneas).
  • Here String: comando <<< "texto" (una línea).

Tuberías (Pipes)

Conectar salida de un comando con entrada de otro: cmd1 | cmd2.

Ejemplo: ps aux | grep python | sort.

Sustitución de comando

  • Comillas invertidas: `comando`.
  • Dólar paréntesis: $(comando).
  • xargs: Construye y ejecuta líneas de comando desde la entrada estándar.

103.5 Crear, supervisar y matar procesos

Control de trabajos

  • &: Ejecuta en segundo plano.
  • jobs: Lista trabajos en segundo plano.
  • fg / bg: Trae a primer plano / envía a segundo plano.
  • nohup: Ejecuta inmune a cierres de sesión.
  • kill: Envía señales a procesos (-9 para forzar).

Monitoreo

  • top: Vista en tiempo real (teclas: M por memoria, P por CPU).
  • ps: Vista estática (ps aux, ps -ef).
  • pgrep / pkill: Busca y mata por nombre.

Multiplexores (Screen / Tmux)

Acción Screen Tmux
Crear ventanaCtrl + a cCtrl + b c
Cambiar ventanaCtrl + a 0-9Ctrl + b 0-9
Desconectar (Detach)Ctrl + a dCtrl + b d
Reconectarscreen -rtmux attach

103.6 Modificar la prioridad de ejecución de los procesos

El planificador y Prioridades

Valores nice van de -20 (alta prioridad) a 19 (baja). Por defecto es 0.

  • Procesos tiempo real: Prioridad 0-99.
  • Procesos normales: Prioridad 100-139 (nice mapeado aquí).

Gestión de Niceness

  • nice -n 10 comando: Inicia con prioridad 10.
  • renice 15 PID: Cambia prioridad en ejecución.
  • top: Muestra columna PRI/NI.

103.7 Búsquedas con expresiones regulares

RE Básicas (grep)

  • .: Cualquier carácter.
  • ^: Inicio de línea.
  • $: Final de línea.
  • [...]: Conjunto de caracteres.

Clases de caracteres

[:alpha:] (letras), [:digit:] (números), [:lower:] (minúsculas).

Cuantificadores (Extended grep -E)

  • *: 0 o más.
  • +: 1 o más.
  • ?: 0 o 1.
  • {n}: Exactamente n.

Comandos

  • grep: Busca texto.
  • sed: Edita flujos de texto (ej. sed 's/old/new/g').
  • find -regex: Busca archivos por patrón.

103.8 Edición básica de archivos

vi / vim

  • Modos: Normal (navegar) e Inserción (escribir, tecla i).
  • Navegación: h,j,k,l, w (palabra), G (fin).
  • Acciones: x (borrar), yy (copiar), p (pegar), u (deshacer).

Comandos Colon (:)

  • :w: Guardar.
  • :q: Salir.
  • :wq: Guardar y salir.
  • :s/old/new/g: Reemplazar en línea actual.

Editores alternativos

  • nano: Simple, menú visual (Ctrl+O guardar, Ctrl+X salir).
  • emacs: Potente, personalizable.