파일 시스템
- 파일에 파일명과 경로 부여
- 저장 or 검색
- 식별 방법 제공
- 파일 시스템의 종류에 따라 파일 시스템의 크기, 파일 이름의 길이, 파일의 크기,
파일의 총 개수, 파일의 복구, 성능/보안/유연성 등에 차이가 남
Unix 파일 시스템의 구조
1) 슈퍼 블록
- 파일 시스템의 특징을 기록한 블록
- 손상 되면 안됨, 복사본 필요
- 기록 : 블록의 크기, 전체 블록의 개수, inode 테이블의 크기와 위치, 디스크 블록 맵, 첫 번째 데이터 블록의 주소
2) inode 테이블
- 'inode 리스트'
- 하나의 inode(레코드)는 한 개 파일의 이름을 제외한 모든 정보를 가짐
- 파일의 이름은 해당 파일이 속한 디렉토리에 있음
- 정보 : inode 번호, 파일의 형태, 크기, 접근권한, 소유자, 소유 그룹, 수정시간, 링크 수, 디스크 블록의 위치 등
- 디렉터리나 특수 파일도 하나의 파일로 간주
3) 데이터 블록
- 일반 파일의 경우 실제 데이터가 저장됨
- 디렉터리의 경우 포함된 파일 이름이 inode 번호와 함께 저장됨
파일 시스템 유형
파일 시스템 | 설명 |
ext4 | 리눅스 전용 파일 시스템으로 범용 파일 시스템. ext2와 ext3의 개선된 버전으로 최대 크기는 1EiB. 최대 파일 크기는 16TiB. 저널링을 통한 신뢰성, 온라인 단편화 제거, 하위 호환성 등의 기능 ※ 저널링 : 디스크에 기록 전에 저널에 먼저 기록하는 방법. 비정상 종료 등의 대비하여 파일 시스템 복구가 용의하게 지원. 시스템 무결성이나 안정성을 보완하는 방법.ext2 안됨. ext3 저널링 됨. |
lso9660 | CD-ROM과 같은 광학 디시ㅡ크에서 사용되는 표준 파일 시스템 |
vfat | 윈도우 운영체제와 호환되는 파일 시스테믕로 USB에서 주로 사용됨 |
HFS+ | 매킨토시에서 사용되는 표준 파일 시스템 |
Btrfs | 리눅스의 차세대 파일 시스템 |
XFS | 고성능으로 대용량 파일(또는 파일 시스템)을 사용하기 위한 파일 시스템. 주로 서버컴퓨터에서 사용 |
- 커널을 사용하는 가상 파일 시스템(tmpfs, proc, sysfs 등 등)과 네트워크 파일 시스템도 있음
mkfs 명령
- 파티션이나 논리 볼륨에 리눅스 파일 시스템을 만드는 명령
- mkfs[-t fs-type] device
- 옵션 -t fs-type을 사용하여 파일 시스템의 종류를 지정
- device는 /dev/sdb1과 같은 파티션의 장치 이름 또는 논리 볼륨의 이름
- 실제 mkfs 명령은 'mkfs.파일시스템종류이름'을 사용하여 수행
- 코드 재사용을 높이려는 목적으로 기본은 /sbin/mkfs.ext2
- ex)
# mkfs -t ext4/dev/myVg/my_volume
<중간생략>
# mkfs -t ext4/dev/sdc1
fsck 명령
- 파일 시스템의 무결성을 검사하고 손상된 파일을 고치는 명령
- 마운트 되어 있지 않은 파일 시스템을 검사
- 문제가 있다면 대화식으로 파일 시스템 복원
- 파일 시스템의 'lost+found'디렉터리에 손상된 파일을 남겨둠
- fsck [options] device
- e2fsck와 같은 파일 시스템 고유의 검사 프로그램 존재 가능
스왑 영역
- RAM의 크기가 부족할 때 사용
- 특정 파티션이나 파일을 스왑 영역으로 지정하여 사용 가능
- free 명령 : 메모리의 사용량 확인, 스왑 메모리도 확인 가능
- 파티션을 스왑 영역으로 사용할 때
▷ 빈 파티션을 만듦
▷ mkswap device를 수행하여 스왑 파티션으로 함 : 지정된 특정 장치나 파일을 리눅스용 스왑 영역으로 지정
▷ swapon device 를 수행하여 활성화 : 커널에 스왑 영역 사용 등록, free명령으로 스왑 영역 공간 확인
▷ 부팅할 때마다 사용하려면 /etc/fstap 파일에 기록 ex) /dev/sda3 none swap defaults 0 0
df 명령
- 마운트 되어 있는 파일 시스템의 공간 사용 정보를 보여 줌
- df [options] [names] : names는 장치 이름 또는 마운트 지점
options | 설명 |
-h | 용량 단위를 KB, MB, GB 단위로 보여줌 |
-T | 파일 시스템의 유형을 포함하여 출력함 |
-i | inode의 사용량을 보여줌 |
du 명령
- 디렉터리(또는 특정 파일)의 디스크 사용량을 표시하는 명령
- du [options] [directories]
▷ directories는 특정 파일 또는 디렉터리, 기본적으로 하위 디렉터리를 포함하고 1KiB단위로 출력함
option | 설명 |
-a | 디렉터리 외에 파일의 디스크 사용량도 출력함 |
-s | 주어진 디렉터리 또는 파일만의 총 사용량을 요약하여 출력함 |
- 단순 du : 현재 디렉터리와 모든 서브 디렉터리의 사용량을 표시
- du --max-depth=1 /home : 사용자 별로 디스크 사용량 표시
'기록하는 중 > UNIX' 카테고리의 다른 글
[Unix] 프로세스 상태 (0) | 2023.12.11 |
---|---|
[Unix] 프로세스 (0) | 2023.12.02 |
[Unix] 볼륨 (0) | 2023.12.02 |
[Unix] 파티션 (0) | 2023.11.30 |
[Unix] mount와 umount (0) | 2023.11.26 |