유닉스/리눅스 구조
유닉스 VS 리눅스
비교 | 리눅스 | 유닉스 |
비용 | Linux는 무료로 배포 및 다운 가능 | Unix버전은 공급업체에 따라 가격이 다름. |
개발 | 오픈소스. | 상용 업체에서 개발 |
인터페이스 | BASH가 기본 셸, 인터프리터 지원 | Bourne Shell에서 작동 |
용도 | 모바일/테블릿 컴퓨터 등 다양한 장치에 설치 | 인터넷 서버, 워크스테이션 및 PC에 사용 |
버전 | Redhat, Ubuntu, OpenSuse | HP-UX, AIS, BSD |
지원되는 파일형식 |
xfs, nfs, cramfsm ext 1 ~ 4, ufs, devpts, NTFS | zfs, hfx, GPS, xfs, vxfs |
휴대성 | 이식성이 있으며, USB 스틱으로 부팅됨. | 이식성이 없음. |
운영체제 구성요소
HW < Kernel < Shell < OS
리눅스 구성요소 : 커널(Kernel), 셸(Shell), 파일 시스템(File System)
1) 커널(Kernel) :
- 핵심, 코어. 하드웨어와 소프트웨어 중간에 위치.
- 메모리 상주하면서 시스템을 관리하는 운영체제의 핵심
2) 셸(Shell) :
- 사용자가 입력한 문장을 읽어 요청을 실행하는 명령어 해석기/번역기
- 셸 종류 : Bourn Shell(sh), C Shell(csh), Korn Shell(ksh), Bash Shell(bash)
- 명령어 형식 : command [option] [argument]
- 접근방식 : 콘솔, 터미널
3) 파일 시스템(File System) :
- 파일 저장의 기본적인 구조, 시스템을 관리하기 위한 기본 환경을 제공
- 계층적인 트리 구조 형태
- 리눅스 표준 파일 시스템 : ext4
* 참고 : /(루트) 밑의 bin, sbin 등이라는 디렉터리는 바로가기 구성. (심볼릭 링크)
- 주요 디렉터리
/ : 루트 티렉터리, 최상위 디렉터리
/bin : 사용자 쉘과 관련된 명령어
/boot : 부팅 관련 설정 파일들 포함
/etc : 사용자 설정 파일 및 서버 환경 설정 파일 등 포함
/home : 사용자 홈 디렉토리
/root : root 사용자 홈 디렉터리 (/와 / root/는 다른 것. root/는 root의 홈 디렉터리)
/run : 마지막 부팅 이후 시작된 프로세스의 런타임 데이터 //일부가 var의 로그로
/sbin : 시스템 관리 명령어
/tmp : 임시 저장 파일
/usr : 설치된 소프트웨어 및 라이브러리 포함 // bin, sbin, lib(module로 사용하기 위함), 및 소프트웨어
/usr/bin : 디폴트 사용자 명령어가 저장
/usr/sbin : 시스템 명령어 저장
/usr/lib : C언어 라이브러리 저장
/var : 시스템 고유의 가변 데이터(DB, 캐시, 로그 등) 저장 //+서버의 데이터, 메일 정보
/dev : 하드웨어에 액세스하기 위해 시스템이 사용하는 특수 장치 파일 포함. //리눅스는 모두 파일로 이루어져 있는데, 장치를 사용하면 모두 파일로 사용할 수 있게 만들어 준다.
cf> bin, lib, sbin은 /usr에서 (심볼릭) 링크되어 있음.
/mnt : Remote device를 이용하기 위한 디렉터리
/media : Local Device를 이용하기 위한 디렉터리
/proc : 커널 프로세스 정보를 얻을 수 있는 가상 파일 시스템