반응형
[ lsof ]
-> lisf open files의 약자로, 열려진 파일들을 보는 명령어이다.
-> 시스템에서 동작하고 있는 모든 프로세스에 의해 열려진 파일들에 대한 정보를 보여주는 시스템 관리 명령어.
-> 일반유저의 접근을 허용하지 않도록 Permission을 700이나 100으로 변경하는 것이 보안상 좋다.
[0] 설치
만약 lsof 명령어를 설치하지 않았다면 yum -y install lsof 명령어를 통해 설치해주어야 사용할 수 있다.
[root@localhost ~]# lsof
bash: lsof: command not found
[root@localhost ~]# yum -y install lsof
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirror.kakao.com
* extras: mirror.kakao.com
* updates: mirror.kakao.com
base | 3.6 kB 00:00:00
..
..
Verifying : lsof-4.87-6.el7.x86_64 1/1
Installed:
lsof.x86_64 0:4.87-6.el7
Complete!
[1] lsof 맛보기
칼럼 필드로는 COMMAND, PID, TID, USER, FD, TYPE, DEVICE, SIZE/OFF, NODE, NAME 이 있다.
참고로 단순 lsof만 치게된다면 터미널상에서의 출력이 엄청 길다.
[root@localhost ~]# lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 4096 2 /
systemd 1 root rtd DIR 253,0 4096 2 /
systemd 1 root txt REG 253,0 1624512 397095 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 20064 393646 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 253,0 265600 395154 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 253,0 90248 393631 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 157424 393643 /usr/lib64/liblzma.so.5.2.2
..
..
[2] 칼럼 필드 정보
칼럼 필드 정보
|
|
COMMAND
|
실행한 명령어
|
PID
|
Process ID
|
USER
|
실행한 User
|
FD
|
File Descriptor
[cwd] : current working directory
[rtd] : root directory
[txt] : program text
[mem]: memory-mapped file
|
TYPE
|
DIR : Directory
REG : Regular file
CHR : Character special file
unix : unix domain socket
|
DEVICE
|
device number
|
SIZE/OFF
|
파일의 크기 or Offset
|
NODE
|
Node Number
|
NAME
|
File Name
|
[3] 명령어 옵션
명령어 옵션
|
|
-i
|
설정한 네트워크 소켓에 대한 정보를 출력하며 프로토콜, 서비스, 호스트 및 IP에 대해 출력한다.
[4, 6] : IPv4 혹은 IPv6만을 출력하고 싶을 때 사용.
[@hostname, @ip addr] : 접속하는 Host나 IP에 대한 정보를 검색하며 IP 버전과 구분하기 위해 IFS값으로 '@'을 사용한다.
[ :service port ] : /etc/services에 등록되어 있는 서비스이름을 지정하거나 포트 번호를 직접 입력하여 출력할 수 있다.
|
-u
|
사용자 ID or UID 값으로 지정할 수 있다.
다수의 사용자를 설정할 땐 ',' (컴마)로 구분할 수 있다.
특정 사용자를 제외한 정보를 출력하고 싶다면 '^사용자' 로 설정할 수 있다.
|
-c
|
특정한 명령어나 프로그램이 참조하고 있는 파일들의 목록을 출력하고자 할 때 쓰임 |
-P
|
/etc/services에 등록되어 있는 이름 대신 Port Number로 출력한다.
|
-r
|
recursive의 약자로 지속적인 출력을 할 때 지정한 초만큼의 주기로 실행하여 출력
|
-N
|
NFS 서버가 구축된 환경에서 NFS로 연결되어 있는 파일들에 대한 정보를 출력한다.
|
+D
|
특정 디렉터리 내의 하위 디렉터리까지 존재하는 파일을 사용하고 있는 프로세스의 목록 출력
|
[4] lsof 명령어 예시
lsof /var/log/messages
특정 디렉터리 또는 파일을 엑세스 하고 있는 프로세스 확인
lsof +D /var/log
+D 옵션을 사용하면 하위 디렉터리에 있는 파일들을 실행하고 있는 프로세스까지 출력함.
lsof -i 4 lsof -i 6
ipv4, ipv6
인터넷 연결 소켓에 대한 프로세스 목록을 출력함.
lsof -c firewalld
특정 데몬과 연결되어 있는 프로세스 파일 정보
필자는 firewalld ( 방화벽) 데몬을 해봄
Ref
반응형
'OS,Network,Container' 카테고리의 다른 글
[Linux] iptables 정리 (2) | 2022.01.12 |
---|---|
[Vagrant] Vagrant 기본 사용법 (0) | 2022.01.10 |
리눅스 ps 명령어 - 리눅스 Process 확인 (1) | 2020.04.27 |
리눅스 vmstat 명령어 (0) | 2020.04.27 |
리눅스 free 명령어 - 리눅스 Memory (0) | 2020.04.27 |