구조
Kernel
- 운영체제의 일부분으로 운영체제의 핵심을 이룬다.
- 커널은 컴퓨터 부팅 시 메모리에 적재되며 시스템이 꺼질 때 까지 실행한다.
- 대부분 C로 작성 되었지만, 일부분 효율성을 고려하여 어셈블리언어로 작성되었다.
- System call 인터페이스를 통해 커널을 사용한다.
Kernel 의 기능
:시스템에 존재하는 시스템 자원 관리
1) 메모리 관리
2) 프로세스 관리
3) 파일관리
4) 입출력관리
5) 프로세스간 상호 통신
Shell
- 하나의 프로그램, 사용자가 처음 로그인 성공하면 커널이 최초로 사용자에게 할당해주는 프로그램이다.
- 쉘은 운영체제의 커널과 사용자 사이의 인터페이스 역할
- 사용자가 터미널에서 입력한 명령어는 쉘에 의해 타당성 여부를 검증
- 간단히 정의하면, 명령어 번역기 프로그램이다.
Shell의 종류
- 쉘에는 Bourne shell, korn shell, cShell이 있다.
- Bourne Shell과 Korn Shell의 프롬프트는 $ 이며, cShell은 %이다.
- 흔히 말하는 bash는 Bourne Again Shell의 축약어이다.
메타 문자
쉘에는 메타 문자라는 것이 존재하는데 어떤 문자들을 특수하게 처리하게 해주며 명령의 편의를 돕는다.
> |
표준출력을 파일에 기록하는 출력 |
>> |
표준출력을 파일 끝에 덧붙이는 출력 |
< |
파일로부터 표준 입력을 읽는 입력 |
<<EOF |
EOF문자를 만나면 표준 입력이 끝남 |
* |
0개 이상의 문자와 일치하는 파일 치환 |
? |
1개의 문자와 일치하는 파일 치환 |
| |
어떤 프로세스의 출력을 다른 프로세스의 입력으로 보내는 파이프 기호 |
; |
명령어 종결 |
|| |
이전명령 실패하면 뒤의 명령 실행 |
&& | 이전 명령 성공해야만 뒤의 명령 실행 |
& | 백그라운드 실행 |
# | 주석 |
$ | 변수의 값 |
\ | 뒤에 나오는 메타문자를 일반문자로 해석 |
'System > Linux,Unix' 카테고리의 다른 글
VI 편집기 명령어 정리 (0) | 2018.08.07 |
---|---|
명령어 정리 (0) | 2018.08.07 |
Unix와 Linux의 차이 (0) | 2018.08.03 |
FreeMemory에 대한 이해 (0) | 2018.07.17 |
vi/vim 에서 문자 일괄 변경 (1) | 2018.07.17 |