리눅스 시스템에서 하드웨어와 시스템 정보를 확인하는 것은 문제 해결, 시스템 관리, 하드웨어 호환성 검사 등 다양한 상황에서 필수적입니다. 이 글에서는 시스템 정보를 확인할 수 있는 주요 명령어인 uname, lscpu, lsusb, lspci와 함께 추가적인 유용한 명령어들을 자세히 살펴보겠습니다. 각 명령어의 기본 사용법부터 다양한 옵션, 실제 활용 사례까지 상세히 알아보겠습니다.

 

1. uname – 시스템 정보 확인하기

uname(Unix Name)은 현재 실행 중인 운영 체제에 대한 기본 정보를 출력하는 간단하지만 강력한 명령어입니다. 매개변수 없이 실행하면 커널 이름만 표시하지만, 다양한 옵션을 통해 더 많은 정보를 얻을 수 있습니다.

주요 옵션

  • -a (all): 모든 시스템 정보 표시
  • -s (kernel name): 커널 이름 표시
  • -n (nodename): 네트워크 노드 호스트 이름 표시
  • -r (release): 커널 릴리스 버전 표시
  • -v (version): 커널 버전 표시
  • -m (machine): 하드웨어 이름 표시
  • -p (processor): 프로세서 타입 표시
  • -i (hardware-platform): 하드웨어 플랫폼 표시
  • -o (operating-system): 운영 체제 이름 표시

사용 예시

기본 uname 명령어는 커널 이름만 출력합니다:

$ uname
Linux

모든 시스템 정보를 한 번에 확인하려면 -a 옵션을 사용합니다:

$ uname -a
Linux hostname 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:37 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

커널 버전만 확인하고 싶을 때는 -r 옵션을 사용합니다:

$ uname -r
5.15.0-76-generic

시스템 아키텍처만 확인하려면 -m 옵션을 사용합니다:

$ uname -m
x86_64

운영체제 이름만 확인하려면 -o 옵션을 사용합니다:

$ uname -o
GNU/Linux

여러 옵션을 조합하여 필요한 정보만 선택적으로 볼 수도 있습니다. 예를 들어, 커널 이름과 버전만 보려면:

$ uname -sr
Linux 5.15.0-76-generic

 

2. lscpu – CPU 정보 확인하기

lscpu 명령어는 CPU 아키텍처에 대한 상세 정보를 표시합니다. 이 명령어는 프로세서 수, 코어 수, 스레드 수, 캐시 크기 등 CPU에 관한 포괄적인 정보를 제공합니다.

주요 옵션

  • -a, --all: 온라인 및 오프라인 CPU 모두 표시
  • -b, --online: 온라인 CPU만 표시
  • -c, --offline: 오프라인 CPU만 표시
  • -e, --extended[=<list>]: 확장 가능한 형식으로 출력
  • -J, --json: JSON 형식으로 출력
  • -x, --hex: 숫자를 16진수로 출력
  • --cache: 캐시 정보만 출력

사용 예시

기본 lscpu 명령어는 CPU에 대한 상세 정보를 표준 형식으로 출력합니다:

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         46 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  12
  On-line CPU(s) list:   0-11
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz

JSON 형식으로 출력하려면 -J 옵션을 사용합니다. 이는 데이터 분석이나 스크립트에서 파싱하기 좋습니다:

$ lscpu -J
{"lscpu":[{"field":"Architecture:","data":"x86_64"},{"field":"CPU op-mode(s):","data":"32-bit, 64-bit"},...]}

특정 정보만 확장 출력하려면 -e 옵션을 사용합니다:

$ lscpu -e=CPU,CORE,SOCKET
CPU CORE SOCKET
0   0    0
1   1    0
...

캐시 정보만 보려면 --cache 옵션을 사용합니다:

$ lscpu --cache
LEVEL  TYPE      SIZE     WAYS  LINE-SIZE  SETS  POLICY
L1d    Data      32K      8     64         64    write-back
L1i    Instruction  32K   8     64         64    write-back
L2     Unified   256K     4     64         1024  write-back
L3     Unified   16M      16    64         16384 write-back

 

3. lsusb – USB 장치 정보 확인하기

lsusb 명령어는 시스템에 연결된 USB 컨트롤러와 장치에 대한 정보를 표시합니다. 이 명령어는 USB 장치 문제를 해결하거나 새 USB 장치의 식별 정보를 확인할 때 매우 유용합니다.

주요 옵션

  • -v, --verbose: 자세한 정보 표시
  • -s, --bus=BUS: 특정 버스의 장치만 표시
  • -d, --device=DEVICE: 특정 장치만 표시
  • -t, --tree: USB 장치 트리 구조로 표시
  • -D, --device-filename=DEVFILE: 특정 장치 파일에 대한 정보 표시

사용 예시

기본 lsusb 명령어는 모든 USB 장치를 간략히 나열합니다:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 0424:5734 Standard Microsystems Corp. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

특정 USB 장치에 대한 상세 정보를 보려면 -v 옵션과 함께 -d 옵션을 사용해 장치 ID를 지정합니다:

$ lsusb -v -d 046d:c52b
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc52b Unifying Receiver
  ...

USB 장치 트리 구조를 보려면 -t 옵션을 사용합니다:

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M

특정 버스의 장치만 보려면 -s 옵션을 사용합니다:

$ lsusb -s 001:
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 0424:5734 Standard Microsystems Corp. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

4. lspci – PCI 장치 정보 확인하기

lspci 명령어는 시스템의 PCI 버스와 연결된 모든 장치에 대한 정보를 표시합니다. 이 명령어는 그래픽 카드, 네트워크 인터페이스, 사운드 카드 등 중요한 하드웨어 구성 요소의 정보를 확인할 때 유용합니다.

주요 옵션

  • -v, -vv, -vvv: 상세 정보 표시 (자세한 정도에 따라 v 개수 증가)
  • -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]: 특정 장치만 표시
  • -d [<vendor>]:[<device>]: 특정 벤더나 장치 ID만 표시
  • -k: 각 장치를 처리하는 커널 드라이버 표시
  • -m: 기계 읽기 형식으로 덤프
  • -t: 장치의 트리 구조 표시
  • -x: 설정 공간의 첫 256바이트를 16진수로 덤프
  • -xx: 전체 설정 공간을 16진수로 덤프

사용 예시

기본 lspci 명령어는 시스템의 모든 PCI 장치 목록을 표시합니다:

$ lspci
00:00.0 Host bridge: Intel Corporation 8th/9th Gen Core Processor Host Bridge/DRAM Registers (rev 0d)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 0d)
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1)

그래픽 카드와 같은 특정 장치에 대한 상세 정보를 보려면 -v 옵션과 함께 -s 옵션을 사용하여 장치 위치를 지정합니다:

$ lspci -v -s 01:00.0
01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER]
        Flags: bus master, fast devsel, latency 0, IRQ 142
        Memory at de000000 (32-bit, non-prefetchable) [size=16M]
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at d0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at 5000 [size=128]
        Expansion ROM at df000000 [disabled] [size=512K]
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

PCI 장치와 관련된 커널 드라이버 정보를 보려면 -k 옵션을 사용합니다:

$ lspci -k
01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER] (rev a1)
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

장치의 트리 구조를 보려면 -t 옵션을 사용합니다:

$ lspci -t
-[0000:00]-+-00.0
           +-01.0-[01]--+-00.0
           |            \-00.1
           +-06.0-[02]----00.0
           +-08.0

장치의 모든 기술 정보를 자세히 보려면 -vvv 옵션을 사용합니다:

$ lspci -vvv -s 01:00.0

 

5. dmidecode – 시스템 하드웨어 정보 확인하기

dmidecode 명령어는 BIOS나 UEFI에서 제공하는 DMI(Desktop Management Interface) 데이터를 통해 시스템의 하드웨어 정보를 자세히 표시합니다. 이 명령어는 메인보드, RAM, BIOS 버전 등 시스템의 하드웨어에 대한 상세 정보를 제공합니다.

주요 옵션

  • -t, --type TYPE: 특정 유형의 DMI 정보만 표시
  • -s, --string KEYWORD: 특정 DMI 문자열 항목만 표시
  • -d, --dev-mem FILE: /dev/mem 대신 다른 메모리 장치 파일 사용
  • -q, --quiet: 덜 상세한 출력
  • -u, --dump: 파일에 바이너리 덤프 저장

사용 예시

전체 DMI 정보를 확인하려면 dmidecode 명령어를 root 권한으로 실행합니다:

$ sudo dmidecode
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.
Table at 0x000E0000.
...

시스템 정보만 확인하려면 -t system 옵션을 사용합니다:

$ sudo dmidecode -t system
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Dell Inc.
        Product Name: XPS 15 9570
        Version: Not Specified
        Serial Number: *****
        UUID: *****
        Wake-up Type: Power Switch
        SKU Number: 0798
        Family: XPS

메모리 정보만 확인하려면 -t memory 옵션을 사용합니다:

$ sudo dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0008, DMI type 16, 23 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 64 GB
        Error Information Handle: Not Provided
        Number Of Devices: 4
...

프로세서 정보를 확인하려면 -t processor 옵션을 사용합니다:

$ sudo dmidecode -t processor
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0004, DMI type 4, 48 bytes
Processor Information
        Socket Designation: U3E1
        Type: Central Processor
        Family: Core i7
        Manufacturer: Intel(R) Corporation
        ID: ***
        Signature: Type 0, Family 6, Model 158, Stepping 10
        Flags: ***
        Version: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
        Voltage: 1.1 V
        External Clock: 100 MHz
        Max Speed: 4100 MHz
        Current Speed: 2200 MHz

주의사항: dmidecode 명령어는 대부분의 시스템에서 실행하려면 root 권한(sudo)이 필요합니다.

 

6. inxi – 시스템 정보 종합적 확인하기

inxi는 다양한 시스템 정보를 종합적으로 표시하는 강력한 명령줄 도구입니다. CPU, 그래픽, 오디오, 네트워크 등 시스템의 거의 모든 측면에 대한 상세 정보를 제공합니다.

주요 옵션

  • -F: 전체 정보 표시 (모든 옵션 포함)
  • -b: 기본 정보 요약 표시
  • -C: CPU 정보 표시
  • -G: 그래픽 정보 표시
  • -A: 오디오 정보 표시
  • -N: 네트워크 정보 표시
  • -D: 디스크 정보 표시
  • -m: 메모리 정보 표시
  • -i: 컬러 출력 지정

사용 예시

참고: 기본적으로 inxi가 설치되어 있지 않은 경우 다음 명령으로 설치할 수 있습니다:

$ sudo apt install inxi   # Debian/Ubuntu
$ sudo dnf install inxi   # Fedora
$ sudo pacman -S inxi     # Arch Linux

기본 시스템 요약 정보를 확인하려면:

$ inxi -b
CPU: 6-Core Intel Core i7-8750H (-MT MCP-) speed/min/max: 900/800/4100 MHz 
Kernel: 5.15.0-76-generic x86_64 Up: 1d 4h 23m 
Mem: 7.34/15.54 GiB (47.2%) Storage: 512.11 GiB (21.2% used) 
Procs: 311 Shell: Bash 5.1.16 inxi: 3.3.13

전체 시스템 정보를 상세히 확인하려면:

$ inxi -F
System:    Kernel: 5.15.0-76-generic x86_64 bits: 64 Desktop: GNOME 42.5 Distro: Ubuntu 22.04.2 LTS (Jammy Jellyfish) 
Machine:   Type: Laptop System: Dell product: XPS 15 9570 v: N/A serial: <superuser required> 
           Mobo: Dell model: 0Y2P3V v: A00 serial: <superuser required> UEFI: Dell v: 1.17.1 date: 05/11/2020 
Battery:   ID-1: BAT0 charge: 76.8 Wh (97.2%) condition: 79.0/97.0 Wh (81.4%) 
CPU:       Info: 6-Core Intel Core i7-8750H [MT MCP] speed: 900 MHz min/max: 800/4100 MHz 
Graphics:  Device-1: Intel UHD Graphics 630 driver: i915 v: kernel 
           Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nvidia v: 470.103.01 
           Display: x11 server: X.Org v: 1.20.13 driver: X: loaded: modesetting,nvidia 
           resolution: 3840x2160~60Hz 
Audio:     Device-1: Intel Cannon Lake PCH cAVS driver: snd_hda_intel 
           Sound Server-1: ALSA v: k5.15.0-76-generic running: yes 
Network:   Device-1: Intel Wireless-AC 9260 driver: iwlwifi 
Drives:    Local Storage: total: 512.11 GiB used: 108.57 GiB (21.2%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLB512HAJQ-000L7 size: 512.11 GiB 
Partition: ID-1: / size: 469.18 GiB used: 108.52 GiB (23.1%) fs: ext4 dev: /dev/nvme0n1p2 
Sensors:   System Temperatures: cpu: 48.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 311 Uptime: 1d 4h 23m Memory: 15.54 GiB used: 7.34 GiB (47.2%) Init: systemd runlevel: 5 
           Compilers: gcc: 11.3.0 Shell: Bash v: 5.1.16 inxi: 3.3.13 

CPU 정보만 확인하려면:

$ inxi -C
CPU:       Info: 6-Core Intel Core i7-8750H [MT MCP] speed: 900 MHz min/max: 800/4100 MHz 
           Core speeds (MHz): 1: 900 2: 900 3: 901 4: 898 5: 899 6: 899 7: 899 8: 900 9: 900 10: 900 11: 899 12: 900

그래픽 정보만 확인하려면:

$ inxi -G
Graphics:  Device-1: Intel UHD Graphics 630 driver: i915 v: kernel 
           Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nvidia v: 470.103.01 
           Display: x11 server: X.Org v: 1.20.13 driver: X: loaded: modesetting,nvidia 
           resolution: 3840x2160~60Hz 
           OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 22.0.5

 

7. hwinfo – 하드웨어 정보 상세 확인하기

hwinfo는 시스템 하드웨어의 매우 상세한 정보를 제공하는 도구입니다. 이 명령어는 lshw보다 더 많은 정보를 제공하며, 특정 하드웨어 유형만 선택적으로 확인할 수 있습니다.

주요 옵션

  • --short: 간략한 정보만 표시
  • --disk: 디스크 정보만 표시
  • --cpu: CPU 정보만 표시
  • --memory: 메모리 정보만 표시
  • --gfxcard: 그래픽 카드 정보만 표시
  • --network: 네트워크 장치 정보만 표시
  • --sound: 오디오 장치 정보만 표시
  • --all: 모든 하드웨어 정보 표시

사용 예시

참고: 기본적으로 hwinfo가 설치되어 있지 않은 경우 다음 명령으로 설치할 수 있습니다:

$ sudo apt install hwinfo   # Debian/Ubuntu
$ sudo dnf install hwinfo   # Fedora
$ sudo pacman -S hwinfo     # Arch Linux

기본 하드웨어 요약 정보를 확인하려면:

$ hwinfo --short
cpu:
                       Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2236 MHz
                       Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2200 MHz
...
memory:
                       System Memory
graphics card:
                       Intel UHD Graphics 630
                       NVIDIA GP107M [GeForce GTX 1050 Ti Mobile]
sound:
                       Intel Cannon Lake PCH cAVS
storage:
                       Samsung MZVLB512HAJQ-000L7
network:
                       Intel Wireless-AC 9260
                       Intel Ethernet Connection (6) I219-LM
...

CPU 정보만 상세히 확인하려면:

$ hwinfo --cpu
...
  Hardware Class: processor
  Model: "Intel Core i7-8750H"
  Vendor: "Intel Corp."
  Device: "Core i7-8750H"
  Features: "fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,pdpe1gb,rdtscp,lm,constant_tsc,art,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,cpuid,aperfmperf,tsc_known_freq,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,x2apic,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,3dnowprefetch,cpuid_fault,invpcid_single,pti,ssbd,ibrs,ibpb,stibp,tpr_shadow,vnmi,flexpriority,ept,vpid,ept_ad,fsgsbase,tsc_adjust,sgx,bmi1,avx2,smep,bmi2,erms,invpcid,mpx,rdseed,adx,smap,clflushopt,intel_pt,xsaveopt,xsavec,xgetbv1,xsaves,dtherm,ida,arat,pln,pts,hwp,hwp_notify,hwp_act_window,hwp_epp,sgx_lc,md_clear,flush_l1d,arch_capabilities"
  Clock: 2200 MHz
  BogoMips: 4416.00
  Cache: 9216 kb
  Units/Processor: 2
  Cores/Unit: 6
  Threads/Unit: 2
...

디스크 정보만 확인하려면:

$ hwinfo --disk
...
  Hardware Class: disk
  Model: "Samsung MZVLB512HAJQ-000L7"
  Vendor: "Samsung"
  Device: "MZVLB512HAJQ-000L7"
  Revision: "2B6Q"
  Driver: "nvme", "sd"
  Device File: /dev/nvme0n1
  Device Files: /dev/nvme0n1, /dev/disk/by-id/nvme-Samsung_SSD_970_EVO_Plus_512GB_***, /dev/disk/by-id/nvme-eui.***, /dev/disk/by-path/pci-0000:02:00.0-nvme-1
  Device Number: block 259:0
  Geometry (Logical): CHS 62260/255/63
  Size: 512110190592 bytes
  512 GB (477 GiB)
  Config Status: cfg=new, avail=yes, need=no, active=unknown
...

모든 하드웨어 정보를 상세히 확인하려면 (매우 긴 출력이 생성됩니다):

$ hwinfo --all

 

8. free – 메모리 사용량 확인하기

free 명령어는 시스템의 메모리 사용량을 확인할 수 있는 간단한 도구입니다. 총 메모리, 사용 중인 메모리, 남은 메모리, 공유 메모리, 버퍼/캐시 및 스왑 공간에 대한 정보를 제공합니다.

주요 옵션

  • -b, --bytes: 바이트 단위로 표시
  • -k, --kilo: 킬로바이트 단위로 표시 (기본값)
  • -m, --mega: 메가바이트 단위로 표시
  • -g, --giga: 기가바이트 단위로 표시
  • -h, --human: 사람이 읽기 쉬운 형식으로 표시
  • -s N, --seconds=N: N초마다 계속해서 표시
  • -t, --total: 총계 행 추가
  • -w, --wide: 넓은 형식으로 출력

사용 예시

기본 메모리 정보를 확인하려면:

$ free
              total        used        free      shared  buff/cache   available
Mem:       16310436     8165084     1649656      905496     6495696     7035560
Swap:       2097148           0     2097148

사람이 읽기 쉬운 형식으로 표시하려면:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       7.8Gi       1.6Gi       883Mi       6.2Gi       6.7Gi
Swap:          2.0Gi          0B       2.0Gi

메가바이트 단위로 표시하려면:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           15927        7973        1610         883        6343        6869
Swap:           2047           0        2047

2초마다 메모리 정보를 계속 업데이트하려면:

$ free -h -s 2
              total        used        free      shared  buff/cache   available
Mem:           15Gi       7.8Gi       1.6Gi       883Mi       6.2Gi       6.7Gi
Swap:          2.0Gi          0B       2.0Gi

              total        used        free      shared  buff/cache   available
Mem:           15Gi       7.8Gi       1.6Gi       883Mi       6.2Gi       6.7Gi
Swap:          2.0Gi          0B       2.0Gi
...

 

9. 명령어 조합과 활용 팁

리눅스 명령어의 강력한 특징 중 하나는 여러 명령어를 파이프(|)나 리다이렉션을 통해 조합할 수 있다는 점입니다. 다음은 시스템 정보 명령어를 다른 도구와 조합하는 몇 가지 유용한 예시입니다.

grep으로 특정 정보 필터링하기

lspci 출력에서 그래픽 카드 정보만 필터링:

$ lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER] (rev a1)

dmesggrep을 조합하여 USB 이벤트 확인:

$ dmesg | grep -i usb
[    1.132527] usb: port power management may be unreliable
[    1.228318] usbcore: registered new interface driver usbfs
[    1.228322] usbcore: registered new interface driver hub
[    1.228349] usbcore: registered new device driver usb

정보를 파일로 저장하기

lshw 출력을 파일로 저장:

$ sudo lshw > system_hardware_info.txt

dmidecode 출력을 HTML 파일로 변환:

$ sudo dmidecode | aha > system_info.html

명령어 출력 정렬하기

freesort를 조합하여 메모리 사용량을 정렬:

$ ps aux --sort=-%mem | head -n 10
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user       12345  2.1 10.5 4221680 1672000 ?    Sl   10:30   0:23 /usr/lib/firefox/firefox

watch로 실시간 모니터링하기

lsusb 명령어를 2초마다 실행하여 USB 장치의 변경 사항 모니터링:

$ watch -n 2 lsusb

grepproc 파일시스템을 조합하여 CPU 정보 확인:

$ grep -i "model name" /proc/cpuinfo | sort -u
model name      : Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz

 

10. 마지막으로 몇가지 팁

시스템 정보 확인 명령어를 사용할 때 알아두면 좋은 몇 가지 주의사항과 팁을 소개합니다:

  1. 권한 문제: 많은 시스템 정보 명령어(dmidecode, lshw 등)는 root 권한이 필요합니다. 권한이 없을 경우 sudo를 사용하세요.
  2. 출력 필터링: 대부분의 명령어는 매우 상세한 정보를 제공하므로, grep, awk, sed 등을 사용하여 필요한 정보만 필터링하는 것이 좋습니다.
  3. 하드웨어 정보 불일치: 간혹 서로 다른 명령어가 같은 하드웨어에 대해 다른 정보를 보여줄 수 있습니다. 이는 정보 수집 방식의 차이 때문이니, 중요한 정보는 여러 명령어로 교차 검증하세요.
  4. 가상 환경에서의 제한: 가상 머신이나 컨테이너 환경에서는 일부 하드웨어 정보 명령어가 제한된 정보만 보여주거나 실행되지 않을 수 있습니다.
  5. 파일 시스템을 통한 정보 확인: 많은 시스템 정보는 /proc/sys 파일 시스템을 통해 직접 확인할 수 있습니다. 예를 들어:
    $ cat /proc/cpuinfo     # CPU 정보
    $ cat /proc/meminfo     # 메모리 정보
    $ cat /proc/version     # 커널 버전
    
  6. 배치 스크립트 작성: 정기적으로 시스템 정보를 수집해야 한다면, 위 명령어들을 조합한 배치 스크립트를 작성하여 자동화하는 것이 좋습니다.
  7. 보안 고려사항: 시스템 정보는 보안 감사나 취약점 분석에 사용될 수 있는 중요한 정보를 포함할 수 있습니다. 공개된 환경에서는 전체 시스템 정보를 노출하지 않도록 주의하세요.

 

리눅스 시스템에서 하드웨어와 시스템 정보를 확인하는 다양한 명령어들을 살펴보았습니다. 각 명령어는 고유한 목적과 특성을 가지고 있으며, 상황에 따라 적절한 명령어를 선택하여 사용하면 시스템 관리, 문제 해결, 하드웨어 호환성 검사 등 다양한 작업을 효율적으로 수행할 수 있습니다.

이 글에서 다룬 주요 명령어들을 다시 한 번 정리하면 이렇습니다.

  • uname: 기본 시스템 정보 확인
  • lscpu: CPU 정보 확인
  • lsusb: USB 장치 정보 확인
  • lspci: PCI 장치 정보 확인
  • dmidecode: 시스템 하드웨어 정보 확인
  • inxi: 종합적인 시스템 정보 확인
  • hwinfo: 상세한 하드웨어 정보 확인
  • free: 메모리 사용량 확인

 

이러한 명령어들을 잘 활용하여 리눅스 시스템의 하드웨어와 소프트웨어 구성을 상세히 파악하고, 문제 해결이나 시스템 최적화에 도움이 되었으면 합니다. 🙂

 

댓글 남기기