리눅스 시스템에서 하드웨어와 시스템 정보를 확인하는 것은 문제 해결, 시스템 관리, 하드웨어 호환성 검사 등 다양한 상황에서 필수적입니다. 이 글에서는 시스템 정보를 확인할 수 있는 주요 명령어인 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)
dmesg
와 grep
을 조합하여 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
명령어 출력 정렬하기
free
와 sort
를 조합하여 메모리 사용량을 정렬:
$ 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
grep
과 proc
파일시스템을 조합하여 CPU 정보 확인:
$ grep -i "model name" /proc/cpuinfo | sort -u
model name : Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz
10. 마지막으로 몇가지 팁
시스템 정보 확인 명령어를 사용할 때 알아두면 좋은 몇 가지 주의사항과 팁을 소개합니다:
- 권한 문제: 많은 시스템 정보 명령어(
dmidecode
,lshw
등)는 root 권한이 필요합니다. 권한이 없을 경우sudo
를 사용하세요. - 출력 필터링: 대부분의 명령어는 매우 상세한 정보를 제공하므로,
grep
,awk
,sed
등을 사용하여 필요한 정보만 필터링하는 것이 좋습니다. - 하드웨어 정보 불일치: 간혹 서로 다른 명령어가 같은 하드웨어에 대해 다른 정보를 보여줄 수 있습니다. 이는 정보 수집 방식의 차이 때문이니, 중요한 정보는 여러 명령어로 교차 검증하세요.
- 가상 환경에서의 제한: 가상 머신이나 컨테이너 환경에서는 일부 하드웨어 정보 명령어가 제한된 정보만 보여주거나 실행되지 않을 수 있습니다.
- 파일 시스템을 통한 정보 확인: 많은 시스템 정보는
/proc
와/sys
파일 시스템을 통해 직접 확인할 수 있습니다. 예를 들어:$ cat /proc/cpuinfo # CPU 정보 $ cat /proc/meminfo # 메모리 정보 $ cat /proc/version # 커널 버전
- 배치 스크립트 작성: 정기적으로 시스템 정보를 수집해야 한다면, 위 명령어들을 조합한 배치 스크립트를 작성하여 자동화하는 것이 좋습니다.
- 보안 고려사항: 시스템 정보는 보안 감사나 취약점 분석에 사용될 수 있는 중요한 정보를 포함할 수 있습니다. 공개된 환경에서는 전체 시스템 정보를 노출하지 않도록 주의하세요.
리눅스 시스템에서 하드웨어와 시스템 정보를 확인하는 다양한 명령어들을 살펴보았습니다. 각 명령어는 고유한 목적과 특성을 가지고 있으며, 상황에 따라 적절한 명령어를 선택하여 사용하면 시스템 관리, 문제 해결, 하드웨어 호환성 검사 등 다양한 작업을 효율적으로 수행할 수 있습니다.
이 글에서 다룬 주요 명령어들을 다시 한 번 정리하면 이렇습니다.
uname
: 기본 시스템 정보 확인lscpu
: CPU 정보 확인lsusb
: USB 장치 정보 확인lspci
: PCI 장치 정보 확인dmidecode
: 시스템 하드웨어 정보 확인inxi
: 종합적인 시스템 정보 확인hwinfo
: 상세한 하드웨어 정보 확인free
: 메모리 사용량 확인
이러한 명령어들을 잘 활용하여 리눅스 시스템의 하드웨어와 소프트웨어 구성을 상세히 파악하고, 문제 해결이나 시스템 최적화에 도움이 되었으면 합니다. 🙂