[Linux] lsof 명령어: 실행 중 파일 정보 출력

공정위 광고 문구 Ver 2.0

lsof 명령어는 lisf open files의 약자로 리눅스 시스템에서 열려 있는 파일의 정보를 출력해 주는 명령어입니다.

lsof 명령어는 파일을 포함하여 디렉터리, 네트워크 소켓, 파이프 등 프로세스가 사용 중인 다양한 리소스도 조회할 수 있습니다.

✅ lsof 명령어 기본 구문

lsof [옵션] [파일 또는 프로세스]

명령어만 입력 했을 때는 현재 시스템에서 열린 모든 파일과 관련된 프로세스 정보를 출력합니다.

리눅스 lsof 명령어.

COMMAND

PID

TID

TASKCMD

USER

프로세스 이름

프로세스 ID

스레드 ID

스레드명 또는 작업명

실행 사용자

FD

TYPE

DEVICE

SIZE/OFF

NODE

NAME

파일 디스크립터

접근 타입

파일 타입

장치 번호

파일 크기 또는 오프셋

inode 번호

파일 이름/경로

✅ lsof 명령어 옵션

옵션

설명

예시

-u

특정 사용자(user)의 열린 파일 조회

lsof -u username

-p

특정 프로세스 ID(pid)의 열린 파일 조회

lsof -p 1234

-P

특정 프로세스 ID(pid)의 열린 파일 조회

lsof -p 1234

-c

특정 명령어 이름(command)로 필터링

lsof -c sshd

-i

네트워크 파일(소켓) 관련 열린 파일 포트로 조회

lsof -i :80

-n

네트워크 주소를 숫자 형태로 표시

lsof -i -n

-r

주기적으로 반복 실행 (초 단위)

lsof -i -r 5 (5초마다 갱신)

-t

PID만 출력 (스크립트 용도)

lsof -t -i :22

+D

특정 디렉터리 내 파일만 조회

lsof +D /var/log

+L1

링크 수가 1 이하인 파일만 조회

lsof +L1

-s

파일 크기 정보 출력

lsof -s

-h

도움말 출력

lsof -h

✅ lsof 명령어 사용 예시

🔲 특정 사용자 확인: -u

 ~]# lsof -u testuser
COMMAND    PID  USER   FD   TYPE             DEVICE SIZE/OFF      NODE NAME
php-fpm 301168 testuser  cwd    DIR              259,4     4096  55631296 /home/testuser/www
php-fpm 301168 testuser  rtd    DIR              259,4     4096       128 /
php-fpm 301168 testuser  txt    REG              259,4  8485752   3153819 /usr/sbin/php-fpm
php-fpm 301168 testuser  mem    REG              259,4  1714000   1058023 /usr/lib64/libp11-kit.so.0.3.1
php-fpm 301168 testuser  mem    REG              259,4   353416   1311465 /usr/lib64/libnss_systemd.so.2
...
 ~]# lsof -u mysql
COMMAND  PID  USER   FD   TYPE             DEVICE   SIZE/OFF      NODE NAME
mariadbd 810 mysql  cwd    DIR              259,4       4096   1106122 /var/lib/mysql
mariadbd 810 mysql  rtd    DIR              259,4       4096       128 /
mariadbd 810 mysql  txt    REG              259,4   27406208   2142502 /usr/sbin/mariadbd
mariadbd 810 mysql  DEL    REG               0,17                21610 /[aio]
mariadbd 810 mysql  mem    REG              259,4    2387008   1078242 /usr/lib64/libc.so.6
...

🔲 특정 포트로 열려 있는 네트워크 조회: -i

~]# lsof -i :80
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd      628   root    4u  IPv6  21015      0t0  TCP *:http (LISTEN)
httpd   308004 nobody    4u  IPv6  21015      0t0  TCP *:http (LISTEN)
httpd   308118 nobody    4u  IPv6  21015      0t0  TCP *:http (LISTEN)
httpd   308237 nobody    4u  IPv6  21015      0t0  TCP *:http (LISTEN)

◻️ 모든 네트워크 조회: -i

 ~]# lsof -i | wc -l
27
 ~]# lsof -i | head
COMMAND      PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
chronyd      597   chrony    5u  IPv4   16123      0t0  UDP localhost:323 
chronyd      597   chrony    6u  IPv6   16124      0t0  UDP localhost:323 
NetworkMa    620     root   26u  IPv4   20914      0t0  UDP ip-172-26-14-231.ap-northeast-2.compute.internal:bootpc->ip-172-26-0-1.ap-northeast-2.compute.internal:bootps 
NetworkMa    620     root   28u  IPv6   22720      0t0  UDP ip-172-26-14-231.ap-northeast-2.compute.internal:dhcpv6-client 
httpd        628     root    4u  IPv6   21015      0t0  TCP *:http (LISTEN)
httpd        628     root    6u  IPv6   21025      0t0  TCP *:https (LISTEN)
mariadbd     810    mysql   21u  IPv4   21191      0t0  TCP *:mysql (LISTEN)
redis-ser   1184    redis    6u  IPv4   23649      0t0  TCP localhost:redis (LISTEN)
redis-ser   1184    redis    7u  IPv6   23650      0t0  TCP localhost:redis (LISTEN)

◻️IPv4 & IPv6 네트워크 조회: -i

리눅스 lsof 명령어_IPv4 IPV6 네트워크 소캣 확인

입력

의미

-i 4

IPv4 네트워크 소켓만 표시

-i 6

IPv6 네트워크 소켓만 표시

🔲 명령어로 열려 있는 파일: -c

 ~]# lsof -c httpd | grep sbin
httpd      628   root  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   270410 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   308004 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   308118 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   308237 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
 ~]# lsof -c mariadb | head
COMMAND  PID  USER   FD   TYPE             DEVICE   SIZE/OFF      NODE NAME
mariadbd 810 mysql  cwd    DIR              259,4       4096   1106122 /var/lib/mysql
mariadbd 810 mysql  rtd    DIR              259,4       4096       128 /
mariadbd 810 mysql  txt    REG              259,4   27406208   2142502 /usr/sbin/mariadbd
...

🔲 특정 프로세스 ID(PID) 확인: -p

 ~]# lsof -p 810 | head
COMMAND  PID  USER   FD   TYPE             DEVICE   SIZE/OFF      NODE NAME
mariadbd 810 mysql  cwd    DIR              259,4       4096   1106122 /var/lib/mysql
mariadbd 810 mysql  rtd    DIR              259,4       4096       128 /
mariadbd 810 mysql  txt    REG              259,4   27406208   2142502 /usr/sbin/mariadbd
mariadbd 810 mysql  DEL    REG               0,17                21610 /[aio]
...

◻️ 프로세스 그룹(PGID)에 속한 파일 확인: -g

  ~]# lsof -p 308237 | head
COMMAND    PID   USER   FD      TYPE             DEVICE SIZE/OFF     NODE NAME
httpd   308237 nobody  cwd       DIR              259,4     4096      128 /
httpd   308237 nobody  rtd       DIR              259,4     4096      128 /
httpd   308237 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   308237 nobody  mem       REG              259,4    44784  1066605 /usr/lib64/libffi.so.8.1.0

...

🔲 httpd 실행 프로세스 찾기

 ~]# lsof -c httpd | grep bin
httpd      628   root  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   270410 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
httpd   308004 nobody  txt       REG              259,4   585848  2142479 /usr/sbin/httpd
...
 ~]# lsof -c httpd | grep log
httpd      628   root  mem       REG              259,4    15696 49284538 /usr/lib64/httpd/modules/mod_logio.so
httpd      628   root  mem       REG              259,4    36712 49284535 /usr/lib64/httpd/modules/mod_log_config.so
httpd      628   root    2w      REG              259,4  7056399 60819881 /var/log/httpd/error_log
...

Similar Posts

  • 리눅스 kill 명령어[kill -9 PID]

    리눅스 kill 명령어는 사용 중인 프로세스를 종료하는 명령어입니다. 터미널에서 프로세스에 시그널(Signal)을 보내서 프로세스를 종료합니다. 프로그램이 정지하거나 응답하지 않는 경우 일반적인 종료가 되지 않는 경우 등에 따라 명령어를 실행하게 됩니다. kill process는 사용 시 중요한 시스템 프로세스를 종료 시키면 시스템이 불안정해질 수 있기 때문에 주의해서 사용해야 합니다. ✅ 리눅스 kill 명령어 기본 사용 방법…

  • df 명령어

    df(Disk Free)는 마운트 된 장치 전체 용량, 사용 용량, 여유 용량을 확인할 수 있습니다. 파일 시스템(Filesystem), 디스크 크기(Size), 사용량(Used), 여유공간(Avail), 사용률(Use%), 마운트지점(Mounted on)을 순서로 확인할 수 있습니다. df 명령어 옵션 웹사이트 접속이 안되는 오류 발생 시 디스크 용량을 확인해서 서버 관리를 하는 것이 기본적인 활용법이며, 파티션 용량이 가득 찼을 경우 웹사이트가 접속 되지…

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

  • 리눅스 host 명령어 | DNS 조회 명령어

    host 명령어는 DNS(Domain Name System) 조회를 할 때 사용하는 명령어입니다. 호스트 이름에 해당하는 IP 주소를 찾거나, 반대로 IP 주소를 호스트 이름으로 변환하는 데 사용됩니다. 네트워크 연결 문제를 해결하거나 호스트 이름과 IP 주소 간의 매핑을 확인하는 데 유용합니다. ✅ host 명령어 사용법 기본 사용 옵션은 다음과 같습니다. 예를 들어 네이버의 IP 주소를 찾을 경우…

  • [Shell 특수문자] 리눅스 와일드카드(메타문자)

    리눅스 와일드카드는 Shell 특수문자로 메타 문자로 불리기도 합니다. Shell 특수 기호 중 와일드카드(글로빙으로 부르기도 함)는 문자 패턴에 따라 파일명을 선택할 수 있습니다. 특수 문자에는 인용(따옴표) 기호, 리눅스 다중 명령어, 리눅스 히스토리 기호, 리눅스 디렉토리 기호, 리눅스 괄호 기호 및 입출력 리다이렉션 등 다양하게 있습니다. ✅ 리눅스 와일드카드 매칭 문자 리눅스 와일드카드 매칭 문자…

  • 리눅스 sort 명령어: 파일 정렬

    종류 및 분류의 사전적 의미를 가진 리눅스 sort 명령어는 아스키 파일 내용(레코드)을 정렬할 때 사용하는 명령어입니다. 알파벳순이나 오름차순 또는 내림차순으로 정렬해야 하는 경우에 사용하는 명령어입니다. ✅ 리눅스 sort 명령어 기본 사용 방법 ✅ 리눅스 sort 명령어 옵션 ✅ 리눅스 sort 명령어 사용 예시 기본 사용 방법입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 2   +   8   =