lsof: List Open Files and Ports

How to use lsof to check open files, listening ports, and process file handles on Linux.
June 12, 2026

lsof: List Open Files and Ports

lsof는 현재 시스템에서 열려 있는 모든 파일을 나열하는 명령어입니다.
리눅스에서는 네트워크 소켓, 파이프, 디바이스 등 모든 것이 파일로 취급되기 때문에, lsof는 단순히 일반 파일뿐 아니라 열린 포트, 프로세스가 사용 중인 리소스 등을 폭넓게 확인할 수 있습니다.

1. Check All Open Files

아무 옵션 없이 실행하면 시스템 전체에서 열려 있는 모든 파일 목록을 출력합니다.
List all open files
sh

2. Check Listening Ports

-i 옵션으로 네트워크 소켓을 필터링합니다.
-P(포트 번호 그대로 표시)와 -n(호스트명 역조회 생략)을 함께 사용하면 더 빠르게 결과를 확인할 수 있습니다.
Check all listening ports
sh
특정 포트를 점유하고 있는 프로세스를 확인할 때는 :port를 지정합니다.
Check which process is using port 8080
sh

3. Check Open Files by Process

-p 옵션으로 특정 PID가 열고 있는 파일 목록을 확인합니다.
Check open files by PID
sh
프로세스 이름으로 검색할 때는 -c 옵션을 사용합니다.
Check open files by process name
sh

4. Check Open Files by User

-u 옵션으로 특정 사용자가 열고 있는 파일 전체를 확인합니다.
Check open files by user
sh
반대로 특정 사용자를 제외하려면 ^를 앞에 붙입니다.
Exclude root user from results
sh

5. Check Which Process Is Using a File

특정 파일을 어떤 프로세스가 사용 중인지 확인합니다.
파일이 삭제되지 않거나 umount가 실패할 때 특히 유용합니다.
Check which process is using a specific file
sh
마운트 포인트 전체를 점유 중인 프로세스를 확인할 때도 동일하게 사용합니다.
Check which process is using a mount point
sh
lsof는 포트 충돌 디버깅, 삭제된 파일 복구, 프로세스 리소스 추적 등 다양한 상황에서 필수적으로 활용되는 명령어입니다.

Option Summary

옵션설명예시
none시스템 전체 열린 파일 목록 출력lsof
-i네트워크 소켓 필터링lsof -i
-i :PORT특정 포트를 사용 중인 프로세스 확인lsof -i :8080
-P포트 번호를 서비스명 대신 숫자로 표시lsof -i -P
-n호스트명 역조회 생략 (속도 향상)lsof -i -n
-p PID특정 PID가 열고 있는 파일 목록lsof -p 1234
-c NAME특정 프로세스 이름으로 필터링lsof -c nginx
-u USER특정 사용자가 열고 있는 파일 목록lsof -u root
-u ^USER특정 사용자 제외lsof -u ^root
Jooojub
System S/W engineer
Explore Tags
Series
    Recent Post
    © 2026. jooojub. All right reserved.