쉘에 대한 이해
프로세스
1) 프로그램(program)
- 명령어 모음
- 디스크 상에 파일(실행 가능한)형태로 존재
2) 프로세스(process)
- 실행중인 프로그램(동작)
- 파일이 메모리에 존재할 때(바인딩)
3) 포그라운드 프로세스
- 눈에 보이는 프로세스
- fg 작업번호
4) 백그라운드 프로세스(윈도우즈 - 서비스, 리눅스 - 데몬)
- 눈에 보이지는 않지만 실행중인 프로세스
- bg 작업번호
명령어 & : 시작할 때부터 백그라운드에서 실행
5) 작업수행 전환
- background -> foreground : background로 수행될 때 'fg'라고 명령을 내리면 전환된다.
- foreground -> background : Ctrl+z를 눌러 작업을 일단 중지시킨 뒤 bg라고 명령을 내린다.
- Ctrl + c : 작업 취소
- Ctrl + d : 작업 정상 종료
- Ctrl + z : 작업대기
6) Process 확인
- ps : 모든 프로세스 목록
- jobs : 정지된 process 목록
- top : 실시간 프로세스 목록
7) Process 중지
- kill -9 [PID]
- kill %job_number (job번호)
※ 부팅과정
1) 전원 ON
2) POST(Power On Self Test)
3) MBR(Master Boot Record)
4) 커널을 메모리에 로드
5) init 프로세스의 실행
6) 런레벨에 맞는 데몬을 실행
7) 로그인 화면
문자열
1) 큰 따옴표 vs 작은 따옴표 vs 백 쿼츠(역 따옴표)
- 문자열을 표현하기 위한 방법
- 특수 문자를 표현하는 경우
- 변수를 다루는 경우
- 큰 따옴표 : 변수가 가진 값을 표현
ex) echo "$HOME"
/home/directory
- 작은 따옴표 : 문자열 그대로 표현
ex) echo '$HOME'
$HOME
- 백 쿼츠 : 안의 명령문을 실행한 결과를 반환
ex) echo `pwd`
echo /home/directory
2) 문자열 이스케이프
- 문자로는 표현할 수 없는 문자를 표현하는 방법
- ex) 엔터, 탭, 특수문자(",'), 숫자 등등...
문자열 이스케이프 |
설명 |
\b |
백스페이스 문자 |
\f |
다음페이지의 시작으로 옮김 |
\n |
엔터 문자(다음줄로 이동) |
\t |
탭 문자 |
\' |
작은따옴표 |
\" |
큰 따옴표 |