매일 linux 명령 (lsof)
설치:yum install lsof
형식: lsof [옵션] [절대 경로 파일 이름 | 기타 매개 변수]
기본 옵션:
+D: 경로를 제외한 모든 열린 파일을 차례로 찾습니다.
[root@root ~]# lsof +D /usr/lib
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root txt REG 253,1 1482272 661006 /usr/lib/systemd/systemd
systemd-j 328 root txt REG 253,1 274768 661020 /usr/lib/systemd/systemd-journald
systemd-u 349 root txt REG 253,1 361376 661038 /usr/lib/systemd/systemd-udevd
systemd-u 349 root mem REG 253,1 432831 1048900 /usr/lib/modules/3.10.0-514.26.2.el7.x86_64/modules.symbols.bin
systemd-u 349 root mem REG 253,1 735054 1048897 /usr/lib/modules/3.10.0-514.26.2.el7.x86_64/modules.alias.bin
systemd-u 349 root mem REG 253,1 343333 1048848 /usr/lib/modules/3.10.0-514.26.2.el7.x86_64/modules.dep.bin
systemd-u 349 root mem REG 253,1 8035 1048901 /usr/lib/modules/3.10.0-514.26.2.el7.x86_64/modules.builtin.bin
polkitd 440 polkitd txt REG 253,1 120424 788678 /usr/lib/polkit-1/polkitd
systemd-l 461 root txt REG 253,1 572288 661022 /usr/lib/systemd/systemd-logind
crond 463 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
agetty 477 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
agetty 478 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
tuned 746 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
bash 4192 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
lsof 4274 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
lsof 4275 root mem REG 253,1 106070960 662766 /usr/lib/locale/locale-archive
-u: 사용자가 여는 모든 파일을 표시하고 여러 사용자를 지정할 수 있습니다.
[root@root ~]# lsof -u root -u polkitd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,1 4096 2 /
systemd 1 root rtd DIR 253,1 4096 2 /
systemd 1 root txt REG 253,1 1482272 661006 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,1 20040 657574 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,1 256960 659353 /usr/lib64/libblkid.so.1.1.0
vballoon 383 root txt unknown /proc/383/exe
polkitd 440 polkitd cwd DIR 253,1 4096 2 /
polkitd 440 polkitd rtd DIR 253,1 4096 2 /
polkitd 440 polkitd txt REG 253,1 120424 788678 /usr/lib/polkit-1/polkitd
polkitd 440 polkitd mem REG 253,1 62184 657115 /usr/lib64/libnss_files-2.17.so
polkitd 440 polkitd mem REG 253,1 68192 657657 /usr/lib64/libbz2.so.1.0.6
polkitd 440 polkitd mem REG 253,1 99952 657624 /usr/lib64/libelf-0.166.so
polkitd 440 polkitd mem REG 253,1 19888 657701 /usr/lib64/libattr.so.1.1.0
polkitd 440 polkitd mem REG 253,1 398264 657523 /usr/lib64/libpcre.so.1.2.0
polkitd 440 polkitd mem REG 253,1 999944 657405 /usr/lib64/libstdc++.so.6.0.19
polkitd 440 polkitd mem REG 253,1 251784 662792 /usr/lib64/libnspr4.so
………
-c: 어떤 프로그램에서 열린 파일, 예를 들어apache를 찾으면 여러 개의 -c 파라미터를 공백으로 구분할 수 있습니다
[root@root ~]# lsof -c ssh
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3158 root cwd DIR 253,1 4096 2 /
sshd 3158 root rtd DIR 253,1 4096 2 /
sshd 3158 root txt REG 253,1 823744 662215 /usr/sbin/sshd
sshd 3158 root mem REG 253,1 62184 657115 /usr/lib64/libnss_files-2.17.so
sshd 3158 root mem REG 253,1 68192 657657 /usr/lib64/libbz2.so.1.0.6
sshd 3158 root mem REG 253,1 99952 657624 /usr/lib64/libelf-0.166.so
sshd 3158 root mem REG 253,1 19888 657701 /usr/lib64/libattr.so.1.1.0
sshd 3158 root mem REG 253,1 15688 658041 /usr/lib64/libkeyutils.so.1.5
………
^: 리셋 작업을 실행합니다. 예를 들어 lsof – u^root는 루트를 제외한 모든 사용자가 열 파일을 표시합니다.
[root@root ~]# lsof -u ^root
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
polkitd 440 polkitd cwd DIR 253,1 4096 2 /
polkitd 440 polkitd rtd DIR 253,1 4096 2 /
polkitd 440 polkitd txt REG 253,1 120424 788678 /usr/lib/polkit-1/polkitd
polkitd 440 polkitd mem REG 253,1 62184 657115 /usr/lib64/libnss_files-2.17.so
polkitd 440 polkitd mem REG 253,1 68192 657657 /usr/lib64/libbz2.so.1.0.6
polkitd 440 polkitd mem REG 253,1 99952 657624 /usr/lib64/libelf-0.166.so
polkitd 440 polkitd mem REG 253,1 19888 657701 /usr/lib64/libattr.so.1.1.0
polkitd 440 polkitd mem REG 253,1 398264 657523 /usr/lib64/libpcre.so.1.2.0
polkitd 440 polkitd mem REG 253,1 999944 657405 /usr/lib64/libstdc++.so.6.0.19
………
-p: PID에 대응하는 프로세스에서 열린 파일을 표시합니다. 즉, 프로세스 id를 통해 필터 출력을 하면 여러 개의 pid를 지정하고 쉼표로 구분할 수 있습니다.
[root@root ~]# lsof -p 3158
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3158 root cwd DIR 253,1 4096 2 /
sshd 3158 root rtd DIR 253,1 4096 2 /
sshd 3158 root txt REG 253,1 823744 662215 /usr/sbin/sshd
sshd 3158 root mem REG 253,1 62184 657115 /usr/lib64/libnss_files-2.17.so
sshd 3158 root mem REG 253,1 68192 657657 /usr/lib64/libbz2.so.1.0.6
sshd 3158 root mem REG 253,1 99952 657624 /usr/lib64/libelf-0.166.so
sshd 3158 root mem REG 253,1 19888 657701 /usr/lib64/libattr.so.1.1.0
………
-i: tcp,udp 및 포트 같은 매개 변수를 추가할 수 있는 모든 네트워크 연결을 표시합니다.
[root@root ~]# lsof -i tcp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3158 root 3u IPv4 16225 0t0 TCP *:ssh (LISTEN)
sshd 4190 root 3u IPv4 221839 0t0 TCP root:ssh->116.23.154.188:55184 (ESTABLISHED)
AliYunDun 18754 root 20u IPv4 36643 0t0 TCP root:42866->100.100.30.25:http (ESTABLISHED)
[root@root ~]# lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3158 root 3u IPv4 16225 0t0 TCP *:ssh (LISTEN)
sshd 4190 root 3u IPv4 221839 0t0 TCP root:ssh->116.23.154.188:55184 (ESTABLISHED)
--
[root@root ~]# lsof -i tcp:55184
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 4190 root 3u IPv4 221839 0t0 TCP root:ssh->116.23.154.188:55184 (ESTABLISHED)
-N: 모든 NFS(네트워크 파일 시스템) 파일 나열
-t: 출력 프로세스의pid는 항상 -i와 조합하여 사용합니다
[root@root ~]# lsof -t -i tcp
3158
4190
18754
-r: 중단될 때까지 파일을 순환하는 데 사용됩니다. 예를 들어 네트워크 활동을 검사하는 데 사용됩니다. -r 뒤에 있는 1은 초당 한 번 반복해서 인쇄합니다.
[root@root ~]# lsof -r 1 -u root -i -a
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 685 root 6u IPv4 12108 0t0 UDP *:bootpc
dhclient 685 root 20u IPv4 12072 0t0 UDP *:17859
dhclient 685 root 21u IPv6 12073 0t0 UDP *:46450
sshd 3158 root 3u IPv4 16225 0t0 TCP *:ssh (LISTEN)
sshd 4190 root 3u IPv4 221839 0t0 TCP root:ssh->116.23.154.188:55184 (ESTABLISHED)
AliYunDun 18754 root 20u IPv4 36643 0t0 TCP root:42866->100.100.30.25:http (ESTABLISHED)
=======
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 685 root 6u IPv4 12108 0t0 UDP *:bootpc
dhclient 685 root 20u IPv4 12072 0t0 UDP *:17859
dhclient 685 root 21u IPv6 12073 0t0 UDP *:46450
sshd 3158 root 3u IPv4 16225 0t0 TCP *:ssh (LISTEN)
sshd 4190 root 3u IPv4 221839 0t0 TCP root:ssh->116.23.154.188:55184 (ESTABLISHED)
AliYunDun 18754 root 20u IPv4 36643 0t0 TCP root:42866->100.100.30.25:http (ESTABLISHED)
-a: 여러 옵션 조합 조건을 "또는"에서 "및"으로 변경할 수 있습니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.