"""Tareas comunes de Linux en castellano, mapeadas al comando. El puente que las man pages no dan: estan en ingles, y "cambiar permisos" no se parece a "change file mode bits". Aqui viven las tareas del dia a dia dichas como las diria el usuario, con el comando y una linea de como se usa. Es curado a mano a proposito: son las 50 cosas que de verdad se piden, y una traduccion buena vale mas que mil man pages mal recuperadas. Se anaden al indice como entradas normales, asi que se buscan igual que todo lo demas y ademas se llevan el impulso por palabras exactas. """ # (lo que se pide en castellano, el comando, como se usa) TAREAS = [ ("cambiar los permisos de un fichero o carpeta", "chmod", "chmod 755 fichero (rwx dueño, rx resto). chmod +x da permiso de ejecucion."), ("cambiar el dueño de un fichero", "chown", "chown usuario:grupo fichero. Con -R para una carpeta entera."), ("comprimir una carpeta en un archivo", "tar", "tar czf archivo.tar.gz carpeta/ comprime. tar xzf archivo.tar.gz extrae."), ("descomprimir un zip", "unzip", "unzip archivo.zip. Con -d carpeta para donde."), ("buscar texto dentro de ficheros", "grep", "grep -r 'texto' carpeta/ busca en todo. grep -i ignora mayusculas."), ("buscar ficheros por nombre", "find", "find /ruta -name '*.txt' busca por nombre. -type f solo ficheros."), ("ver los puertos abiertos en escucha", "ss", "ss -tlnp lista los puertos TCP en escucha con su proceso."), ("ver que procesos consumen mas", "top", "top o htop en tiempo real. ps aux --sort=-%cpu para una foto."), ("matar un proceso", "kill", "kill PID lo termina. kill -9 PID a la fuerza. pkill nombre por nombre."), ("ver el espacio libre en disco", "df", "df -h muestra el espacio por particion."), ("ver cuanto ocupa una carpeta", "du", "du -sh carpeta/ el tamaño total."), ("ver la memoria libre", "free", "free -h muestra RAM y swap."), ("descargar un fichero de internet", "wget", "wget URL descarga. curl -O URL tambien. curl -L sigue redirecciones."), ("copiar ficheros a un servidor", "scp", "scp fichero usuario@servidor:/ruta lo sube. scp -r para carpetas."), ("sincronizar carpetas", "rsync", "rsync -av origen/ destino/ copia solo lo cambiado. -z comprime en red."), ("editar un fichero de texto", "nano", "nano fichero (facil) o vim fichero. Ctrl+O guarda y Ctrl+X sale en nano."), ("ver el contenido de un fichero", "cat", "cat fichero. less fichero para leer largo. head/tail para principio/final."), ("ver los ultimos cambios de un fichero de log", "tail", "tail -f log sigue en vivo. tail -n 50 las ultimas 50 lineas."), ("ver los servicios del sistema", "systemctl", "systemctl status servicio. start/stop/restart para manejarlo."), ("ver los mensajes del sistema", "journalctl", "journalctl -xe lo reciente. journalctl -u servicio de un servicio."), ("montar un disco o usb", "mount", "mount /dev/sdX1 /mnt monta. lsblk lista los discos. umount desmonta."), ("ver la configuracion de red", "ip", "ip a las interfaces y sus IP. ip r la tabla de rutas."), ("escanear una red o unos puertos", "nmap", "nmap -sV objetivo detecta servicios. nmap -p- todos los puertos."), ("ver el uso de red en vivo", "iftop", "iftop o nload muestran el trafico en vivo."), ("cambiar de directorio y listar", "ls", "ls -la lista con detalles y ocultos. cd carpeta entra. pwd dice donde estas."), ("crear una carpeta", "mkdir", "mkdir carpeta. mkdir -p a/b/c crea la ruta entera."), ("mover o renombrar", "mv", "mv origen destino mueve o renombra."), ("copiar ficheros", "cp", "cp origen destino. cp -r para carpetas."), ("borrar ficheros", "rm", "rm fichero. rm -r carpeta. CUIDADO: no hay papelera, es definitivo."), ("dar permisos de administrador a un comando", "sudo", "sudo comando lo ejecuta como root. Pide tu contraseña."), ("ver el historial de comandos", "history", "history lista lo tecleado. Ctrl+R busca."), ("programar una tarea periodica", "cron", "crontab -e edita tus tareas. Formato: min hora dia mes diasemana comando."), ("ver la temperatura y el hardware", "sensors", "sensors muestra temperaturas. lscpu la CPU, lspci los dispositivos."), ("gestionar paquetes en Debian", "apt", "apt install paquete, apt update actualiza la lista, apt upgrade el sistema."), ("ver o cambiar variables de entorno", "export", "export VAR=valor la pone. env las lista. echo $VAR la muestra."), ("comprobar si un comando esta instalado", "which", "which comando dice donde esta, o nada si no esta. type comando tambien."), ("ver diferencias entre dos ficheros", "diff", "diff a b muestra las diferencias. diff -u formato de parche."), ("contar lineas palabras o bytes", "wc", "wc -l lineas, wc -w palabras. cat fichero | wc -l cuenta lineas."), ("conectarse a una base de datos", "psql", "psql -U usuario base para Postgres. mysql -u usuario -p para MySQL."), ("ver quien esta conectado", "who", "who los usuarios. w con lo que hacen."), ] def entradas(): for pide, cmd, como in TAREAS: yield { "tipo": "tarea", "herramienta": cmd, "perfil": "LINUX", "fichero": f"tarea comun: {cmd}", "texto": f"Para {pide}: usa {cmd}. {como}", }