정의
lspci는 Linux와 기타 Unix 계열 운영체제에서 PCI(Peripheral Component Interconnect) 버스에 연결된 하드웨어 장치를 조회하고 목록화하는 명령줄 유틸리티이다. 일반적으로 pciutils 패키지에 포함되어 배포된다.
개요
- 패키지: pciutils에 포함되며, 대부분의 배포판에서 기본 설치 혹은 패키지 관리자를 통해 손쉽게 설치할 수 있다.
- 기능: 시스템에 장착된 모든 PCI 디바이스의 벤더 ID, 디바이스 ID, 클래스 코드, 서브클래스, 인터페이스, IRQ, 메모리/IO 영역 등 다양한 정보를 출력한다.
- 주요 옵션
-v,-vv,-vvv: 상세 정보를 단계적으로 증가시켜 출력한다.-k: 디바이스에 바인딩된 커널 드라이버 정보를 표시한다.-nn: 숫자(벤더·디바이스 ID)와 함께 인간이 읽을 수 있는 이름을 동시에 출력한다.-t: PCI 버스 트리를 트리 구조로 시각화한다.-s <주소>: 특정 디바이스(버스·디바이스·함수 주소)만 선택해 출력한다.
- 데이터베이스: 출력에 사용되는 벤더·디바이스 이름은
/usr/share/hwdata/pci.ids(또는pci.ids) 파일에 저장된 PCI ID 데이터베이스에서 조회한다.
어원/유래
명령어 이름 “lspci”는 “list PCI”(PCI를 나열한다)의 약어에서 유래한 것으로, 기능을 직접적으로 나타낸다. 정확한 명명 과정에 대한 공식 문서는 확인되지 않는다.
특징
- 광범위한 호환성: 대부분의 Linux 커널 및 BSD 계열 시스템에서 동일하게 동작한다.
- 실시간 정보 제공: 시스템 부팅 시점뿐 아니라 동작 중에도 현재 PCI 장치 구성을 실시간으로 확인할 수 있다.
- 다양한 출력 형식: 인간 친화적인 텍스트 외에도
-json옵션(일부 최신 버전) 등을 통해 구조화된 데이터 형식으로 출력할 수 있다. (정확한 옵션 지원 여부는 사용 중인 pciutils 버전에 따라 다를 수 있다.) - 스크립트 활용성: 명령어의 표준 출력은 파이프라인을 통해 grep, awk 등과 결합해 자동화 스크립트에서 장치 검색·분석에 활용된다.
- 디버깅 및 진단: 시스템 하드웨어 문제, 드라이버 로드 실패, 장치 충돌 등을 파악할 때 기본적인 진단 도구로 널리 사용된다.
관련 항목
- pciutils: lspci를 포함한 PCI 관련 유틸리티 모음 패키지.
- lshw: 시스템 하드웨어 구성 정보를 상세히 출력하는 도구, PCI 정보도 포함한다.
- lsusb: USB 버스에 연결된 장치를 나열하는 유틸리티.
- dmidecode: DMI(Desktop Management Interface) 테이블을 읽어 시스템 하드웨어 정보를 제공한다.
- /proc/pci(구형 시스템): 과거 Linux에서 PCI 정보를 제공하던 가상 파일 시스템.
- PCI ID 데이터베이스: 벤더·디바이스 식별자를 인간이 읽을 수 있는 이름으로 매핑하는 데이터베이스 (
pci.ids).
※ 본 내용은 공개된 기술 문서와 소프트웨어 패키지 매뉴얼을 기반으로 작성되었으며, 특정 옵션이나 동작에 대한 세부 사항은 사용 중인 lspci·pciutils 버전에 따라 차이가 있을 수 있다.