Cómo usar el comando LSOF en Linux

Cómo usar el comando LSOF en Linux
En el entorno de Linux, todo se considera un archivo y se administra en carpetas o directorios. Entonces, mientras trabaja en el sistema operativo Linux, puede haber números de carpetas y archivos que se están utilizando; Algunos de ellos serían visibles para los usuarios, y otros pueden estar ocultos. Por lo tanto, la administración de archivos es muy importante en las distribuciones de Linux/Unix.

En el sistema Linux, el comando más popular es LSOF, abreviado para la lista de archivo abierto. Este comando muestra la información sobre los archivos abiertos en su sistema. En otras palabras simples, podemos explicar que el comando LSOF proporciona información sobre los archivos que se abren mediante el cual el proceso. Simplemente enumera los archivos abiertos en la consola de salida. Enumera el directorio, la biblioteca compartida, bloquea el archivo especial, la tubería regular, un socket de Internet, un archivo especial de caracteres, un socket de dominio unix y más otros. El comando LSOF se puede usar para combinar con el comando GREP para hacer funciones más avanzadas para listar y buscar.

Este artículo le dará una comprensión básica del comando LSOF. Además, explorará cómo usar este comando en el entorno de Linux.

Requisitos previos

Debe iniciar sesión como usuario raíz en su sistema o debe tener privilegios de comando sudo.

Hemos realizado toda la tarea en Ubuntu 20.Sistema 04, que se menciona a continuación:

Enumere los archivos abiertos con el comando LSOF

Puede enumerar todos los archivos abiertos con una descripción completa utilizando el comando LSOF.

# LSOF


Por ejemplo, aquí hemos enumerado algunos archivos abiertos para su mejor comprensión. En la siguiente captura de pantalla, verá la información en forma de columnas como comando, PID, usuario, FD, tipo, etc.

Expliquemos cada término uno por uno. En la primera columna, verá que el comando se usa para el nombre del comando. PID muestra la identificación del proceso. En la columna llamada usuario, verá el tipo o nombre de rol de usuario. Los valores anteriores en la imagen se explican por sí mismos. Sin embargo, revisaremos el tipo y las columnas FD.

FD se usa para un descriptor de archivo que tiene algunos valores como:

  • CWD - Representa el directorio de trabajo actual.
  • rtd - Muestra el directorio raíz
  • TXT - Utilizado para el código de programa y los datos de texto
  • memorando - Utilizado para el archivo mapeado de memoria
  • 1U - Descriptor de archivo U para modo de lectura y escritura, w para modo de escritura y se usa para el modo de lectura.

La columna de tipo contiene todos los archivos e identificaciones utilizando palabras clave. Directorio de medias. Reg representa el archivo regular. CHR se usa para archivos especiales de personajes. FIFO significa primero en primera salida.

Lista de archivos específicos del usuario con el comando LSOF

Por ejemplo, si queremos enumerar todos los archivos abiertos de nombre de usuario Kbuzdar, usando el siguiente comando, puede hacer esto:

$ sudo lsof -u kbuzdar

Procesos de búsqueda que trabajan en un puerto específico

Puede buscar en esos archivos o procesos que se ejecutan en un número de puerto específico. Para este propósito, solo necesita usar el siguiente comando con -i opción e ingresar un número de puerto específico.

# LSOF -I TCP: 22

Si desea enumerar todos los archivos abiertos que ejecutan procesos de puerto TCP que varíe entre 1-1024, entonces ejecute el comando mencionado a continuación:

# LSOF -I TCP: 1-1024

Mostrar archivos abiertos solo para IPv4 e IPv6

Por ejemplo, desea mostrar solo archivos de red IPv4 e IPv6. Ejecute el siguiente comando para abrir archivos para IPv4 en la ventana del terminal:

# LSOF -I 4

Para IPv6, use el siguiente comando:

# LSOF -I 6

Mostrar archivos excluyendo usuarios específicos

Si desea excluir a un usuario raíz, puede excluir a un usuario raíz utilizando el carácter '^' con el comando que se muestra en la siguiente captura de pantalla:

# lsof -i -u^raíz


Puede excluir a un usuario específico usando su nombre.

# lSOF -i -u^kbuzdar

Mostrar todas las conexiones de red utilizando el comando LSOF

Escriba el siguiente comando LSOF con la opción -i para mostrar la lista de todas las conexiones de red:

# LSOF -I

Proceso de búsqueda por PID

En el siguiente ejemplo, solo muestra esos archivos o procesos cuyo PID es 2 [dos].

# LSOF -P 2

Mata actividades de usuario particulares

A veces puede necesitar procesos de usuario específicos. En este caso, al ejecutar el siguiente comando, puede matar todos los procesos del usuario 'Kbuzdar'.

# Kill -9 'lSof -t -u Kbuzdar'

Conclusión

En este artículo, hemos visto cómo usar el comando LSOF en el sistema Linux. Hemos implementado diferentes ejemplos para una mejor comprensión del comando LSOF. No es posible explicar todas las opciones disponibles, pero puede explorar la página del hombre del comando LSOF para obtener más sobre este comando. Comparta con nosotros sus comentarios a través de comentarios.