¿Alguna vez ha intentado cerrar su shell o desmontar una unidad solo para obtener un error de que uno o más archivos están en uso? ¿O tal vez ha intentado editar un archivo solo para descubrir que está bloqueado por otro programa?

Tal vez le preocupe que alguien de alguna manera haya obtenido acceso no autorizado a su sistema Linux. Usando una herramienta llamada lsof, puede ver qué archivos están abiertos, incluso a través de conexiones de red.

¿Qué es lsof?

lsof es una utilidad que enumera los archivos abiertos. Victor Abell lo desarrolló originalmente en la Universidad de Purdue. Está disponible para varias implementaciones de Unix, incluido Linux. Actualmente es mantenido por el Equipo de lsof-org en GitHub.

Instalación de lsof en Linux

Es muy probable que ya tenga lsof instalado en su sistema. Intenta escribir lsof en la línea de comando. Si no es así, puede instalarlo a través del administrador de paquetes de su distribución.

En un sistema Ubuntu o Debian, escriba:

sudo apto instalar lsof
instagram viewer

En Distribuciones de Linux basadas en Arch:

sudo pacman -S lsof

Y en RHEL, Rocky Linux y Oracle Linux:

sudo dnf instalar lsof

Ver archivos abiertos en Linux con lsof

Usar lsof es sencillo. Simplemente puede invocarlo en la línea de comando para ver cualquier archivo abierto que le pertenezca:

lsof

lsof puede enumerar los procesos que pertenecen a la raíz como "Permiso denegado". Para ver todos los archivos abiertos por todos los procesos en todo el sistema, ejecútelo como root:

sudo lsof

lsof mostrará el comando, el PID, el usuario que lo invocó, el descriptor del archivo, el tipo, el dispositivo, el tamaño, el nodo y la ruta absoluta del archivo abierto.

Si intenta desmontar una unidad como una unidad óptica y obtiene un error de que los archivos están en uso, puede ver qué proceso está usando el archivo y luego salir o eliminarlo.

Para ver los enchufes de Internet actualmente en uso en su sistema, use el -i opción:

sudo lsof-i

Podría detectar una posible intrusión si nota algo sospechoso en su sistema, pero los atacantes más sofisticados pueden cubrir mejor sus huellas.

El -r La opción pone lsof en modo de repetición, donde mostrará los resultados después de un cierto intervalo hasta que presione Control + C. De forma predeterminada, se ejecuta cada 15 segundos, pero puede cambiarlo. Por ejemplo, puede ejecutar el comando cada 10 segundos escribiendo:

lsof -r 10

Al igual que con otras utilidades de Linux, puede combinar estos conmutadores. Suponga que desea ver su conexión a Internet cada cinco segundos. Puede hacerlo con lsof escribiendo:

lsof -i -r 5

Ahora puede rastrear qué procesos de Linux tienen archivos abiertos

Con lsof, puede rastrear qué procesos tienen archivos abiertos y solucionar cualquier problema que puedan causar.

Los archivos abiertos son solo una faceta de los procesos de Linux. Hay tantas formas de administrar procesos en Linux. Es fácil iniciar, detener y examinar procesos en Linux para que pueda aprovechar al máximo su sistema.