Uso básico:
1. `lsof`:enumera todos los archivos abiertos en el sistema, incluido su ID de proceso (PID), descriptor de archivo, ruta de archivo y otros detalles.
2. `lsof
Listado de información de archivo específica:
3. `lsof -a
4. `lsof -p
5. `lsof -c
Filtrado de salida:
6. `lsof -w
7. `lsof -F
8. `lsof -i
9. `lsof -s
Clasificación y limitación de resultados:
10. `lsof -g
11. `lsof -l
12. `lsof -L
Opciones especiales:
13. `lsof -h`:Muestra el menú de ayuda con información detallada sobre todas las opciones disponibles.
14. `lsof -n
15. `lsof -R`:enumera recursivamente todos los archivos abiertos, siguiendo enlaces y dispositivos simbólicos.
16. `lsof -P`:muestra información del proceso (PID, PPID, COMMAND) en la salida.
17. `lsof -u
Otros comandos útiles:
18. `lsof -i :8080 -n -P`:enumera todos los procesos que escuchan en el puerto 8080, incluidos sus PID, PID principales y comandos.
19. `lsof -a \| grep
20. `lsof -u root -t
21. `lsof -R /tmp/file -f`:enumera todos los archivos abiertos en el directorio /tmp/file, siguiendo los enlaces simbólicos y los dispositivos.
Filtrado avanzado:
22. `lsof -i TCP:LISTEN -c
23. `lsof +c 0 -d 10`:enumera los procesos con el descriptor de archivo 10 abierto.
24. `lsof +r1 -n +a`:enumera los procesos que tienen archivos abiertos con acceso de lectura y escritura, e incluye sus direcciones IP.
25. `lsof -u nadie -g pid`:Agrupa procesos por PID, filtrando procesos propiedad del usuario "nadie".
Combinando lsof con otros comandos:
26. `lsof | head`:Muestra las primeras líneas del resultado.
27. `lsof -u raíz -t sshd -F p \| top -b -p`:combina los comandos lsof y top para buscar y ordenar procesos propiedad del usuario root que ejecuta el demonio sshd, luego los muestra en una interfaz similar a la de top.
28. `lsof | grep
29. `lsof -i :22 -c sshd | tr -s ' ' "\n" \| uniq -c`:Cuenta combinaciones únicas de direcciones IP y puertos utilizados por sshd.
Monitoreo en tiempo real:
30. `reloj -c lsof -F p | grep httpd`:monitorea continuamente los procesos con puertos abiertos utilizados por el proceso httpd.
31. `watch -g "lsof +e -u root -F n -l 10" -s 5`:busca nuevos archivos abiertos por el usuario root y actualiza la salida cada 5 segundos.
Varios:
32. `lsof -l -w *:8080`:enumera las conexiones TCP de escucha en el puerto 8080 junto con sus descriptores de archivos.
33. `lsof -n +i@ -P`:enumera procesos con conexiones de red abiertas, incluidos sus PID, PPID y comandos.
34. `lsof -E -a +t
35. `lsof -c cron|awk '{ print $1,$9 }'`:Extrae PID y nombres de archivos abiertos para procesos iniciados por el demonio cron.
36. `lsof -a -d3 \| egrep 'eliminado'`:busca archivos que se han eliminado pero que aún tienen identificadores de archivos abiertos.
Opciones adicionales:
37. `lsof -k`:listado basado en kernel (requiere privilegios de root).
38. `lsof -o`:omite la información de llamadas al sistema de la salida.
39. `lsof -S
40. `lsof -t
41. `lsof -x
Estos ejemplos ilustran varias formas de utilizar el comando lsof para identificar y monitorear archivos, procesos y conexiones de red abiertos, lo que lo convierte en una herramienta versátil para la resolución de problemas del sistema, el análisis de seguridad y las tareas de optimización del rendimiento.