리눅스
리눅스 lsof : list open files 명령어 사용법
coinAA
2022. 10. 10. 00:52
목차
lsof란? / lsof 개념
lsof 는 list open files 의 약자로 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스, 디바이스 정보, 파일의 종류등 상세한 정보를 출력해 준다.
리눅스와 유닉스는 추상화된 파일 시스템(VFS - Virtual File System)을 사용하므로 일반 파일, 디렉터리, 네트워크 소켓, 라이브러리, 심볼릭 링크 등도 모두 파일로 처리되며 lsof 에서 상세한 정보를 확인할 수 있다.
다만 유닉스마다 고유의 lsof 와 비슷한 용도의 명령어가 있지만 명령어와 옵션이 제각각이고 출력 정보가 상이하여 OS 가 바뀌면 사용하기가 힘들다는 단점이 있다.
lsof 는 리눅스, AIX, Solaris, FreeBSD, Mac OS X 등 종류에 상관없이 일관된 옵션과 출력 형식을 갖는 장점이 있다.
lsof 실행
#아무 옵션 없이 입력
lsof
lsof 컬럼별 의미
컬럼 | 의미 |
COMMAND | 실행한 명령어 |
PID | process id |
USER | 실행한 사용자 |
FD | File Descriptor, 파일의 종류. |
TYPE | 파일 종류 |
DEVICE | 장치 번호 |
SIZE/OFF | 파일의 크기나 오프셋 |
NODE | 노드 번호 |
NAME | 파일명 |
lsof 사용자 지정
아래 예시를 들기 위해 testuser1 계정을 생성한 후 서버에 ssh 접속만 해준 뒤 lsof -u 명령어를 입력해주었다.
#lsof -u [유저명]
lsof -u testuser1
lsof -i 포트 지정
#lsof -i [프로토콜:포트번호]
lsof -i TCP:22