파일 시스템 관리: lsblk
, blkid
명령어
1. 파일 시스템 이해의 중요성
새로운 강의에 오신 걸 환영해! 오늘은 Linux 파일 시스템의 흥미로운 세계로 뛰어들어 보자. 디바이스를 찾고, 그 구조를 이해하고, 어떤 종류의 파일 시스템이 설치되어 있는지 확인하는 법을 배울 거야. lsblk
와 blkid
같은 도구를 통해 명령어의 마법도 더할 거고. 그리고 데이터를 "발굴"하기 위한 프로그래밍 가능한 곡괭이가 왜 항상 멋진지에 대해서도 얘기해 보자!
파일 시스템이란 무엇일까?
운영 체제가 컴퓨터의 "심장"이라면, 파일 시스템은 그 "신경계"야. 파일 시스템은 데이터 저장 매체 (하드 드라이브, SSD, USB 드라이브)에서 데이터를 조직하고, 접근을 관리하는 역할을 해. 데이터가 어떻게 저장되고, 읽히고, 쓰여지는지를 결정하지.
다음은 자주 만날 수 있는 파일 시스템의 예야:
- ext4 — 대부분의 Linux 배포판에서 사용하는 표준 파일 시스템.
- NTFS — Windows에서 사용하는 파일 시스템.
- FAT32 — 외부 저장 장치와 USB 드라이브에서 많이 사용됨.
- XFS, btrfs — 스냅샷 같은 기능을 지원하는 고급 Linux 파일 시스템.
Linux에서 디스크나 USB를 연결하면, 파일 시스템이 "마운트" 되어야 시스템이 작업을 시작할 수 있어. 명령어를 사용해서 이 작업 (그리고 많은 것들)을 관리하게 될 거야.
2. lsblk
명령어: 연결된 디바이스 확인
lsblk
명령어 기본
Linux는 디바이스와 파티션 작업을 위한 다양한 도구를 제공합니다. 그중에서도 유용한 것 중 하나가 lsblk
명령어입니다. 이 명령어의 이름은 "list block devices" — 블록 장치 목록 보기라는 의미를 가지고 있어요.
사용법은 간단해요:
lsblk
이 명령어는 시스템의 모든 블록 장치 목록을 테이블 형식으로 보여줘요. 하드 드라이브, SSD, USB 드라이브 및 그들의 파티션까지 포함합니다.
출력 예제:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 50G 0 part /
├─sda2 8:2 0 200G 0 part /home
└─sda3 8:3 0 250G 0 part
sdb 8:16 1 16G 0 disk
└─sdb1 8:17 1 16G 0 part /media/usb
- NAME: 장치 이름. 예를 들어
sda
,sdb
. 문자 (a
,b
...)는 시스템이 디바이스를 탐지한 순서와 매칭됩니다. - SIZE: 장치 크기.
- TYPE: 장치 유형. 예를 들어
disk
— 물리적 디스크,part
— 해당 디스크의 파티션. - MOUNTPOINT: 파일 시스템에 장치가 마운트된 경로.
유용한 옵션
lsblk
는 매우 유연한 명령어입니다. 추가 매개변수를 사용해서 더 많은 정보를 얻을 수 있어요:
lsblk -f
— 각 장치의 파일 시스템 유형과 UUID(고유 식별자)를 보여줍니다.lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
— 이름, 크기, 파일 시스템, 마운트 지점 같은 특정 열만 출력합니다.
예제:
lsblk -f
결과:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 rootfs 1111-2222-3333-4444 /
├─sda2 ext4 home 5555-6666-7777-8888 /home
└─sda3 swap 9999-AAAA-BBBB-CCCC [SWAP]
sdb vfat USB_DISK AAAA-BBBB /media/usb
3. blkid
명령어: 고유 식별자의 마법
때로는 디스크 또는 그 파일 시스템에 대한 자세한 정보가 필요할 때가 있어. 이럴 때 blkid
명령어가 유용해. 이 명령어는 파일 시스템과 UUID를 기반으로 장치를 식별하는 데 사용돼.
blkid
명령어의 기본
파라미터 없이 실행해봐:
blkid
출력 예시:
/dev/sda1: UUID="1111-2222-3333-4444" TYPE="ext4"
/dev/sda2: UUID="5555-6666-7777-8888" TYPE="ext4"
/dev/sda3: UUID="9999-AAAA-BBBB-CCCC" TYPE="swap"
/dev/sdb1: UUID="AAAA-BBBB" TYPE="vfat" LABEL="USB_DISK"
- UUID: 파티션의 고유 식별자 (장치 이름이
sda
에서sdb
로 변경되더라도 동일). - TYPE: 파일 시스템의 유형.
- LABEL: 파티션 라벨.
UUID의 실질적인 유용성
UUID는 Linux에서 특히 중요해. 왜냐하면 부팅 시 장치 이름이 동적으로 변경될 수 있거든. 예를 들어, 오늘 /dev/sda
로 불리던 것이 내일은 /dev/sdb
로 바뀔 수 있어. UUID 덕분에 장치를 마운트할 때 안정적인 식별을 사용할 수 있어. 이 부분은 다음 강의에서 /etc/fstab
파일 작업을 다룰 때 자세히 이야기할게.
4. 마운트되지 않은 디바이스 작업하기
때때로 디스크나 USB를 연결했는데 마운트된 상태로 표시되지 않을 때가 있어. 이건 활성 파일 시스템이 없기 때문일 수 있어. lsblk
랑 blkid
를 사용해서 빠르게 문제를 확인할 수 있어.
USB 드라이브를 연결했다고 가정해 봐. 그런데 lsblk
출력에서 이렇게 보인다면:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 16G 0 disk
이건 sdb
디바이스에 활성 파티션이 없다는 뜻이야. blkid
출력으로 파일 시스템이 있는지 확인해 봐:
blkid /dev/sdb
출력이 없다면, 그건 디바이스가 아직 포맷되지 않았다는 걸 의미해. 이건 다음 강의에서 다룰 거야.
5. lsblk
와 blkid
비교
두 가지 명령 모두 유용하지만 사용 방법이 다릅니다:
lsblk
를 사용하여 시스템의 전체 개요를 확인하세요: 무엇이 어디에 있는지, 어떤 파티션이 마운트되었는지.blkid
를 사용하여 파일 시스템에 대한 세부 정보(타입, 레이블, UUID)를 명확히 하세요.
비교 표
명령어 | 주요 용도 | 출력 |
---|---|---|
lsblk |
장치, 그 파티션 및 마운트 지점 표시 | NAME, SIZE, TYPE, MOUNTPOINT, FSTYPE 등 |
blkid |
파일 시스템 정보 요청(UUID, LABEL, TYPE) | UUID, TYPE, LABEL |
6. 예제: 장치 검색부터 구조 이해까지
과제
- 연결된 USB 장치를 찾기.
- 그 파일 시스템을 파악하기.
- 장치를 마운트 준비하기.
단계
장치를 연결하고 다음을 실행하세요:
자신의 장치를 찾으세요. 예를 들어,lsblk
sdb
.파일 시스템을 확인하세요:
blkid /dev/sdb
파일 시스템이 없는 경우 빈 출력이 나옵니다. 이 경우 장치를 포맷해야 한다는 것을 의미합니다.
파일 시스템이 있는 경우, 타입과 UUID를 볼 수 있습니다. 이제 이를 사용해 추가 작업(예: 마운트)을 진행할 수 있습니다.
이제 Linux에서 파일 시스템을 다룰 수 있는 지식을 갖추게 되었어요. 다음 강의에서는 장치를 포맷하고, 파일 시스템을 생성하고, 사용 준비를 하는 과정을 다룰 거예요! “빈” 디스크를 완전한 작업 도구로 변환하는 흥미로운 과정을 기대하세요.
GO TO FULL VERSION