/etc/inittab에서 어떤 level로 실행할 것인지 결정
/etc/rc[0-6]에 runlevel 파일이 저장되어 있음
Runlevel 변경 : $ init [0-6]
Level | Mode |
---|---|
0 | Halt |
1 | Single-User Mode |
2 | Multi-User Mode |
3 | Multi-User Mode + Networking |
4 | Undefined |
5 | X11: 현재의 기본 실행값 |
6 | Reboot |
프로세스마다 실행되는 환경을 확인하기 어려워서 만들어짐.
프로세스가 생성되면 쉘이 char **environ
으로 환경변수를 만든다.
환경변수 확인 : $ env
버클리 대학에서 BSD 유닉스용으로 개발한 에디터로, 리눅스 환경에서 가장 많이 사용되는 텍스트 에디터이다.
Command Mode : 키보드 입력이 명령어로 해석됨.
아래의 명령을 입력하면 Insert Mode로 전환된다.
명령키 | 작업 |
---|---|
i | 커서 앞에서 삽입 |
I | 라인의 앞에서 삽입 |
a | 커서 뒤에서 삽입 |
A | 라인 끝에서 삽입 |
o | 다음 줄부터 삽입 |
O | 현재 줄 앞에서 삽입 |
R | 텍스트가 겹쳐서 써짐 |
아래의 명령으로 수정이나 검색을 할 수 있다.
명령키 | 작업 |
---|---|
/word | word 검색 |
cw | change word |
dw | delete word |
x | 커서에 있는 글자 삭제(delete 버튼) |
[숫자]dd | [숫자]만큼 줄 삭제 |
[숫자]yy | [숫자]만큼 줄 복사 |
p | 붙여넣기 |
u | undo |
r | redo |
n | 최근 명령 실행 |
:s/oldword/newword/[g] | oldword를 newword로 변경, g를 주면 모든 oldword를 변경 |
:num | num번째 줄로 이동 |
:se nu | 라인 넘버 보여줌 |
:q | vi 종료 |
:wq | 저장하고 vi 종료 |
:q! | 저장하지 않고 종료 |
Insert Mode : 키보드 입력으로 텍스트가 입력이 됨. 단, esc같은 특별한 명령어는 존재
target : dependance
command
형태로 작성, 매크로나 dep 레이블을 사용하여 작성가능
내부 매크로
$* : 확장자 없는 target
$@ : 현재 target
$<, $?: 현재 target보다 더 최근에 갱신된 파일