
Esta es nuestra serie continua de comandos de Linux, y en este artículo revisaremos lsof Comandos con ejemplos prácticos. lsof significado ‘lista de archivos abiertos’ Se utiliza para averiguar qué archivos se abren mediante qué proceso de Linux.
bien conocido Linux/Unix Tratar todo como un archivo (tubería, enchufe, Tabla de contenido, equipo, ETC).una de las razones para usar lsof El comando es cuando el disco no se puede desmontar porque indica que el archivo está en uso.con la ayuda de lsof comando, podemos identificar fácilmente el archivo en uso.
1. Use el comando lsof para enumerar todos los archivos abiertos
En el siguiente ejemplo, se mostrará una larga lista de archivos abiertos, algunos de los cuales se extraen para comprender mejor qué columnas se muestran a continuación. Orden, PID, usuario, DF, tipo, ETC.
# lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 253,0 4096 2 / init 1 root rtd DIR 253,0 4096 2 / init 1 root txt REG 253,0 145180 147164 /sbin/init init 1 root mem REG 253,0 1889704 190149 /lib/libc-2.12.so init 1 root 0u CHR 1,3 0t0 3764 /dev/null init 1 root 1u CHR 1,3 0t0 3764 /dev/null init 1 root 2u CHR 1,3 0t0 3764 /dev/null init 1 root 3r FIFO 0,8 0t0 8449 pipe init 1 root 4w FIFO 0,8 0t0 8449 pipe init 1 root 5r DIR 0,10 0 1 inotify init 1 root 6r DIR 0,10 0 1 inotify init 1 root 7u unix 0xc1513880 0t0 8450 socket
Las secciones y sus valores se explican por sí mismos.Sin embargo, revisaremos formato y tipo columna es más precisa.
DF – representa un descriptor de archivo, se pueden ver algunos valores:
- cwd directorio de trabajo actual
- Resistencia termica Directorio raíz
- TXT texto del programa (código y datos)
- Memoria archivo mapeado en memoria
También en DF Número de columna como 1u es el descriptor de archivo real, seguido de tú,r,w Su patrón es:
- r para acceso de lectura.
- w para acceso de escritura.
- tú Para acceso de lectura y escritura.
tipo – Documentación y su identificación.
- Tabla de contenido – Tabla de contenido
- registro – archivos regulares
- ACNUDH – Archivos especiales de personajes.
- primero en entrar primero en salir – primero en entrar primero en salir
2. Lista de archivos abiertos específicos del usuario
El siguiente comando mostrará una lista de todos los archivos abiertos para el usuario Menta tecnológica.
# lsof -u tecmint COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1838 tecmint cwd DIR 253,0 4096 2 / sshd 1838 tecmint rtd DIR 253,0 4096 2 / sshd 1838 tecmint txt REG 253,0 532336 188129 /usr/sbin/sshd sshd 1838 tecmint mem REG 253,0 19784 190237 /lib/libdl-2.12.so sshd 1838 tecmint mem REG 253,0 122436 190247 /lib/libselinux.so.1 sshd 1838 tecmint mem REG 253,0 255968 190256 /lib/libgssapi_krb5.so.2.2 sshd 1838 tecmint mem REG 253,0 874580 190255 /lib/libkrb5.so.3.3
3. Encuentra procesos que se ejecutan en un puerto específico
Para averiguar todos los procesos de Linux en ejecución para un puerto específico, simplemente use el siguiente comando con opciones -IEl siguiente ejemplo mostrará una lista de todos los procesos en ejecución para el puerto Veintidós.
# lsof -i TCP:22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1471 root 3u IPv4 12683 0t0 TCP *:ssh (LISTEN) sshd 1471 root 4u IPv6 12685 0t0 TCP *:ssh (LISTEN)
4. Enumere solo archivos abiertos IPv4 e IPv6
En el siguiente ejemplo, solo el IPv4 y IPv6 Los archivos de red se abren con un comando separado.
# lsof -i 4 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 1203 rpc 6u IPv4 11326 0t0 UDP *:sunrpc rpcbind 1203 rpc 7u IPv4 11330 0t0 UDP *:954 rpcbind 1203 rpc 8u IPv4 11331 0t0 TCP *:sunrpc (LISTEN) avahi-dae 1241 avahi 13u IPv4 11579 0t0 UDP *:mdns avahi-dae 1241 avahi 14u IPv4 11580 0t0 UDP *:58600 # lsof -i 6 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 1203 rpc 9u IPv6 11333 0t0 UDP *:sunrpc rpcbind 1203 rpc 10u IPv6 11335 0t0 UDP *:954 rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (LISTEN) rpc.statd 1277 rpcuser 10u IPv6 11858 0t0 UDP *:55800 rpc.statd 1277 rpcuser 11u IPv6 11862 0t0 TCP *:56428 (LISTEN) cupsd 1346 root 6u IPv6 12112 0t0 TCP localhost:ipp (LISTEN)
5. Lista de archivos abiertos para el rango de puertos TCP 1-1024
Listar todos los procesos en ejecución con archivos abiertos TCP Los puertos van desde 1-1024.
# lsof -i TCP:1-1024 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (LISTEN) cupsd 1346 root 7u IPv4 12113 0t0 TCP localhost:ipp (LISTEN) sshd 1471 root 4u IPv6 12685 0t0 TCP *:ssh (LISTEN) master 1551 root 13u IPv6 12898 0t0 TCP localhost:smtp (LISTEN) sshd 1834 root 3r IPv4 15101 0t0 TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (ESTABLISHED) sshd 1838 tecmint 3u IPv4 15101 0t0 TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (ESTABLISHED) sshd 1871 root 3r IPv4 15842 0t0 TCP 192.168.0.2:ssh->192.168.0.1:groove (ESTABLISHED) httpd 1918 root 5u IPv6 15991 0t0 TCP *:http (LISTEN) httpd 1918 root 7u IPv6 15995 0t0 TCP *:https (LISTEN)
6. Excluir usuarios con el carácter ‘^’
Aquí, excluimos raíz usuario.Puede excluir usuarios específicos utilizando ‘^’ Use el comando como se muestra arriba.
# lsof -i -u^root COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 1203 rpc 6u IPv4 11326 0t0 UDP *:sunrpc rpcbind 1203 rpc 7u IPv4 11330 0t0 UDP *:954 rpcbind 1203 rpc 8u IPv4 11331 0t0 TCP *:sunrpc (LISTEN) rpcbind 1203 rpc 9u IPv6 11333 0t0 UDP *:sunrpc rpcbind 1203 rpc 10u IPv6 11335 0t0 UDP *:954 rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (LISTEN) avahi-dae 1241 avahi 13u IPv4 11579 0t0 UDP *:mdns avahi-dae 1241 avahi 14u IPv4 11580 0t0 UDP *:58600 rpc.statd 1277 rpcuser 5r IPv4 11836 0t0 UDP *:soap-beep rpc.statd 1277 rpcuser 8u IPv4 11850 0t0 UDP *:55146 rpc.statd 1277 rpcuser 9u IPv4 11854 0t0 TCP *:32981 (LISTEN) rpc.statd 1277 rpcuser 10u IPv6 11858 0t0 UDP *:55800 rpc.statd 1277 rpcuser 11u IPv6 11862 0t0 TCP *:56428 (LISTEN)
7. Averigüe quién está viendo qué archivos y comandos.
El siguiente ejemplo muestra al usuario Menta tecnológica está usando un comando como departamento y /ETC Tabla de contenido.
# lsof -i -u tecmint COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1839 tecmint cwd DIR 253,0 12288 15 /etc ping 2525 tecmint cwd DIR 253,0 12288 15 /etc
8. Listar todas las conexiones de red
El siguiente comando con opciones ‘-I’ mostrar una lista de todas las conexiones de red’escucha y construye’.
# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 1203 rpc 6u IPv4 11326 0t0 UDP *:sunrpc rpcbind 1203 rpc 7u IPv4 11330 0t0 UDP *:954 rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (LISTEN) avahi-dae 1241 avahi 13u IPv4 11579 0t0 UDP *:mdns avahi-dae 1241 avahi 14u IPv4 11580 0t0 UDP *:58600 rpc.statd 1277 rpcuser 11u IPv6 11862 0t0 TCP *:56428 (LISTEN) cupsd 1346 root 6u IPv6 12112 0t0 TCP localhost:ipp (LISTEN) cupsd 1346 root 7u IPv4 12113 0t0 TCP localhost:ipp (LISTEN) sshd 1471 root 3u IPv4 12683 0t0 TCP *:ssh (LISTEN) master 1551 root 12u IPv4 12896 0t0 TCP localhost:smtp (LISTEN) master 1551 root 13u IPv6 12898 0t0 TCP localhost:smtp (LISTEN) sshd 1834 root 3r IPv4 15101 0t0 TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (ESTABLISHED) httpd 1918 root 5u IPv6 15991 0t0 TCP *:http (LISTEN) httpd 1918 root 7u IPv6 15995 0t0 TCP *:https (LISTEN) clock-app 2362 narad 21u IPv4 22591 0t0 TCP 192.168.0.2:45284->www.gov.com:http (CLOSE_WAIT) chrome 2377 narad 61u IPv4 25862 0t0 TCP 192.168.0.2:33358->maa03s04-in-f3.1e100.net:http (ESTABLISHED) chrome 2377 narad 80u IPv4 25866 0t0 TCP 192.168.0.2:36405->bom03s01-in-f15.1e100.net:http (ESTABLISHED)
9. Buscar por PID
El siguiente ejemplo solo muestra su PID Sí 1 [One].
# lsof -p 1 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 253,0 4096 2 / init 1 root rtd DIR 253,0 4096 2 / init 1 root txt REG 253,0 145180 147164 /sbin/init init 1 root mem REG 253,0 1889704 190149 /lib/libc-2.12.so init 1 root mem REG 253,0 142472 189970 /lib/ld-2.12.so
10. Elimina todas las actividades de un usuario específico
A veces, es posible que deba eliminar todos los procesos para un usuario específico.El siguiente comando matará todos los procesos. Menta tecnológica usuario.
# kill -9 `lsof -t -u tecmint`
notas: Aquí es imposible dar ejemplos de todas las opciones disponibles, esta guía es solo para mostrar cómo lsof Se puede usar el comando.Puede consultar la página del manual lsof comando para obtener más información. Si este artículo le resultó útil, compártalo a través del cuadro de comentarios a continuación.
Si aprecia el trabajo que hacemos en TecMint, debe considerar:
TecMint es el sitio comunitario de más rápido crecimiento y más confiable para artículos, guías y libros de Linux de cualquier tipo en la web. ¡Millones de personas visitan TecMint! Busque o explore miles de artículos publicados disponibles gratuitamente para todos.
Si le gusta lo que está leyendo, considere ofrecernos una taza de café (o 2) para agradecernos.
Agradecemos su apoyo interminable.