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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

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

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

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

  • 리눅스 pwd 명령어 & realpath 명령어 | 절대 경로 위치 확인

    ✅ pwd 명령어 pwd 명령어는 Print Working directory의 약자로 현재 작업 디렉토리의 위치를 보여주는 명령어로 현재 사용자가 접속한 절대 경로를 표시합니다. 🔲 명령어 옵션 pwd 명령어는 간단한 명령어로 옵션은 2가지만 존재합니다. ✅ realpath 명령어 realpath 명령어는 실제 경로를 절대 경로로 보여주는 명령어로, 심볼릭 링크의 실제 경로를 확인할 때 함께 사용합니다.

  • ps 명령어(프로세스 명령어)

    ps 명령어는 현재 실행 중인 프로세스를 출력하는 명령어입니다. 1. ps 명령어 옵션 ps에서 주로 사용되는 명령어입니다. 기본 사용 옵션은 아래와 같습니다. 2. ps -ef 명령어 ps -ef 명령어는 모든 프로세스를 포멧 리스트로 출력해 줍니다. 2.1 출력 필드 ps 출력 필드 기본 설명입니다. 3. ps -aux 사용 3.1 ps -aux의 필드 4. 프로세스 상태…

  • echo 명령어: From 확장과 인용

    echo 명령어는 문자열을 그대로 출력해 주는 명령어이다. echo 명령어는 프롬프트에서 사용하는 일은 거의 없으며, 쉘 스크립트 작성 시에 자주 사용하는 명령어이다. 표준 출력 상에 해당 텍스트 인자를 표시한다. 1. echo 명령어 옵션 2. echo $ $뒤에 오는 문자열이 변수로 선언되어 있는 경우 해당 변수의 값을 출력해 준다.

  • [Linux] 리눅스 mv 명령어 사용법 및 mv 명령어 옵션

    리눅스 mv 명령어는 Move의 약자로 파일 또는 디렉토리를 이동하거나 이름을 변경할 때 사용하는 명령어입니다. 기본적인 리눅스 mv 명령어 사용법과 옵션 및 활용 방법에 대해 알아 보겠습니다. ✅ 리눅스 mv 명령어 기본 옵션 mv 명령어의 기본 사용 방법입니다. ✅ mv 명령어 옵션 ✅ mv 명령어 활용하기 1. 여러 파일을 한번에 이동 시키기 2. 명령어로…

  • [Linux] ip 명령어 : 네트워크 인터페이스 및 설정 관리

    ip 명령어는 리눅스에서 네트워크를 관리할 때 사용되는 주요 도구로, 다양한 네트워크 작업을 수행할 수 있습니다. ip 명령어는 네트워크 인터페이스의 상태를 확인하거나 활성화 및 비활성화 할 수 있으며, IP 주소를 확인하거나 수동으로 추가 및 삭제하는 작업도 가능합니다. 또한 라우팅 테이블을 조회하고 경로를 추가하거나 제거하는 등의 라우팅 관리, ARP 테이블 확인 및 수정, 터널링 설정…

답글 남기기

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

Prove your humanity: 2   +   5   =