Shell
개념¶
셸(Shell)은 커널과 사용자간의 다리역할을 하는 것으로 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행한다. 리눅스에는 sh
를 기본으로 ksh
와 csh
계열의 장점을 결합한 bash(Bourne Again shell)
을 표준으로 한다.
Shell 확인 및 변경¶
확인¶
변경¶
셸 환경설정¶
변수¶
Shell 변수¶
특정한 셸(Shell)에서만 적용되는 변수, 변수명=값
으로 사용할 수 있으며 변수명 앞에 $
를 붙이고 echo
명령으로 변수값을 호출한다.
환경 변수¶
변수 | 설명 |
---|---|
HOME | 홈 디렉토리 |
PATH | 실행 파일을 찾는 디렉토리 |
LANG | 셸에서 기본으로 지원하는 언어 |
TERM | 로그인한 터미널 종류 |
PWD | 사용자의 현재 작업 디렉토리 |
SHELL | 사용자의 로그인 셸 |
USER | 사용자 이름 |
DISPLAY | X에서 프로그램 실행 시 출력되는 창 |
PS1 | 프롬프트 변수 |
PS2 | 2차 프롬프트 변수 |
HOSTNAME | 시스템의 호스트명 |
도착한 메일이 저장되는 경로 | |
TMOUT | 일정 시간 작업하지 않을 경우 로그아웃시키는 시간 |
UID | 사용자 UID |
bash 주요 기능¶
history¶
사용자가 입력한 명령어를 확인, !
로 대체하여 사용할 수 있다.
!
를 이용한 history 명령
명령어 | 설명 |
---|---|
!! | 마지막에 사용한 명령 실행 |
!n | n번째로 사용한 명령을 실행 |
!-n | 반대로 n번째 사용한 명령 실행 |
!문자열 | 최근 사용한 ‘문자열’로 시작하는 명령 |
!?문자열? | 최근 사용한 ‘문자열’을 포함하는 명령 |
^문자열1^문자열2 | 마지막 명령에서 문자열1을 2로 변경 실행 |
히스토리 관련 환경변수
변수 | 설명 |
---|---|
HISTSIZE | 명령의 개수로 이 값 내에서만 검색이 가능 |
HISTFILESIZE | 실질적인 히스토리 파일의 사이즈 |
HISTFILE | 히스토리 파일의 위치를 보여줌 |
HISTCONTROL | 중복되는 명령에 대한 기록 유무 |
HISTTIMEFORMAT | 히스토리 명령 시 출력되는 시간 형식 |
alias¶
지정한 명령을 설정해둔 별명을 통해서 호출하는 기능
셸 관련 파일 및 디렉토리
파일 또는 디렉토리 | 설명 |
---|---|
/etc/profile | 시스템 전체에 적용되는 환경변수와 시작관련 프로그램 설정 |
/etc/bashrc | 시스템 전체에 적용되는 alias와 함수 설정 |
~/.bash_profile | 개인 사용자의 환경 설정과 시작 프로그램 설정 관련 파일 |
~/.bashrc | 개인 사용자가 정의한 alias와 함수들이 있는 파일 |
~/.bash_logout | 개인 사용자가 로그아웃할 때 수행하는 설정을 지정 |
/etc/profile.d | 몇몇 응용프로그램들이 시작할 때 필요한 스크립트가 위치 |
Last update :
15 décembre 2022
Created : 14 septembre 2019
Created : 14 septembre 2019