OS/Linux

[ 리눅스 마스터 ] 6. 쉘

noahkim_ 2021. 8. 13. 16:36

1. 쉘

커널과 사용자간의 다리역할. 명령을 해석하여 프로그램을 실행함. 

커널과 분리된 프로그램이며 종류가 많음. 

- 가지고 있는 쉘 확인 : $SHELL, chsh -l, cat /etc/shells

- 쉘의 변경 : ' chsh -s /bin/바꿀 쉘 "사용자이름" '

 

2. 환경설정

  • 환경변수
    HOME : 홈 디렉터리
    PATH : 실행파일을 찾는 경로
    LANG : 기본 셸 언어
    TERM : 로그인한 터미널
    PWD : 현재 경로
    SHELL : 로그인 셸
    USER : 사용자명
    PS1 : 프롬프트 변수
    MAIL : 도착한 메일이 저장되는 경로
    UID : 사용자ID

  • 주요 환경변수
    \d : 요일, 월, 일 형태로 날씨 출력
    \h : 호스트 이름
    \s : 사용중인 셸 시간
    \t : 24시간 형태 현재 시간 출력
    \u : 이름 표시
    \w : 현재 디렉터리 절대경로 출력
    \! : 현재 명령의 히스토리 넘버를 출력

3. 명령어

  • alias : 별명짓기
    alias [별칭='명령어']

  • which : 특정 명령어의 위치 알려줌

4. 표준 입출력 제어 

  • 입력 : stdin, 0
  • 출력 : stdout, 1
  • 에러 : stderr, 2

5. 리다이렉션

입출력을 다른 입출력으로 변경 시 사용함 

< : 입력 

> : 출력

>> : 출력(추가)

 

6. 작업제어

작업을 백그라운드, 포그라운드로 변환해가며 작업가능.

 

7. 배시셸 관련 파일 및 디렉터리

/etc/profile : 시스템 전체에 적용되는 환경변수

/etc/bashrc : 시스템 전체에 적용되는 alias와 함수

~/.bash_profile : 환경변수와 시작프로그램 설정.

~/.bashrc : 개인 사용자가 정의한 alias와 함수

~/.bash_logout : 개인 사용자가 로그아웃 시 수행하는 설정