- Shell
- 커널과 사용자의 다리 역할
- 명령 해석 및 실행
- 주요 셸
- bash
- GNU 의해 개발
- 다양한 OS 사용 가능
- 리눅스의 표준 셸
- ex) echo $SHELL /bin/bash
- csh
- C기반이고 버클리 대학에서 개발
- 히스토리 기능, 별명 기능, 작업 제어
- tcsh
- csh의 강화 셸
- ksh
- AT&T 개발
- 명령어 완성 기능, 히스토리 기능
- bash
- 셸 확인
- echo $SHELL
- 사용 중인 셸 확인
- chsh -l 혹은 cat /etc/shells
- 변경 가능한 셸 확인
- echo $SHELL
- 셸 변경
- chsh 입력→ 사용자 암호 입력→ 절대 경로 입력→ 다음 로그인부터 유효
- 셸 변수
- 특정 셸에서만 적용되는 변수
- 변수명=값 형태로 지정한다
- 변수값 출력시 echo $변수명 으로 확인한다
- 환경 변수
- 현재 설정된 전체 환경변수의 값은 env로 확인한다.
- env의 주요 환경 변수
- HOME: 홈 디렉터리
- PATH: 실행파일 찾는 디렉터리 경로
- LANG: 기본 언어
- LANG=C 는 영어로 변경
- TERM: 로그인한 터미널 종류
- PWD: 현재 작업 디렉터리
- SHELL: 로그인 셸
- PSI: 프롬포트 변수
- PS2: 2차 프롬포트 변수
- HISTFILE: 히소트리 파일의 절대 경로
- HISTSIZE: 히스토리에 저장되는 명령어 개수
- HISTFILESIZE: 히스토리 파일의 크기
- TMOUT: 일정시간 작업 안하면 로그아웃 시키는 시간
- history
- 사용자가 입력한 명령어 확인
- !로 대체 가능하다
- 표시
- !!: 마지막 명령 실행
- !n: n번째 사용한 명령 실행
- !-n: 역으로 n번째 명령 실행
- !문자열: 최근에 사용한 문자열로 시작하는 명령 실행
- !?문자열?: 최근에 사용한 해당 문자열 포함하는 명령 실행
- 예시
- history 5
- 최근에 입력한 마지막 5개 명령어 출력
- history
- 히스토리에 저장된 명령어 목록 출력
- history 5
- 관련 환경변수
- HISTSIZE: 히스토리 스택 크기 변수이며 단위는 명령의 개수
- HISTFILESIZE: 실질적인 히스토리 파일 크기
- HISTFILE: 히스토리 파일 위치 출력
- alias
- 사용자 정의 명령 지정
- unalias로 해제 가능하다
- 예시
- alias aaa = ‘ls -alf’
- unalias aaa
- 그냥 alias 만 적으면 현재 설정된 alias 목록이 출력된다.
- 셸 관련 디렉터리
- /etc/profile: 모든 사용자의 환경변수와 시작관련 설정 파일
- /etc/bashsrc: 모든 사용자의 alias와 함수 설정
- ~/.bash_profile: 개인 사용자의 환경설정과 시작 프로그램 설정
- ~/.bashsrc: 개인 사용자의 alias와 함수
- ~/.bash_logout: 개인 로그아웃시 수행하는 설정 지정
- PATH 경로 추가는 export PATH= $PATH:/usr/~~ 파일명은 쓰지말고 디렉터리 까지만!
728x90
'Computer Science > OS' 카테고리의 다른 글
[OS] 리눅스 / 에디터 (0) | 2024.09.04 |
---|---|
[OS] 리눅스 / 프로세스, 스케줄링 (0) | 2024.09.04 |
[OS] 리눅스 / 파일 시스템, 쿼터 (0) | 2024.09.03 |
[OS] 리눅스 / 허가권, 소유권, 특수 권한 (0) | 2024.09.03 |
[OS] 리눅스 / 디렉터리 (0) | 2024.09.03 |