쉘(Shell)에 대한 이해
- 명령어 해석기, 실행기, ....
- 본(borne) 쉘, bash, csh, ksh, ...
1) 입/출력 리디렉션(재지정)
- 파일, 다른 장치로 출력을 재지정
- 입력 재지정
- 0 : 표준 출력 1 : 표준 입력 2 : 표준 에러
- >,>>,<
※ ctrl + d 로 나갈 수 있다.
cat -
위에 빨간 화살표가 입력된 값이고 파란색 화살표는 입력받은 값을 출력해준 값이다.
cat -> file1
file1이라는 파일이 없어도 cat->file1을 통해서 입력받은 값을 file1으로 만들어낼 수 있다.
cat -> /dev/tty2
먼저 tty 값으로 현재 위치한 출력을 확인한 뒤에 입력한 것을 tty2로 출력해보았습니다.
cat /etc/passwd -> file2 : etc/passwd파일을 입력으로 file2에 출력으로 내보내주겠다. (한마디로 복사)
> : 다시 쓰면 그 전 내용이 지워진다.
>> : append 이어서 쓸 수 있다.
2) 제어문자
- ctrl + c : 프로세스 종료(강제 종료)
- ctrl + d : EOF(End of File), 파일의 끝, 입력의 끝
- ctrl + z : 프로세스 정지
- ctrl + l : 화면정리
- ctrl + u : 한줄 정리
- ctrl + w : 한 단어 정리
3) 쉘 변수
① 일반 변수 : set
- 로컬 설정
- 터미널에서 사용하는 변수
② 환경 변수 : env
- 글로벌 설정
- 해당시스템에서 사용하는 공통 변수
- 환경변수 변경 : export 환경변수 = 값
③ 변수이름 vs $변수이름
변수이름 : 변수
$변수이름 : 변수의 값
echo USER : USER
echo $USER : root
④ 주요 환경변수
변수 |
내용 |
HOME |
사용자의 홈 디렉터리 |
PATH |
실행 파일을 찾는 디렉터리 경로 |
LANG |
쉘 사용시 기본으로 지원되는 언어 |
TERM |
로그인한 터미널 종류 |
PWD |
사용자의 현재 작업 디렉터리 |
SHELL |
사용자의 로그인 쉘 |
USER |
사용자의 이름 |
DISPLAY |
X에서 프로그램 실행 시 출력되는 창 |
PS1 |
프롬프트 변수 |
PS2 |
2차 프롬프트 변수 |
HISTFILE |
히스토리 파일의 절대 경로 |
HISTSIZE |
히스토리 파일에 저장되는 명령어의 개수(줄 기준) |
HISTFILESIZE |
히스토리 파일의 파일 크기 |
HOSTNAME |
시스템의 호스트명 |
|
도착한 메일이 저장되는 경로 |
TMOUT |
사용자가 로그인한 후 일정시간 동안 작업을 하지 않을 경우에 로그아웃 시키는 시간으로 단위는 초 |
UID |
사용자의 UID |