>_cibercódice
> archivo / Linux y sistemas

Comandos esenciales de Linux

La línea de comandos no es un vestigio del pasado: es la interfaz más directa, reproducible y automatizable para administrar un sistema operativo. Entender una docena de utilidades bien diseñadas permite resolver tareas complejas combinando piezas simples.

§ 1. Orientación y navegación por el árbol de directorios

En Linux todo cuelga del directorio raíz /. Antes de ejecutar cualquier acción conviene responder siempre tres preguntas: dónde estoy, qué hay aquí y hacia dónde quiero moverme.

>_ Navegación básica en el sistema de archivos
pwd
/home/fivur/proyectos
ls -lah
total 16K
drwxr-xr-x 3 fivur fivur 4.0K oct 16 10:15 .
drwxr-x--- 8 fivur fivur 4.0K oct 16 09:00 ..
-rw-r--r-- 1 fivur fivur  415 oct 16 10:12 package.json
drwxr-xr-x 2 fivur fivur 4.0K oct 16 10:15 scripts
[tip] Flags que merece la pena memorizar en `ls`

Combina -l (formato de lista detallada), -a (incluir archivos ocultos que empiezan por .) y -h (tamaños legibles en K, M, G): ls -lah.

§ 2. Inspeccionar archivos sin abrir un editor

Cuando trabajas con archivos de configuración o registros (logs), rara vez quieres modificarlos; solo necesitas consultarlos con rapidez:

Comando Propósito principal Ejemplo práctico
cat Mostrar el contenido completo de un archivo corto cat /etc/hostname
less Paginador interactivo para archivos extensos (q para salir) less /var/log/syslog
head / tail Ver las primeras o últimas líneas de un archivo tail -n 20 /var/log/auth.log
tail -f Seguir en tiempo real nuevas líneas añadidas a un log tail -f /var/log/nginx/access.log
grep Filtrar líneas que coincidan con un patrón o texto grep -i "error" app.log

§ 3. La filosofía Unix: tuberías (`|`) y redirecciones (`>`)

El verdadero potencial de la shell aparece al conectar la salida estándar (stdout) de un programa con la entrada estándar (stdin) del siguiente mediante el operador tubería (|):

[esquema]Flujo de datos en una tubería (pipeline) de Unix
Flujo de datos en una tubería (pipeline) de Unix

En cuanto a las redirecciones hacia archivos:

  • comando > archivo.txt: sobrescribe el archivo con la salida del comando.
  • comando >> archivo.txt: añade la salida al final del archivo sin borrar lo anterior.
  • comando 2> errores.log: redirige únicamente la salida de error (stderr).

§ 4. Entender los permisos (`rwx`)

La primera columna de ls -l resume el tipo de archivo y los permisos para tres niveles: propietario (u), grupo (g) y otros (o):

sh
# -rwxr-xr-- 1 fivur devs 1240 oct 16 11:00 backup.sh
# │├─┤├─┤├─┤
# │ │  │  └── Otros (o):      r-- (4) -> solo lectura
# │ │  └───── Grupo (g):      r-x (5) -> lectura y ejecución
# │ └──────── Propietario(u): rwx (7) -> lectura, escritura y ejecución
# └────────── Tipo: '-' archivo regular, 'd' directorio, 'l' enlace simbólico

chmod 750 backup.sh       # Notación octal equivalente a rwxr-x---
chmod u+x script.sh       # Añade permiso de ejecución solo al propietario
[práctica local]
8 minNivel básico

Laboratorio seguro de archivos y permisos

Ejecuta esta práctica en /tmp para experimentar sin afectar a tus archivos personales:

  1. Crea un directorio de trabajo temporal y entra en él: mkdir -p /tmp/lab-fivur && cd /tmp/lab-fivur
  2. Genera un archivo de registro simulado con varias líneas: printf "INFO inicio\nERROR conexión rechazada\nINFO reintento\nERROR timeout\n" > sistema.log
  3. Filtra únicamente las líneas con ERROR y cuenta cuántas hay en una sola tubería: grep "ERROR" sistema.log | wc -l
  4. Crea un pequeño script hola.sh, quítale permisos a otros usuarios y hazlo ejecutable para ti: printf "#!/usr/bin/env sh\necho 'Laboratorio completado'\n" > hola.sh && chmod 700 hola.sh && ./hola.sh

§ Autoevaluación rápida

[autoevaluación]Verifica tu comprensión

¿Qué ocurre si ejecutas el comando `echo " nueva línea" > config.conf` sobre un archivo que ya tenía 100 líneas de configuración?

[checklist]Lista de verificación de fundamentos de terminal0 / 4 completados

↑ ↓ recorrer · enter abrir · esc cerrar