안녕하세요. BTC95입니다.
오늘은 리눅스 파일 시스템에 대해 알아보겠습니다.
리눅스 파일 시스템
파일이란, 주기억 장치나 디스크처럼 하드웨어 저장 공간에 저장되는 데이터의 집합을 말합니다.
파일시스템이란, 저장 장치 내에서 데이터를 읽고 쓰기 위해 미리 정한 약속입니다.
하드디스크와 ssd는 데이터가 저장된 위치가 이 약속에 따라 달라집니다. 때문에 파일 저장과 검색을 할 수 있도록 관리하는 방법도 파일시스템이라고 말합니다.
대부분의 파일 시스템은 디렉토리와 파일의 형태로 구분되어 있습니다.
리눅스의 파일시스템은 root 파일 아래에 계층적으로 모든 파일과 디렉토리가 만들어집니다.
파일시스템 종류
FAT: File Allocate Table
- 파일 할당 테이블이라고 말하며, 디지털 카메라 등에 장착되는 대부분의 메모리 카드와 수많은 컴퓨터 시스템에 널리 쓰이는 파일 시스템의 종류
- 너무 단순한 자료 구조 탓에 작은 파일이 여러개 있을 경우 공간 활용을 제대로 못한다는 단점
- 높은 호환성을 가짐
NTFS: New Technology File System
- Windows NT 계열의 새로운 파일 시스템으로 기존 FAT 구조를 대체하기 위해 만들어짐
- 시스템 고장 및 손상 시, 디스크 볼륨을 재구성하여 일관성 있는 상태로 복구 가능하여 안정성이 높고, 보안성도 FAT보다 향상된 파일 시스템
EXT: Extended file system
- 확장 파일 시스템의 준말로 리눅스의 기본 파일 시스템
- 기본으로 사용되던 2차 확장 파일 시스템 EXT2를 완벽하게 호환하는 EXT3, EXT4가 있음
- EXT3부터 큰 규모의 디렉토리를 접근하기 위해 해쉬를 통해 접근하는 H-tree를 사용하여 데이터 검색이 용이해
- EXT4는 가장 큰 초대형 파일 시스템
리눅스의 디렉토리 구조
모든 디렉토리는 최상위 디렉토리인 root 하위로 만들어집니다.
- root: 최상위 디렉토리인 루트 디렉토리를 의미하며, 리눅스의 모든 디렉토리들의 시작점
- bin: 기본 명령어들이 저장된 디렉토리
- boot: 리눅스 부트로더(Boot Loader)가 존재하는 디렉토리. 즉, GRUB과 같은 부트로더에 관한 파일들(grub.conf 등)이 존재
- dev: 시스템 디바이스 파일을 저장하고 있는 디렉토리. (하드디스크 장치파일 /dev/sda, CD-ROM 장치파일 /dev/cdrom 등)
- etc: 시스템의 거의 모든 설정파일이 존재하는 디렉토리 (etc/sysconfig(시스템 제어판용 설정파일), /etc/passwd(사용자관리 설정파일 등)
- home: 사용자의 홈디렉토리
- lib: 커널모듈파일과 라이브러리파일 즉, 커널이 필요로 하는 커널모듈파일들과 프로그램(C, C++ 등)에 필요한 각종 라이브러 파일들이 존재하는 디렉토리
- mnt: 탈부착이 가능한 장치들에 대하여 일시적인 마운트포인트로 사용하는 디렉토리
- sbin: ifconfig, e2fsck, ethtool, halt 등과 같이 주로 시스템 관리자들이 사용하는 시스템관리자용 명령어를 저장하고 있는 디렉토리
- tmp: 일명 "공용디렉토리" . 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리. mysql 에서 사용하는 mysql.sock 등과 같은 소켓파일, 또는 아파치에서 사용하는 세션파일등이 생성
- usr: 시스템이 아닌 일반사용자들이 주로 사용하는 디렉토리. 즉, c++, chsh, cpp, crontab, du, find등과 같이 일반사용자들용 명령어들은 /usr/bin 에 위치
- var: 시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉토리. 거의 모든 시스템로그파일은 /var/log 에 저장되고, DNS 의 zone 설정파일은 /var/named 에 저장되고, 메일파일은 /var/spool/mail 에 저장되며, 크론설정파일은 /var/spool/cron 디렉토리에 각각 저장됨
감사합니다.
'OS' 카테고리의 다른 글
[리눅스] 기본 명령어 (0) | 2022.10.27 |
---|---|
[OS] 리눅스 프로세스 (1) | 2022.10.04 |
리눅스 명령어를 이용한 시스템 모니터링 (0) | 2022.09.07 |
[OS]리눅스 명령어 (0) | 2022.08.18 |
[OS] Android란 (0) | 2022.08.11 |
댓글