/ (루트)
┌────────┬────────┼────────┬────────┬────────┐
/bin /etc /home /var /usr /proc
실행파일 설정 사용자 변하는것 응용프로그램 커널정보
윈도의 C: D: 같은 드라이브 문자가 없다. 새 디스크도 트리 어딘가에 붙여서 쓴다.
루트 /는 최상위 디렉터리 이고, root 사용자의 홈인 /root와는 다른 것 이다.
디렉터리 담는 것 /bin기본 명령어 — ls, cp, cat /sbin관리자용 명령어 — fdisk, shutdown/etc설정 파일 — passwd, fstab, hosts/home일반 사용자 의 홈 디렉터리/rootroot의 홈 디렉터리/var자주 변하는 데이터 — 로그, 메일, 스풀/tmp임시 파일. 재부팅 시 지워진다 /usr응용 프로그램과 라이브러리 /lib부팅과 기본 명령에 필요한 공유 라이브러리 /dev장치 파일 — sda, tty, null/proc커널·프로세스 정보 (가상 ) /boot커널 이미지와 부트로더 /opt추가로 설치한 패키지 /mnt, /media마운트 지점 (수동 / 이동식)
짝으로 묻는 값 을 붙여서 외운다.
헷갈리는 짝 가르는 기준 /bin vs /sbin일반 사용자용 vs 관리자용 / vs /root최상위 디렉터리 vs root의 홈 /mnt vs /media수동 마운트 vs 이동식 매체 자동 /var vs /tmp로그처럼 남는 것 vs 지워지는 것 /lib vs /usr/lib부팅·기본 명령용 vs 응용 프로그램용 라이브러리 /dev vs /proc장치 파일 vs 커널·프로세스 정보
한 단계 더 내려간 경로도 보기로 나온다.
경로 담는 것 /usr/bin, /usr/sbin응용 프로그램의 실행 파일 / 관리자용 실행 파일 /usr/local관리자가 직접 설치한 프로그램 (배포판 패키지와 구분) /usr/share/man매뉴얼 페이지 /var/log로그 파일 — messages, secure 등/var/spool처리 대기 중인 작업 — 인쇄, 메일, 예약 작업 /var/tmp재부팅 뒤에도 유지되는 임시 파일 /etc/fstab부팅 때 마운트할 파일 시스템 목록 /lost+foundfsck가 복구한 파일 조각을 모아 두는 곳 (ext 계열)
이름의 유래를 알면 덜 헷갈린다 — /etc는 설정, /var는 var iable(변하는 것), /opt는 opt ional(추가 패키지), /sbin은 s ystem bin aries, /dev는 dev ices다. /usr는 user의 홈이 아니다. 사용자 홈은 /home이다.
최근 배포판은 /bin·/sbin·/lib을 /usr/bin·/usr/sbin·/usr/lib으로 가는 심볼릭 링크 로 두는 경우가 많다. 그래도 역할 구분은 그대로 출제된다.
/tmp를 언제 비우는지는 배포판 설정에 따라 다르다. "임시 파일용이며 오래 남는다고 기대하면 안 되는 곳"으로 이해한다.
cat /proc/cpuinfo # CPU 정보
cat /proc/meminfo # 메모리 정보
cat /proc/version # 커널 버전
ls /proc/1 # PID 1 프로세스의 정보
/proc 안의 파일은 디스크에 저장된 것이 아니다. 읽는 순간 커널이 만들어서 보여준다. 크기가 0으로 표시되는 경우가 많다.
비슷한 가상 파일 시스템으로 /sys (장치·커널 설정)가 있다.
/dev 도 특수하다. 실제 데이터가 아니라 장치를 가리키는 파일 들이 들어 있다.
/proc 안의 파일내용 /proc/cpuinfoCPU 모델·코어 수 /proc/meminfo메모리·swap 사용 현황 /proc/version커널 버전 /proc/partitions인식된 디스크와 파티션 /proc/filesystems커널이 지원하는 파일 시스템 종류 /proc/mounts현재 마운트된 파일 시스템/proc/swaps사용 중인 swap 영역 /proc/숫자/그 PID 를 가진 프로세스의 정보
/proc 아래 숫자로 된 디렉터리는 실행 중인 프로세스 다. 프로세스가 끝나면 디렉터리도 사라진다.
mount # 현재 마운트 상태 전부
mount /dev/sdb1 /data # sdb1 을 /data 에 붙이기
mount -t ext4 /dev/sdb1 /data # 파일 시스템 종류를 지정해서
mount -o ro /dev/sdb1 /data # 읽기 전용으로
umount /data # 마운트 지점으로 떼기
umount /dev/sdb1 # 장치 이름으로 떼기
mount -a # /etc/fstab 의 항목을 전부 마운트
옵션 뜻 -t 종류파일 시스템 종류 지정 (ext4, xfs, iso9660) -o ro / rw읽기 전용 / 읽기 쓰기 -a/etc/fstab에 적힌 것을 전부
함정 둘. ① unmount가 아니라 umount 다. n이 없다. ② 사용 중인 파일 시스템은 떼어지지 않는다. 그 디렉터리 안에 들어가 있거나 파일을 열어 둔 프로세스가 있으면 device is busy 오류가 난다. 밖으로 나온 뒤 다시 시도하고, 그래도 안 되면 lsof나 fuser로 누가 잡고 있는지 확인한다.
마운트 지점(/data)에 원래 파일이 있었다면 가려진다. 사라지는 것은 아니고, 떼어내면 다시 보인다.
부팅할 때 자동으로 붙이려면 /etc/fstab 에 적는다(W2에서 다뤘다).
$ sudo mkdir /data ← 마운트 지점은 미리 있어야 한다
$ sudo mount /dev/sdb1 /data
$ mount | grep sdb1
/dev/sdb1 on /data type ext4 (rw,relatime)
$ cd /data
$ sudo umount /data
umount: /data: target is busy.
$ cd ~
$ sudo umount /data
마운트 지점은 이미 있는 디렉터리 여야 한다. mount가 디렉터리를 만들어 주지 않는다.
mount의 인자 순서는 장치 먼저, 마운트 지점 나중 이다 — mount [옵션] 장치 디렉터리.
umount는 장치 이름과 마운트 지점 중 어느 쪽을 줘도 된다.
위에서 처음 umount가 실패한 것은 셸이 /data 안에 들어가 있었기 때문이다. 밖으로 나오자 떼어졌다.
장치·매체 흔한 마운트 예 추가 디스크의 파티션 mount /dev/sdb1 /dataCD/DVD mount -t iso9660 /dev/cdrom /media/cdromUSB 메모리 mount /dev/sdc1 /mnt/usb (장치 이름은 꽂을 때마다 달라질 수 있다)ISO 이미지 파일 mount -o loop image.iso /mnt/iso
-o 옵션뜻 ro / rw읽기 전용 / 읽기·쓰기 remount떼지 않고 옵션만 바꿔 다시 마운트 (mount -o remount,rw /) loop파일 을 장치처럼 마운트 (ISO 이미지)noexec그 파일 시스템의 실행 파일을 실행 금지 nosuidSetUID·SetGID를 무시 defaults기본 옵션 묶음 (rw 포함)
옵션은 쉼표로 이어 쓴다 — -o ro,noexec. 띄어 쓰지 않는다.
파일 담는 것 누가 쓰나 /etc/fstab부팅 때 마운트할 목록관리자가 직접 편집 /etc/mtab지금 마운트된 목록시스템이 자동 갱신 /proc/mounts지금 마운트된 목록 (커널이 보여 줌) 커널
# 장치 마운트지점 종류 옵션 dump fsck순서
/dev/sdb1 /data ext4 defaults 0 2
/etc/fstab은 공백으로 나뉜 6개 필드 다 — 장치, 마운트 지점, 파일 시스템 종류, 옵션, dump 여부, fsck 순서.
"예정"은 fstab, "현재"는 mtab 으로 가른다. mount를 인자 없이 치면 보이는 것이 현재 목록이다.
fstab에 적혀 있으면 mount /data처럼 한쪽만 써도 나머지를 fstab에서 찾아 붙인다.
명령 보는 것 단위 df파일 시스템별 전체·사용·남은 용량마운트된 것 기준 du경로별 실제 사용량디렉터리·파일 기준
df -h # 사람이 읽기 쉬운 단위로 (G, M)
df -T # 파일 시스템 종류까지
df -i # inode 사용량
du -h /var/log # 경로별 용량
du -sh /var/log # 합계만 (summary)
du -sh * | sort -h # 현재 위치에서 큰 것부터
-h는 human-readable 이다. 두 명령 모두에서 같은 뜻으로 쓴다.
du -sh 의 -s는 summary — 하위 항목을 일일이 나열하지 않고 합계만 낸다.
"디스크가 꽉 찼다"는 문제는 df -h로 어느 파일 시스템인지 찾고, du -sh로 어느 디렉터리인지 좁혀 들어간다.
$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 12G 38G 24% /
/dev/sda1 xfs 1014M 180M 835M 18% /boot
/dev/sdb1 ext4 99G 89G 4.9G 95% /data
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
열 뜻 Filesystem장치 이름 Type파일 시스템 종류 (-T를 줬을 때만) Size / Used / Avail전체 / 사용 / 남은 용량 Use%사용률 Mounted on마운트 지점
$ du -h /data/logs
1.2G /data/logs/2026-08
3.4G /data/logs/2026-09
4.6G /data/logs
$ du -sh /data/logs
4.6G /data/logs
du는 옵션 없이 쓰면 하위 디렉터리마다 한 줄씩 내고 맨 끝에 합계를 낸다. -s는 그 마지막 한 줄만 남긴다.
df /data/logs처럼 디렉터리를 줘도 df는 그 디렉터리가 속한 파일 시스템 전체 를 보여 준다. 디렉터리 하나의 크기를 알려 주지 않는다.
옵션 dfdu-h읽기 쉬운 단위 읽기 쉬운 단위 -k / -mKB / MB 단위 KB / MB 단위 -T파일 시스템 종류 표시 — -iinode 사용량— -s— 합계만 -a모든 파일 시스템 디렉터리뿐 아니라 파일도 한 줄씩 -c— 맨 끝에 총합 줄 추가
용량은 남는데 파일이 안 만들어지는 경우 가 있다. inode가 고갈 된 것이다. 작은 파일이 아주 많으면 생긴다. df -i로 확인한다.
fsck /dev/sdb1 # 검사
fsck -y /dev/sdb1 # 모든 질문에 yes
e2fsck -f /dev/sdb1 # ext 계열, 강제 검사
파일 시스템의 무결성을 검사하고 복구 하는 명령이다.
⚠️ 반드시 언마운트한 상태에서 실행한다. 마운트된 채로 검사하면 파일 시스템이 손상될 수 있다.
비정상 종료 후 부팅할 때 자동으로 실행되기도 한다. /etc/fstab의 6번째 필드 가 그 검사 순서를 정한다(루트는 1, 나머지는 2, 검사 안 함은 0).
명령 관계 fsck파일 시스템 종류에 맞는 검사 프로그램을 대신 불러 주는 명령 e2fsck (fsck.ext4)ext2·ext3·ext4 전용 검사 프로그램xfs_repairXFS 전용 복구 프로그램 (XFS에는 e2fsck를 쓰지 않는다)
옵션 뜻 fsck -y모든 질문에 yes 로 답하며 복구 fsck -n고치지 않고 검사만 (모든 질문에 no) fsck -A/etc/fstab에 적힌 것을 전부 검사fsck -t 종류파일 시스템 종류 지정 e2fsck -f문제가 없어 보여도 강제로 검사 e2fsck -p묻지 않고 안전한 범위에서 자동 복구
올바른 순서는 umount → fsck → mount 다. 루트(/)처럼 뗄 수 없는 파일 시스템은 부팅 과정이나 복구 모드에서 검사한다.
fsck의 인자는 마운트 지점이 아니라 장치 이름 (/dev/sdb1)으로 준다.
복구 과정에서 어디에도 속하지 못한 파일 조각은 그 파일 시스템의 lost+found 디렉터리에 모인다.
명령 하는 일 lsblk블록 장치를 트리 형태 로 blkid장치의 UUID 와 파일 시스템 종류 mount현재 마운트 목록 free -h메모리와 swap 사용량
내일은 이번 주의 권한과 파일 시스템을 한 장으로 묶어 정리한다.
FHS : 파일 시스템 계층 표준. 리눅스에서 디렉터리의 이름과 역할을 정한 규약.
루트 디렉터리(/) : 파일 시스템 전체의 최상위. root의 홈인 /root와는 다르다.
마운트(mount) : 파일 시스템을 디렉터리 트리의 특정 지점에 연결하는 것.
마운트 포인트 : 파일 시스템이 붙는 디렉터리. 원래 있던 내용은 가려진다.
가상 파일 시스템 : /proc·/sys처럼 디스크가 아니라 커널이 만들어 보여 주는 파일 시스템.
df : 파일 시스템 단위의 용량을 보는 명령.
du : 경로 단위의 사용량을 보는 명령. -sh로 합계를 낸다.
fsck : 파일 시스템의 무결성을 검사·복구하는 명령. 언마운트 상태에서 실행한다.
📝 연습 문제 선택지를 클릭하면 정답·해설이 펼쳐집니다.
다음 중 시스템의 설정 파일들이 주로 저장되는 디렉터리로 알맞은 것은?
다음 중 커널과 프로세스 정보를 담고 있으며 디스크가 아닌 메모리에 존재하는 가상 파일 시스템으로 알맞은 것은?
다음 중 마운트된 파일 시스템을 분리하는 명령으로 알맞은 것은?
A unmount /data B umount /data C dismount /data D mount -d /data 다음 중 파일 시스템별 전체 용량과 남은 공간을 확인하는 명령으로 알맞은 것은?
A du -sh B ls -lh C fsck -h D df -h 다음 중 fsck 명령을 실행할 때 지켜야 할 사항으로 알맞은 것은?
A 반드시 마운트한 상태에서 실행한다 B 반드시 일반 사용자 권한으로 실행한다 C 반드시 언마운트한 상태에서 실행한다 D 반드시 파일 시스템을 포맷한 뒤 실행한다