소개
이 랩에서는 Linux 의 lsblk 명령어를 살펴보고, 시스템에서 사용 가능한 모든 블록 장치에 대한 정보를 표시합니다. 블록 장치에는 하드 드라이브, SSD, USB 드라이브 및 기타 저장 매체가 포함됩니다. lsblk 명령어는 이 정보를 명확하고 트리 형태의 형식으로 표시하여 서로 다른 저장 장치와 해당 파티션 간의 관계를 쉽게 이해할 수 있도록 합니다.
저장 장치에 대한 이해는 Linux 시스템을 사용하는 모든 사람에게 필수적입니다. 사용 가능한 저장 공간을 식별하고, 파티션 크기를 확인하거나, 마운트 지점을 확인해야 할 때, lsblk 명령어는 이 정보를 빠르고 효율적으로 수집하는 방법을 제공합니다.
이 랩을 마치면 다양한 옵션을 사용하여 Linux 시스템의 저장 장치에 대한 자세한 정보를 얻기 위해 lsblk 명령어를 사용할 수 있게 됩니다.
lsblk 명령어의 기본 사용법
lsblk 명령어는 "list block devices"의 약자로, Linux 시스템에서 사용 가능한 모든 블록 장치에 대한 정보를 표시하는 데 사용됩니다. 블록 장치는 하드 드라이브, SSD 및 USB 드라이브와 같은 저장 장치입니다.
터미널에서 기본 lsblk 명령어를 실행하는 것으로 시작해 보겠습니다.
터미널이 아직 열려 있지 않다면 엽니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
lsblk
다음과 유사한 출력을 볼 수 있습니다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55.5M 1 loop /snap/core18/2128
loop1 7:1 0 55.4M 1 loop /snap/core18/2284
loop2 7:2 0 43.6M 1 loop /snap/snapd/15534
loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535
loop4 7:4 0 31.1M 1 loop /snap/snapd/16292
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 49G 0 part /
└─sda2 8:2 0 976M 0 part [SWAP]
이 출력은 시스템의 모든 블록 장치를 표시하며, 다음 열이 있습니다.
NAME: 장치 이름MAJ:MIN: 주 및 부 장치 번호RM: 이동식 플래그 (1 은 이동식, 0 은 이동식이 아님)SIZE: 장치 크기RO: 읽기 전용 플래그 (1 은 읽기 전용, 0 은 읽기/쓰기)TYPE: 장치 유형 (disk, partition, loop 등)MOUNTPOINT: 장치가 마운트된 위치 (해당하는 경우)
위의 예에서 다음을 볼 수 있습니다.
- snap 패키지에서 사용되는 여러
loop장치 - 주 저장 장치
sda(50GB 디스크) sda의 두 개의 파티션:sda1(루트/에 마운트됨) 및sda2(스왑 공간으로 사용됨)
출력의 트리 구조는 어떤 파티션이 어떤 디스크에 속하는지 시각적으로 쉽게 파악할 수 있게 해줍니다. 예를 들어, sda1과 sda2 모두 sda 디스크의 파티션임을 알 수 있습니다.
이제 lsblk 명령의 기본 출력을 이해했으므로, 다음 단계에서 몇 가지 유용한 옵션을 살펴보겠습니다.
lsblk 로 추가 정보 표시하기
이 단계에서는 lsblk 명령어를 다양한 옵션과 함께 사용하여 블록 장치에 대한 더 자세한 정보를 표시하는 방법을 배우겠습니다.
-f 옵션을 사용하여 파일 시스템 정보 표시하기
-f 옵션은 파일 시스템 유형, 레이블, UUID 및 마운트 지점을 포함한 파일 시스템 정보를 표시합니다. 이는 UUID 로 장치를 식별하거나 사용 중인 파일 시스템 유형을 확인해야 할 때 특히 유용합니다.
터미널에서 다음 명령을 실행합니다.
lsblk -f
다음과 유사한 출력을 볼 수 있습니다.
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 squashfs /snap/core18/2128
loop1 squashfs /snap/core18/2284
loop2 squashfs /snap/snapd/15534
loop3 squashfs /snap/gtk-common-themes/1535
loop4 squashfs /snap/snapd/16292
sda
├─sda1 ext4 5fbb8eed-12a3-4b5c-9d67-9594ff4e2d1c /
└─sda2 swap b409ae25-7589-44eb-a909-b56f1d42c5ab [SWAP]
이제 출력에는 추가 열이 포함됩니다.
FSTYPE: 파일 시스템 유형 (ext4, swap, squashfs 등)LABEL: 할당된 파일 시스템 레이블UUID: 파일 시스템의 고유 식별자 (Universal Unique Identifier)
-m 옵션을 사용하여 장치 소유자 및 모드 정보 표시하기
-m 옵션은 블록 장치에 대한 권한 및 소유자 정보를 표시합니다. 이는 권한 관련 문제를 해결할 때 유용합니다.
다음 명령을 실행합니다.
lsblk -m
다음과 같은 출력을 볼 수 있습니다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT OWNER GROUP MODE
loop0 7:0 0 55.5M 1 loop /snap/core18/2128 root disk brw-rw----
loop1 7:1 0 55.4M 1 loop /snap/core18/2284 root disk brw-rw----
loop2 7:2 0 43.6M 1 loop /snap/snapd/15534 root disk brw-rw----
loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535 root disk brw-rw----
loop4 7:4 0 31.1M 1 loop /snap/snapd/16292 root disk brw-rw----
sda 8:0 0 50G 0 disk root disk brw-rw----
├─sda1 8:1 0 49G 0 part / root disk brw-rw----
└─sda2 8:2 0 976M 0 part [SWAP] root disk brw-rw----
새로운 열은 다음을 표시합니다.
OWNER: 장치를 소유한 사용자 (일반적으로 root)GROUP: 장치의 그룹 소유자 (일반적으로 disk)MODE: 장치의 권한 모드
-o 옵션을 사용하여 특정 출력 열 선택하기
-o 옵션을 사용하면 표시할 열을 지정할 수 있습니다. 이는 특정 정보만 필요하고 더 깔끔하고 집중된 출력을 원하는 경우에 유용합니다.
이름, 크기 및 마운트 지점 열만 표시해 보겠습니다.
lsblk -o NAME,SIZE,MOUNTPOINT
출력은 훨씬 간단해집니다.
NAME SIZE MOUNTPOINT
loop0 55.5M /snap/core18/2128
loop1 55.4M /snap/core18/2284
loop2 43.6M /snap/snapd/15534
loop3 61.9M /snap/gtk-common-themes/1535
loop4 31.1M /snap/snapd/16292
sda 50G
├─sda1 49G /
└─sda2 976M [SWAP]
이 맞춤형 출력은 필요한 정보에만 집중하기 쉽게 해줍니다. 여러 옵션을 결합하여 원하는 정보를 원하는 형식으로 정확하게 얻을 수 있습니다.
lsblk 로 블록 장치 필터링하기
이 단계에서는 lsblk 명령의 출력을 필터링하여 특정 유형의 블록 장치에 집중하거나 다른 형식으로 정보를 표시하는 방법을 배우겠습니다.
장치 유형별 필터링
lsblk 명령을 사용하면 --type 또는 -t 옵션을 사용하여 장치를 유형별로 필터링할 수 있습니다. 일반적인 장치 유형은 다음과 같습니다.
disk: 물리적 디스크part: 파티션loop: 루프 장치lvm: 논리 볼륨 (Logical Volume)
디스크 장치만 표시하려면 다음 명령을 실행합니다.
lsblk --type disk
출력은 파티션 없이 주 디스크만 표시합니다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
마찬가지로, 파티션 장치만 표시하려면 다음을 실행합니다.
lsblk --type part
출력은 파티션만 표시합니다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda1 8:1 0 49G 0 part /
sda2 8:2 0 976M 0 part [SWAP]
장치 경로 표시하기
--paths 옵션은 장치 이름 대신 전체 장치 경로를 표시합니다. 이는 스크립트 또는 명령에서 장치를 참조해야 할 때 유용합니다.
다음 명령을 실행합니다.
lsblk --paths
출력에는 전체 장치 경로가 포함됩니다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/loop0 7:0 0 55.5M 1 loop /snap/core18/2128
/dev/loop1 7:1 0 55.4M 1 loop /snap/core18/2284
/dev/loop2 7:2 0 43.6M 1 loop /snap/snapd/15534
/dev/loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535
/dev/loop4 7:4 0 31.1M 1 loop /snap/snapd/16292
/dev/sda 8:0 0 50G 0 disk
├─/dev/sda1 8:1 0 49G 0 part /
└─/dev/sda2 8:2 0 976M 0 part [SWAP]
JSON 형식으로 출력 표시하기
--json 옵션은 정보를 JSON 형식으로 출력합니다. 이는 프로그래밍 방식으로 처리하거나 다른 도구와 통합할 때 유용합니다.
다음 명령을 실행합니다.
lsblk --json
출력은 JSON 형식입니다.
{
"blockdevices": [
{
"name": "loop0",
"maj:min": "7:0",
"rm": false,
"size": "55.5M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/core18/2128"
},
{
"name": "loop1",
"maj:min": "7:1",
"rm": false,
"size": "55.4M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/core18/2284"
},
{
"name": "loop2",
"maj:min": "7:2",
"rm": false,
"size": "43.6M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/snapd/15534"
},
{
"name": "loop3",
"maj:min": "7:3",
"rm": false,
"size": "61.9M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/gtk-common-themes/1535"
},
{
"name": "loop4",
"maj:min": "7:4",
"rm": false,
"size": "31.1M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/snapd/16292"
},
{
"name": "sda",
"maj:min": "8:0",
"rm": false,
"size": "50G",
"ro": false,
"type": "disk",
"children": [
{
"name": "sda1",
"maj:min": "8:1",
"rm": false,
"size": "49G",
"ro": false,
"type": "part",
"mountpoint": "/"
},
{
"name": "sda2",
"maj:min": "8:2",
"rm": false,
"size": "976M",
"ro": false,
"type": "part",
"mountpoint": "[SWAP]"
}
]
}
]
}
정밀한 제어를 위해 옵션 결합하기
여러 옵션을 결합하여 필요한 정보를 정확하게 얻을 수 있습니다. 예를 들어, 전체 경로와 함께 디스크 장치만 JSON 형식으로 표시하려면 다음을 수행합니다.
lsblk --type disk --paths --json
출력은 전체 경로가 있는 디스크 장치만 JSON 형식으로 나타냅니다.
{
"blockdevices": [
{
"name": "/dev/sda",
"maj:min": "8:0",
"rm": false,
"size": "50G",
"ro": false,
"type": "disk"
}
]
}
이러한 필터링 옵션은 lsblk 명령을 매우 유연하게 만들고 시스템의 블록 장치에 대한 필요한 정보를 정확하게 얻을 수 있도록 해줍니다.
실용적인 시나리오를 위한 lsblk 의 고급 사용법
이 단계에서는 시스템 관리 및 문제 해결 작업에 lsblk 명령이 유용한 실용적인 시나리오를 살펴보겠습니다.
디스크 사용량 및 사용 가능한 공간 확인하기
디스크 사용량 및 사용 가능한 공간을 확인하려면 lsblk를 -b 옵션 (바이트 단위로 크기 표시) 과 결합하고 특정 열을 선택할 수 있습니다.
lsblk -b -o NAME,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT
출력은 디스크 사용량 정보를 표시합니다.
NAME SIZE FSAVAIL FSUSE% MOUNTPOINT
loop0 58195968 0 - /snap/core18/2128
loop1 58130432 0 - /snap/core18/2284
loop2 45719552 0 - /snap/snapd/15534
loop3 64897024 0 - /snap/gtk-common-themes/1535
loop4 32604160 0 - /snap/snapd/16292
sda 53687091200 - -
├─sda1 52613349376 39128932352 26% /
└─sda2 1023410176 0 - [SWAP]
열은 다음을 표시합니다.
SIZE: 총 크기 (바이트)FSAVAIL: 파일 시스템에서 사용 가능한 공간FSUSE%: 사용된 파일 시스템의 백분율MOUNTPOINT: 장치가 마운트된 위치
USB 드라이브 식별하기
USB 드라이브를 연결하면 lsblk를 사용하여 이동식 장치를 찾아 빠르게 식별할 수 있습니다.
lsblk -o NAME,SIZE,TYPE,RM,MOUNTPOINT
출력에서 RM (이동식) 값이 1인 장치를 찾습니다.
NAME SIZE TYPE RM MOUNTPOINT
loop0 55.5M loop 0 /snap/core18/2128
loop1 55.4M loop 0 /snap/core18/2284
loop2 43.6M loop 0 /snap/snapd/15534
loop3 61.9M loop 0 /snap/gtk-common-themes/1535
loop4 31.1M loop 0 /snap/snapd/16292
sda 50G disk 0
├─sda1 49G part 0 /
└─sda2 976M part 0 [SWAP]
USB 드라이브가 연결되어 있으면 일반적으로 RM 값이 1인 추가 디스크 (예: sdb) 로 표시됩니다.
장치 일련 번호 찾기
하드웨어 인벤토리 또는 문제 해결을 위해 장치 일련 번호를 찾아야 할 수 있습니다. lsblk 명령은 이 정보를 표시할 수 있습니다.
lsblk -o NAME,SIZE,TYPE,SERIAL
출력에는 이 정보를 제공하는 장치의 일련 번호가 포함됩니다.
NAME SIZE TYPE SERIAL
loop0 55.5M loop
loop1 55.4M loop
loop2 43.6M loop
loop3 61.9M loop
loop4 31.1M loop
sda 50G disk ABCD1234
├─sda1 49G part
└─sda2 976M part
모든 장치가 일련 번호를 보고하는 것은 아니며, 루프 장치와 같은 가상 장치는 일반적으로 일련 번호가 없습니다.
디스크 성능 속성 분석하기
디스크 성능 속성을 보려면 --topology 또는 -t 옵션을 사용할 수 있습니다.
lsblk --topology
출력에는 정렬 및 최적 I/O 크기와 같은 토폴로지 정보가 포함됩니다.
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
loop0 0 512 0 512 512 1 mq-deadline 256 128 0B
loop1 0 512 0 512 512 1 mq-deadline 256 128 0B
loop2 0 512 0 512 512 1 mq-deadline 256 128 0B
loop3 0 512 0 512 512 1 mq-deadline 256 128 0B
loop4 0 512 0 512 512 1 mq-deadline 256 128 0B
sda 0 512 0 512 512 1 mq-deadline 256 128 0B
├─sda1 0 512 0 512 512 1 mq-deadline 256 128 0B
└─sda2 0 512 0 512 512 1 mq-deadline 256 128 0B
이 정보는 성능 튜닝 및 I/O 관련 문제 해결에 유용할 수 있습니다.
이러한 실용적인 예는 일상적인 시스템 관리 작업에 lsblk 명령이 얼마나 다재다능한지 보여줍니다. 이러한 기술을 마스터하면 Linux 시스템의 저장 장치에 대한 중요한 정보를 빠르게 수집할 수 있습니다.
요약
이 랩에서는 시스템의 블록 장치에 대한 정보를 나열하고 표시하는 강력한 도구인 Linux lsblk 명령을 살펴보았습니다. 우리는 이 명령의 몇 가지 중요한 측면을 다루었습니다.
- 모든 블록 장치의 트리 형식 목록을 표시하는
lsblk의 기본 사용법 - 파일 시스템 세부 정보, 소유자/권한 및 사용자 지정 열 선택을 포함한 추가 정보를 표시하는 방법
- 특정 장치 유형 또는 표시 형식에 집중하기 위한 필터링 기술
- 시스템 관리 작업을 위한 고급 사용 시나리오
lsblk 명령은 저장 장치를 관리해야 하는 Linux 시스템 관리자 및 사용자에게 필수적인 도구입니다. 유연한 옵션을 통해 디스크, 파티션 및 시스템의 다른 블록 장치에 대한 필요한 정보를 정확하게 빠르게 얻을 수 있습니다.
lsblk 명령을 마스터하면 다음을 보다 효과적으로 수행할 수 있습니다.
- 저장 장치 식별 및 관리
- 디스크 사용량 및 사용 가능한 공간 모니터링
- 저장 관련 문제 해결
- 시스템의 저장 구성 문서화
이러한 기술은 저장 관리와 관련된 보다 고급 Linux 시스템 관리 작업의 중요한 기반을 형성합니다.



