반응형
리눅스 구성 요소
리눅스 운영체제 핵심 구성요소
커널(Kernel)
- 메모리에 상주하면서 시스템을 리하는 운영체제의 핵심
- 운영체제 응용프로그램 수행에 필요한 여러 서비스를 제공한다.
- 프로세스, 메모리, 입출력, 파일 관리 등
셸(Shell)
- 사용자가 입력한 문장을 읽어 요청을 실행하는 명령어 해석기/번역기
- 커널과 직접적으로 연결돼 있어 명령어를 해석한 결과를 다른 프로그램 또는 커널로 전송
- Bourne 셸, C셸, Korn셸, bash셸 등
- 리눅스의 표준 셸은 bash 셸이다. 다른 셸을 사용해도 상관은 없다.
파일 시스템(File System)
- 파일 저장의 기본적인 구조, 시스템 관리를 위한 기본 환경을 제공
- 계층적인 트리 구조 형태(디렉터리, 서브 디렉터리, 파일 등)
- 리눅스 표준 파일 시스템은 ext4
셸(Shell)
셸의 기능
- 시그널 처리
- 프로그램 실행
- 파이프, 리다이렉션, 백그라운드 프로세스 설정
- 입력된 내용을 파악해 명령 줄 분석
- 왕리드 카드, 히스토리 문자, 특수문자 분석
사용 가능한 셸 확인
# cat shells
사용자별 셸 정보
# cat /etc/passwd
셸 환경변수
- 환경변수는 특정한 의미로 설정된 값을 의미한다.
- HOME 이라는 사용자 계정의 홈 디렉터리가 있을 때 이를 사용하려면 $HOME을 입력하면 된다.
- 유용하게 사용될 변수 및 설정해야 하는 값을 설정해 두는 것
현재 환경에 설정되어 있는 모든 변수 확인
# env
셸의 종류
bash 셸
- 리눅스의 표준 셸
- bash 셸이 실행될 때는 환경 파일을 읽어서 환경 파일에 설정된 값으로 실행된다.
- bash 셸의 설정 파일은 .bash_profile /. bashrc 1 / .bash_logout 2 이 존재한다. 3
파일 시스템(File System)
- 리눅스의 파일은 가장 최상위 루트(Root)부터 하위로 만들어지며 루트 파일 시스템은 오직 한 개만 존재한다.
- 일반 파일에는 텍스트 파일과 바이너리 파일로 분류된다. 파일들은 디렉터리에 저장된다.
- USB, CDROM, CPU, Memory와 같은 하드웨어 장치를 관리하기 위한 특수파일은 /dev 디렉터리에 위치한다.
특수파일은 문자단위 특수파일과 블록단위 특수파일로 분류된다. 4
리눅스 파일 종류
리눅스 파일 시스템 구조
부트 블록(Boot Block)
- 리눅스 파일 시스템 구조는 부트 블록으로 시작되며 부트 블록은 컴퓨터 시스템을 부팅하기 위한 부팅에 관련된 이미지를 가지고 있다.
- 이는 리눅스 운영체제가 시작되면 제일 처음 읽음으로써 리눅스를 기동하게 된다.
- 부트 블록이메모리에 모두 올라가면 리눅스 운영체제는 먼저 init 프로세스를 기동 하게 된다. 5
슈퍼 블록(Super Block)
- 부트블록 다음에 실행되는 블록으로 파일 시스템의 크기, 여유 공간(빈 블록 리스트), 파일 시스템의 이름, 디스크 이름 등의 정보를 가진다.
- 슈퍼 블록이 가지고 있는 정보
1) 파일 시스템의 크기, 블록 수 등 이용 가능한 블록리스트
2) 빈 블록 리스트에서 그 다음의 빈 블록을 가리키는 인덱스
3) inode 목록의 크기, 파일 시스템에 있는 빈 inode 수와 목록
4) 빈 inode 목록의 크기, 파일 시스템에 있는 빈 inode 수와 목록
5) 빈 블록과 빈 inode 목록들에 대한 lock 필드
6) 슈퍼 블록들이 수정되었는지 나타내는 플래그(flag)
7) 파일 시스템 이름과 파일 시스템 디스크의 이름
inode
- 리눅스 커널이 현재 사용하는 자료구조(파일 정보)를 유지하는 구조체이다. 리눅스는 파일에 접근 시 inode를 사용해 파일을 참조한다.
- inode는 파일과 관련된 정보를 가지고 있으며 파일에 inode Number라는 일련의 숫자를 부여하여 관리한다. 6
- inode가 가지고 있는 정보
1) 파일 소유자 ID(사용자 ID)
2) 파일 소유자의 그룹 ID
3) 파일 크기
4) 파일 생성 시간
5) 파일 최근 사용 시간
6) 파일 최근 변경 시간
7) 파일 링크 수
8) 접근 모드
9) 데이터 블록 주소
indoe 정보 확인
ls -il
반응형
댓글