초기의 리눅스는 minix 파일 시스템을 기반으로 만든 ext 파일 시스템을 사용했으나, 다음 버전인 ext2 가 등장하면서 리눅스 커널 2.1.21 버전부터 제외되었다.
리눅스 커널 2.4 버전부터는 저널링 파일 시스템 기능이 있는 ext3 를 사용하였고, 현재 대부분의 리눅스는 ext4 파일 시스템을 사용하고 있다.
저널링 파일 시스템이란
파일 시스템에 대한 변경사항을 반영하기 전에 저널이라 부르는 로그에 변경사항을 저장하여 추적이 가능하게 만든 파일 시스템이다. 시스템에 충돌현상이 발생하거나 전원 문제가 발생된 경우에 데이터 복구 확률을 높여준다.
파일 시스템을 왜 만들어야 할까?..
파일 시스템은 우리가 사용하는 파일 또는 폴더(디렉터리)들을 관리해주는 녀석입니다.
파일 시스템은 쉽게 윈도우의 탐색기라고 생각하시면 됩니다. 탐색기 없이 하드디스크에 0111000101010 이렇게 저장된 파일들을 보시려면 어떻게 해야할까요.. 막막하겠죠?
리눅스에서 가장 많이 쓰는 <ext4 의 파일 시스템 구조>를 살펴보자.
몇 개만 보면..
Super Block - 얘를 잃어버리면 해당 파일 시스템 전체를 다 잃어버리는 거나 마찬가지다. 해당 파일 시스템의 모든 정보를 가지고 있다.
Inode Table - 파일의 고유번호, 파일 형태, 크기, 위치, 파일의 소유자 등... 밑에 그림과 같이 봐주면 이들은 Data Block을 가리키는 것을 볼 수 있다. 혹은 Inode Table 이 또 다른 Inode를 가리켜서 이것들이 Data Block을 가리키기도 한다.
(좀 더 효율적으로 관리하려고 이런 구조를 가지게 됨 = 테이블이 너무 길어지면 비효율적)
mkfs
파일 시스템 생성 명령이다.
# mkfs /dev/sdb1
이것은 장치 번호가 아닌 파티션 번호임을 알아두자. 이렇게 하면 파일시스템이 만들어진다.
윈도우즈는 파일 시스템만 만들면 사용이 가능한데 리눅스는 마운트를 해주어야 사용이 가능해진다.
마운트란 만들어논 파일 시스템을 특정 디렉토리랑 서로 연결 시켜주는 개념이다.
mount [옵션] [장치] [마운트 포인트]
[옵션] - 파일 시스템의 유형을 지정하는 옵션
[장치] - 마운트 포인트와 연결할 장치를 지정, 일반적으로 파일 시스템을 생성한 파티션이 온다.
[마운트 포인트] - 특정 디렉토리를 지정, 해당 디렉토리로 접근 시 지정한 장치로 이동됨
'🦇 Linux' 카테고리의 다른 글
리눅스 - bashrc, bash_profile (0) | 2021.08.25 |
---|---|
리눅스 - 셸, 환경변수, bash 셸 (0) | 2021.08.24 |
리마 2급 공부 노트 - 8.22 (0) | 2021.08.23 |
리마 2급 공부 노트 - 8.20 (0) | 2021.08.20 |
리눅스 기초 명령어8 - cp, rm (0) | 2021.07.13 |