5편 · 파일 시스템 명령어와 물리 구조
이번 강의에서 배울 것
- mount·umount 옵션과 /etc/fstab의 6개 필드를 순서대로 설명한다.
- 파티션 생성(fdisk·parted)부터 파일 시스템 생성(mkfs)·점검(fsck)·조정(tune2fs)·사용량 확인(df·du)까지 명령을 고른다.
- 디스크 쿼터의 설정 절차와 soft·hard limit, 유예 기간을 설명한다.
- 부트 블록·슈퍼 블록·아이노드·데이터 블록의 역할과 FHS 주요 디렉터리의 용도를 말한다.
학습 경로 · 2과목 1장
← 4편 · 디렉터리·파일 조작과 기타 필수 명령어 · 다음: 6편 · 셸 — 개념·환경 변수·히스토리·프롬프트 →
범위: 2과목 1장 "파일 시스템" — 마운트와 /etc/fstab, 파티션·파일 시스템 생성과 점검 명령, 디스크 사용량, 디스크 쿼터, 파일 시스템의 물리적 구조, 디렉터리 계층 구조(FHS).
형광펜 읽는 법: 노랑 핵심 정의·결론 · 빨강 시험에서 헷갈리는 구분·함정 · 파랑 외워야 할 순서·목록
단원 도입
| 출제 포인트 | 빈도 | 이렇게 나온다 |
|---|---|---|
| /etc/fstab 6개 필드와 dump·pass 값 | ★★★ | "5번째 필드 의미", 루트의 pass 값 |
| mount 옵션 (-t, -o ro·remount·loop, -a) | ★★★ | ISO 이미지 마운트, 읽기 전용 재마운트 |
| 슈퍼 블록·아이노드에 들어 있는 정보 | ★★★ | 아이노드에 "없는" 정보(파일 이름) 고르기 |
| FHS 디렉터리 용도 (/etc /var /proc /boot /dev …) | ★★★ | 로그 파일 위치, 가상 파일 시스템 |
| df vs du, 옵션 (-h, -T, -i, -s) | ★★ | 파일 시스템 형식까지 표시 |
| fsck·e2fsck 옵션 (-f, -y, -n, -b) | ★★ | 백업 슈퍼 블록으로 복구 |
| tune2fs (-j, -l, -c, -i, -L) | ★★ | ext2 → ext3 변환 |
| 디스크 쿼터 절차와 명령 | ★★ | quotacheck → edquota → quotaon 순서 |
| fdisk 내부 명령과 파티션 ID (83, 82, 8e) | ★★ | 스왑 파티션 ID |
| blkid·lsblk·mkswap·swapon | ★ | UUID 확인 명령 |
PART 1 · 마운트와 /etc/fstab
1. mount · umount
핵심 필기
- 마운트(mount): 장치(파티션, CD, USB, 이미지 파일, 원격 공유)의 파일 시스템을 디렉터리 트리의 한 지점(마운트 포인트)에 붙이는 것. 리눅스는 드라이브 문자 없이 하나의 트리만 쓴다.
- 현재 마운트 상태:
mount(인자 없이),/proc/mounts,/etc/mtab,findmnt,df.
| 형식 / 옵션 | 뜻 |
|---|---|
mount [-t 형식] [-o 옵션] 장치 디렉터리 | 기본 형식 |
-t | 파일 시스템 종류: ext4, xfs, vfat(FAT32), ntfs, iso9660(CD·DVD), nfs, cifs |
-o | 마운트 옵션(아래 표), 쉼표로 여러 개 |
-a | /etc/fstab에 있는 것을 모두 마운트 (noauto 제외) |
-r / -w | 읽기 전용(-o ro) / 읽기·쓰기 |
-L 라벨 / -U UUID | 라벨·UUID로 장치 지정 |
umount 장치 또는 디렉터리 | 해제. -f 강제(응답 없는 NFS), -l lazy(사용이 끝나면 해제), -a 모두 |
-o 마운트 옵션
| 옵션 | 뜻 |
|---|---|
defaults | rw, suid, dev, exec, auto, nouser, async 를 한꺼번에 |
ro / rw | 읽기 전용 / 읽기·쓰기 |
remount | 해제하지 않고 옵션만 바꿔 다시 마운트 |
loop | 이미지 파일(ISO 등)을 장치처럼 마운트 |
noexec / exec | 실행 파일 실행 금지 / 허용 |
nosuid / suid | SetUID·SetGID 무시 / 허용 |
nodev | 장치 파일 해석 안 함 |
auto / noauto | mount -a(부팅 시) 자동 마운트 여부 |
user / nouser | 일반 사용자 마운트 허용 / root만 |
usrquota / grpquota | 사용자 / 그룹 쿼터 사용 |
sync / async | 동기 / 비동기 쓰기 |
# mount -t ext4 /dev/sdb1 /data
# mount -t iso9660 -o loop,ro rocky.iso /mnt/iso
# mount -t vfat /dev/sdc1 /media/usb
# mount -o remount,ro /data
# mount | grep /data
/dev/sdb1 on /data type ext4 (ro,relatime)
# umount /data
umount: /data: target is busy. # 누군가 그 안에서 작업 중
# fuser -km /data; umount /data # 사용 중인 프로세스를 끝내고 해제2. /etc/fstab — 부팅 때 자동 마운트할 목록
핵심 필기
$ cat /etc/fstab
UUID=8e2c... / xfs defaults 0 0
UUID=4a1f... /boot xfs defaults 0 0
/dev/mapper/rl-swap none swap defaults 0 0
/dev/sdb1 /data ext4 defaults,usrquota,grpquota 1 2
LABEL=BACKUP /backup ext4 defaults,noauto 0 0| 순서 | 필드 | 예 | 뜻 |
|---|---|---|---|
| 1 | 장치 | /dev/sdb1, UUID=…, LABEL=… | 마운트할 장치 |
| 2 | 마운트 포인트 | /data | 붙일 디렉터리 (스왑은 none 또는 swap) |
| 3 | 파일 시스템 종류 | ext4, xfs, swap, vfat, nfs | |
| 4 | 옵션 | defaults,usrquota | mount -o와 같은 옵션 |
| 5 | dump | 0 또는 1 | dump 백업 대상 여부 (1 = 백업, 0 = 안 함) |
| 6 | fsck 순서(pass) | 0, 1, 2 | 부팅 시 점검 순서: 1 = 루트(/), 2 = 그 밖, 0 = 점검 안 함 |
- 장치 이름(/dev/sdb1)은 디스크 순서가 바뀌면 달라질 수 있어 요즘은 UUID나 LABEL을 주로 쓴다. 확인은
blkid,lsblk -f. - fstab을 고친 뒤
mount -a로 오류 없이 붙는지 확인한다(오타가 있으면 부팅 실패 가능).
PART 2 · 파티션과 파일 시스템 관리 명령
3. 파티션 나누기 — fdisk · parted
핵심 필기
- fdisk: 주로 MBR(dos) 파티션 편집, 대화형. 최근 버전은 GPT도 다룬다.
fdisk -l로 전체 디스크·파티션 목록. - parted / gdisk: 2TB 이상 디스크·GPT에 쓴다. parted는
mklabel gpt,mkpart,print,rm등.
| fdisk 내부 명령 | 뜻 |
|---|---|
| m | 도움말 |
| p | 파티션 테이블 출력 |
| n | 새 파티션 (primary / extended) |
| d | 파티션 삭제 |
| t | 파티션 타입(ID) 변경 |
| l | 타입 목록 |
| a | 부팅 가능 표시 |
| w | 저장하고 종료 |
| q | 저장하지 않고 종료 |
| 파티션 ID | 종류 |
|---|---|
| 83 | Linux |
| 82 | Linux swap |
| 8e | Linux LVM |
| fd | Linux raid autodetect |
| 5 | Extended (확장) |
| 7 | HPFS/NTFS/exFAT |
| b, c | W95 FAT32 |
| ee | GPT 보호 MBR |
# fdisk -l /dev/sdb
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Disklabel type: dos
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
/dev/sdb2 10487808 12584959 2097152 1G 82 Linux swap / Solaris4. 파일 시스템 만들기 — mkfs · mke2fs · mkswap
| 명령 | 뜻 |
|---|---|
mkfs -t ext4 /dev/sdb1 | ext4 생성 (형식 생략 시 ext2) |
mkfs.ext4 /dev/sdb1 | 위와 같음 (mkfs.xfs, mkfs.vfat …) |
mke2fs -t ext4 /dev/sdb1 | ext 계열 전용 생성 명령, -j 저널 추가(ext3), -b 블록 크기, -L 라벨 |
mkswap /dev/sdb2 | 스왑 영역 생성 → swapon /dev/sdb2로 사용, swapoff로 중지, swapon -s 또는 free로 확인 |
# truncate -s 64M disk.img # 실습용 이미지 파일
# mke2fs -t ext4 -L DATA disk.img
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 16384 4k blocks and 16384 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
# blkid disk.img
disk.img: LABEL="DATA" UUID="2933c660-98da-4d3f-b0b0-08d36e66129e" BLOCK_SIZE="4096" TYPE="ext4"5. 점검과 조정 — fsck · e2fsck · tune2fs · dumpe2fs
fsck / e2fsck — 파일 시스템 무결성 점검·복구. 반드시 마운트 해제(또는 읽기 전용) 상태에서 한다.
| 옵션 (e2fsck) | 뜻 |
|---|---|
-f | 깨끗(clean)하다고 표시되어 있어도 강제 점검 |
-y | 모든 질문에 yes (자동 복구) |
-n | 모든 질문에 no — 고치지 않고 점검만 |
-p | 안전한 문제는 묻지 않고 자동 복구 |
-b 블록 | 백업 슈퍼 블록으로 복구 |
-c | 배드 블록 검사 |
fsck -t ext4 /dev/sdb1은 내부적으로 fsck.ext4(=e2fsck)를 호출한다. 점검 중 발견한, 이름을 잃은 파일 조각은 /lost+found에 놓인다.- XFS는
xfs_repair를 쓴다.
# e2fsck -f -n big.img
e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
BACKUP: 11/32768 files (0.0% non-contiguous), 6262/131072 blockstune2fs — ext 계열의 설정값 조정 (포맷 없이)
| 옵션 | 뜻 |
|---|---|
-l | 슈퍼 블록 정보 출력 (dumpe2fs -h와 비슷) |
-j | 저널 추가 → ext2를 ext3로 |
-c 횟수 | 몇 번 마운트하면 강제 점검할지 |
-i 기간 | 점검 주기 (d 일, w 주, m 월) |
-L 라벨 | 볼륨 라벨 변경 (e2label과 같은 효과) |
-m % | root 예약 블록 비율 (기본 5%) |
-O 기능 | 파일 시스템 기능 켜기·끄기 |
# tune2fs -j big.img
Creating journal inode: done
# blkid big.img
big.img: UUID="490398c7-..." SEC_TYPE="ext2" BLOCK_SIZE="4096" TYPE="ext3"
# tune2fs -c 20 -i 1m -L BACKUP big.img
Setting maximal mount count to 20
Setting interval between checks to 2592000 seconds- dumpe2fs: 슈퍼 블록과 블록 그룹 정보를 자세히 출력(백업 슈퍼 블록 위치 확인).
6. 장치 확인과 사용량 — blkid · lsblk · df · du
| 명령 | 뜻 / 옵션 |
|---|---|
blkid | 장치의 UUID·LABEL·TYPE |
lsblk | 블록 장치를 트리로, -f 파일 시스템·UUID까지 |
df | 파일 시스템(파티션) 단위 전체·사용·남은 용량. -h 읽기 쉬운 단위, -T 파일 시스템 종류, -i 아이노드 사용량, -k·-m 단위 |
du | 디렉터리·파일 단위 사용량. -s 합계만, -h, -a 파일까지, -c 총합 줄, -d n(--max-depth) 깊이 |
$ df -hT /
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda ext4 252G 13G 27G 32% /
$ df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda 16777216 265528 16511688 2% /
$ du -sh docs
5.1M docs
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part /
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 5G 0 part /data7. 디스크 쿼터 (Disk Quota)
핵심 필기
- 사용자·그룹별로 쓸 수 있는 용량(블록)과 파일 개수(아이노드)를 제한하는 기능.
- soft limit: 넘으면 경고, 유예 기간(grace period, 기본 7일) 동안은 허용. hard limit: 절대 넘을 수 없는 한도.
설정 절차
① fstab에 usrquota·grpquota 추가 → ② remount → ③ quotacheck로 DB 생성 → ④ quotaon → ⑤ edquota로 한도 지정 → ⑥ repquota로 확인
# vi /etc/fstab
/dev/sdb1 /data ext4 defaults,usrquota,grpquota 1 2
# mount -o remount /data
# quotacheck -avugm # /data/aquota.user, aquota.group 생성
# quotaon -avug
# edquota -u kim
Disk quotas for user kim (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 24 51200 61440 6 0 0
# edquota -p kim lee # kim의 설정을 lee에게 복사
# edquota -t # 유예 기간 변경
# repquota -a # 전체 사용자 쿼터 보고서
# quota -u kim # 한 사용자 확인| 명령 | 뜻 |
|---|---|
| quotacheck | 사용량을 조사해 쿼터 파일(aquota.user, aquota.group) 생성·갱신. -a 전체, -u 사용자, -g 그룹, -m 재마운트 없이, -v 자세히 |
| quotaon / quotaoff | 쿼터 켜기 / 끄기 |
| edquota | 한도 편집 (-u 사용자, -g 그룹, -p 복사, -t 유예 기간) |
| setquota | 명령 한 줄로 한도 지정 (스크립트용) |
| quota | 사용자의 쿼터 현황 |
| repquota | 파일 시스템 전체 쿼터 보고서 |
PART 3 · 파일 시스템의 물리 구조와 디렉터리 계층
8. 블록 구조 — 부트 블록 · 슈퍼 블록 · 아이노드 · 데이터 블록
핵심 필기
| 영역 | 들어 있는 것 |
|---|---|
| 부트 블록(Boot block) | 파일 시스템 맨 앞. 부팅에 필요한 부트 로더 코드 |
| 슈퍼 블록(Super block) | 파일 시스템 전체 정보 — 블록 크기, 전체·빈 블록 수, 전체·빈 아이노드 수, 블록 그룹당 블록·아이노드 수, 마운트 횟수, 마지막 점검 시각, 매직 넘버. 손상 대비 여러 블록 그룹에 백업 사본 |
| 아이노드(Inode) | 파일 하나의 메타데이터 — 파일 종류·권한, 소유자 UID·GID, 크기, 시간(atime·mtime·ctime), 하드 링크 수, 데이터 블록 주소(포인터) |
| 데이터 블록(Data block) | 실제 파일 내용. 디렉터리의 경우 "이름 → 아이노드 번호" 목록 |
- 아이노드의 블록 포인터(ext2/3): 직접 블록 12개 + 단일 간접 + 이중 간접 + 삼중 간접 블록. (ext4는 extent 방식)
- 파일 이름은 아이노드에 없다. 이름은 디렉터리의 데이터 블록(디렉터리 엔트리)에 아이노드 번호와 짝지어 저장된다. 그래서 하드 링크(이름 하나 더)가 가능하다.
- 루트 디렉터리(/)의 아이노드 번호는 2, ext 계열의 lost+found는 보통 11이다.
$ stat hard.txt
File: hard.txt
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: 254,0 Inode: 1729015 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2026-10-30 17:20:40.454747095 +0000
Modify: 2026-10-30 17:20:40.421192034 +0000
Change: 2026-10-30 17:20:40.436968594 +0000
$ stat -c '%i %n' /
2 /블록 그룹(ext2/3/4) — 디스크를 여러 그룹으로 나눠 관련 데이터를 가까이 둔다.
슈퍼 블록(사본) → 그룹 디스크립터 → 블록 비트맵 → 아이노드 비트맵 → 아이노드 테이블 → 데이터 블록
| 구성 | 역할 |
|---|---|
| 그룹 디스크립터 | 각 그룹의 비트맵·아이노드 테이블 위치, 빈 블록·아이노드 수 |
| 블록 비트맵 | 데이터 블록 사용 여부를 1비트씩 표시 |
| 아이노드 비트맵 | 아이노드 사용 여부를 1비트씩 표시 |
| 아이노드 테이블 | 아이노드들이 실제로 저장된 곳 |
# dumpe2fs big.img | grep -E '^Group [0-3]|superblock at'
Group 0: (Blocks 0-32767)
Primary superblock at 0, Group descriptors at 1-1
Group 1: (Blocks 32768-65535)
Backup superblock at 32768, Group descriptors at 32769-32769
Group 2: (Blocks 65536-98303)
Group 3: (Blocks 98304-131071)
Backup superblock at 98304, Group descriptors at 98305-98305그림 5-1 · ext 파일 시스템의 물리 구조와 파일 찾아가기 — 누르면 원본 크기로 열린다.
주요 파일 시스템 한 줄 정리 (2편 내용 복습)
| 종류 | 특징 |
|---|---|
| ext2 | 저널링 없음 |
| ext3 | ext2 + 저널링 |
| ext4 | 대용량(최대 1EB 볼륨, 16TB 파일), extent, 지연 할당 |
| xfs | 고성능 64비트 저널링, RHEL 7 이후 기본 |
| btrfs | 스냅샷·서브볼륨·체크섬 (B-tree, CoW) |
| vfat | FAT32 호환(USB) |
| iso9660 | CD-ROM |
| swap | 가상 메모리 |
| proc, sysfs, tmpfs | 디스크에 없는 가상 파일 시스템 |
9. 디렉터리 계층 구조 — FHS
핵심 필기
FHS(Filesystem Hierarchy Standard) — 리눅스 배포판들이 따르는 디렉터리 배치 표준.
| 디렉터리 | 용도 |
|---|---|
| / | 루트, 모든 디렉터리의 시작 |
| /bin | 모든 사용자가 쓰는 기본 명령 (ls, cp, cat) |
| /sbin | 시스템 관리 명령 (fdisk, mkfs, shutdown) |
| /boot | 부팅 파일 — 커널(vmlinuz), initramfs, GRUB 설정 |
| /dev | 장치 파일 (/dev/sda, /dev/null, /dev/tty) |
| /etc | 설정 파일 (passwd, fstab, hosts) |
| /home | 일반 사용자 홈 디렉터리 |
| /root | root의 홈 디렉터리 (/home 아래가 아님) |
| /lib, /lib64 | 공유 라이브러리, 커널 모듈(/lib/modules) |
| /media | USB·CD 등 이동식 장치 자동 마운트 |
| /mnt | 임시 마운트 포인트 |
| /opt | 추가(서드파티) 응용 프로그램 |
| /proc | 커널·프로세스 정보를 보여 주는 가상 파일 시스템 (/proc/cpuinfo, /proc/meminfo, /proc/숫자) |
| /sys | 장치·드라이버 정보 가상 파일 시스템 (sysfs) |
| /run | 부팅 이후 실행 중 정보(PID 파일 등), tmpfs |
| /srv | 서비스(웹·FTP)가 제공하는 데이터 |
| /tmp | 임시 파일, Sticky Bit(1777) |
| /usr | 사용자 프로그램·라이브러리·문서 (/usr/bin, /usr/sbin, /usr/lib, /usr/share/man, /usr/local) |
| /var | 자주 바뀌는 데이터 — /var/log(로그), /var/spool(메일·인쇄 대기열), /var/cache, /var/lib |
| /lost+found | fsck가 찾아낸 이름 잃은 파일 조각 (각 ext 파일 시스템 최상위) |
- 최근 배포판(RHEL 7 이후, Ubuntu 등)은 /bin, /sbin, /lib가 /usr 아래로 합쳐져 심볼릭 링크로 남아 있다(usrmerge).
$ ls -ld /bin
lrwxrwxrwx 1 root root 7 Apr 22 2024 /bin -> usr/bin
$ ls -ld /proc
dr-xr-xr-x 95 root root 0 Oct 28 23:08 /proc
$ head -3 /proc/meminfo
MemTotal: 16477352 kB
MemFree: 15020312 kB
MemAvailable: 15736544 kB그림 5-2 · FHS 디렉터리 지도 — 누르면 원본 크기로 열린다.
PART 4 · 기출 유형 연습
/etc/fstab의 한 줄이 다음과 같다. 설명으로 옳지 않은 것은?
/dev/sdb1 /data ext4 defaults,usrquota 1 2힌트 1 보기
다섯 번째는 dump, 여섯 번째가 pass다.
정답·해설 보기
C. 다섯 번째 필드 1은 dump 백업 대상이라는 뜻이다. fsck 순서는 여섯 번째 필드이고, 2는 루트(1) 다음에 점검한다.
현재 읽기 전용으로 마운트된 루트 파일 시스템을 해제하지 않고 읽기·쓰기로 바꾸는 명령은?
힌트 1 보기
이미 마운트된 상태에서 옵션만 바꾸는 키워드가 필요하다.
정답·해설 보기
B. remount 옵션으로 해제 없이 다시 마운트한다. 루트는 사용 중이라 umount할 수 없다.
다음 중 아이노드(inode)에 저장되는 정보가 아닌 것은?
힌트 1 보기
하드 링크 두 개는 같은 아이노드를 쓰지만 이름은 다르다.
정답·해설 보기
C. 파일 이름은 디렉터리 엔트리(디렉터리의 데이터 블록)에 아이노드 번호와 함께 저장된다.
디스크 쿼터를 설정하는 과정에서 사용자별 사용량을 조사해 aquota.user 파일을 만드는 명령은?
힌트 1 보기
쿼터를 켜기(quotaon) 전에 먼저 현재 사용량을 "검사"해야 한다.
정답·해설 보기
C. quotacheck가 사용량을 조사해 쿼터 파일을 만든다. edquota는 한도 편집, quotaon은 활성화, repquota는 보고서.
다음 중 명령과 기능의 연결이 옳지 않은 것은?
힌트 1 보기
점검·복구는 fsck 계열이다.
정답·해설 보기
D. blkid는 장치의 UUID·LABEL·TYPE을 보여 준다. 점검·복구는 fsck / e2fsck.
FHS 기준 디렉터리와 용도의 연결로 옳은 것은?
힌트 1 보기
var = variable(변하는).
정답·해설 보기
B. A의 설명은 /boot, C는 /media, D는 /etc의 설명이다. /proc은 커널·프로세스 정보를 보여 주는 가상 파일 시스템.
fdisk에서 새 파티션의 타입을 리눅스 스왑으로 바꾸려 한다. 사용하는 내부 명령과 타입 ID로 옳은 것은?
힌트 1 보기
type의 t. 83은 Linux, 8e는 LVM이다.
정답·해설 보기
B. t로 타입을 바꾸고 82(Linux swap)를 입력한다. 저장하려면 마지막에 w.
단원 마무리
| 주제 | 꼭 외울 것 |
|---|---|
| mount | -t 형식, -o ro·rw·remount·loop·noexec·nosuid·usrquota, -a(fstab 전부), umount -f -l |
| defaults | rw, suid, dev, exec, auto, nouser, async |
| /etc/fstab | 장치 · 마운트 포인트 · 형식 · 옵션 · dump(0/1) · pass(0, 1 = 루트, 2 = 기타) |
| 파티션 | fdisk(n p d t l w q), ID 83 Linux · 82 swap · 8e LVM · 5 확장, 2TB 이상·GPT는 parted·gdisk |
| 생성 | mkfs -t(기본 ext2), mkfs.ext4, mke2fs -t -j -L, mkswap → swapon |
| 점검·조정 | fsck·e2fsck -f -y -n -p -b(언마운트 상태), tune2fs -l -j -c -i -L -m, dumpe2fs |
| 확인 | blkid(UUID), lsblk -f, df -h -T -i(파일 시스템 단위), du -s -h -a(디렉터리 단위) |
| 쿼터 | fstab usrquota → remount → quotacheck → quotaon → edquota(-u -p -t) → repquota, soft·hard·grace |
| 물리 구조 | 부트 블록 · 슈퍼 블록(전체 정보, 백업) · 아이노드(파일 정보, 이름 없음) · 데이터 블록 |
| FHS | /etc 설정, /var 로그·스풀, /dev 장치, /proc 가상, /boot 커널, /root 관리자 홈, /tmp 1777 |
책을 덮고 꺼내 보기
- 부팅 시 자동으로 마운트할 파일 시스템 목록은 에 적는다.
- fstab의 다섯 번째 필드는 , 여섯 번째 필드는 다.
- 마운트 해제 없이 옵션을 바꾸는 mount 옵션은 다.
- ext2에 저널을 추가해 ext3로 바꾸는 명령은 다.
- 파일 시스템 전체 정보를 담고 백업 사본이 여러 블록 그룹에 있는 것은 이다.
- 파일 이름은 아이노드가 아니라 에 저장된다.
- 커널·프로세스 정보를 보여 주는 가상 파일 시스템은 이다.
/etc/fstab의 6개 필드는?
장치(UUID·LABEL 가능), 마운트 포인트, 파일 시스템 종류, 옵션, dump 여부(0·1), fsck 순서(0 안 함, 1 루트, 2 기타).
mount의 defaults 옵션에 포함된 것은?
rw, suid, dev, exec, auto, nouser, async.
e2fsck의 -f, -y, -n, -b 옵션은?
-f 강제 점검, -y 모두 yes(자동 복구), -n 모두 no(점검만), -b 백업 슈퍼 블록 지정.
df와 du의 차이는?
df는 마운트된 파일 시스템 단위의 전체·사용·여유 공간, du는 지정한 디렉터리·파일이 차지한 용량.
디스크 쿼터 설정 순서는?
fstab에 usrquota·grpquota 추가 → remount → quotacheck → quotaon → edquota로 한도 지정 → repquota·quota로 확인.
슈퍼 블록과 아이노드에 들어 있는 정보는?
슈퍼 블록 — 블록 크기, 전체·빈 블록·아이노드 수, 마운트 횟수 등 파일 시스템 전체 정보. 아이노드 — 종류·권한, 소유자, 크기, 시간, 링크 수, 데이터 블록 주소(파일 이름 제외).
/bin, /sbin, /etc, /var, /proc, /boot의 용도는?
/bin 기본 명령, /sbin 관리 명령, /etc 설정 파일, /var 로그·스풀 등 가변 데이터, /proc 커널·프로세스 가상 파일 시스템, /boot 커널과 부트 로더 파일.
다음으로 갈 기준: 새 디스크를 fdisk → mkfs → mount → fstab 순서로 붙이는 명령을 쓰고, fstab 한 줄의 여섯 필드를 설명할 수 있으면 다음 편으로 간다: 6편 · 셸 — 개념·환경 변수·히스토리·프롬프트.
정답과 해설
mount -t iso9660 -o loop,ro /root/a.iso /mnt/cd(-t iso9660은 생략해도 대개 자동 인식).- 6번째 필드(pass), 루트 파일 시스템은 1.
tune2fs -j /dev/sdb1— 저널을 추가하면 ext3가 된다. 이후 fstab의 형식도 ext3로 바꾼다.e2fsck -b 32768 /dev/sdb1(언마운트 상태에서).df -T(흔히df -hT).- 파일 이름 — 이름은 디렉터리 엔트리에 있다.
- 슈퍼 블록이 손상되면 파일 시스템 전체를 읽을 수 없으므로, 여러 블록 그룹에 사본을 두어
e2fsck -b로 복구할 수 있게 하기 위해서다. - /var — /var/log, /var/spool/mail.
- /proc/cpuinfo
내용을 이해했다면 학습 완료를 체크해 주세요.