[LINUX] SHELL

김나영·2023년 4월 4일
0

LINUX

목록 보기
6/9
post-thumbnail

SHELL

  • 명령어와 프로그램을 실행할 때 사용하는 인터페이스

  • 운영체제에서 사용자가 입력하는 명령을 읽고 해석해서 대신 실행해주는 프로그램

  • 리눅스 커널과 사용자를 연결해줌

SHELL의 기능

  • 명령어 해석 : 사용자와 커널 사이에서 명령을 해석해서 전달
  • 프로그래밍 : 셸 자체에 프로그래밍 기능이 있어 프로그램 작성 가능. 셸 프로그래밍 기능을 이용하면 여러 명령을 사용해 반복적으로 수행하는 작업을 하나의 프로그램으로 제작할 수 있음
    셸 프로그램 = 셸 스크립트
  • 사용자 환경 설정 : 초기화 파일 기능을 이용해 사용자의 환경을 설정함
    로그인 시 초기화 파일이 실행되어 사용자의 초기 환경이 설정됨

SHELL의 종류

BOURNE SHELL (sh)

  • 유닉스 쉘의 오리지널
  • 상호대화 방식이 아님
  • 일반 유저는 $ 프롬프트 / ROOT 유저는 # 프롬프트 사용
  • .sh 라는 파일 확장자를 가진 파일이 특정 종류의 셸 스크립트를 가리키지만 대부분의 셸스크립트는 파일 확장자를 지니지 않음

bash

  • 현재 리눅스의 표준 셸 (우분투와 페도라도 마찬가지)
  • bash셸은 sh를 기반으로 Korn Shell (ksh)과 C Shell(csh)의 장점만 합한것
  • 리눅스뿐만 아니라 GNU, 맥 등 다양한 운영체제에서 사용
  • 일반 유저는 $ 프롬프트 / ROOT 유저는 # 프롬프트 사용
  • bash의 특징
    • alias (명령어 단축)
    • history ( ↑ ↓ )
    • 연산
    • Job Control
    • 자동 이름 완성 (tab)
    • 프롬프트 제어
    • 명령 편집

C CHELL (csh)

  • C언어 기반
  • 크기가 크고 느린 처리속도 / 편리한 기능

Korn SHELL (ksh)

  • sh 확장해서 만들었음
  • C CHELL 의 특징들을 모두 제공하면서 빠른 처리속도를 가짐

SHELL의 환경변수

환경변수내용
HOME현재 사용자 홈 디렉토리
PATH실행 파일을 찾기 위한 디렉토리의 경로
LANG기본 지원 언어
PWD사용자가 현재 작업중인 디렉토리
TERM로그인 터미널 타입
SHELL로그인해서 사용하고 있는 셸
USER현재 사용자 이름
DISPLAYX 디스플레이 이름
COLUMNS현재 터미널 컬럼의 수
LINES현재 터미널 라인의 수
PS11차 명령 프롬프트 변수
PS22차 명령 프롬프트
BASHbash 셸 경로
BASH_VERSIONbash 버전
HISTFILE히스토리 파일 경로
HISTSIZE히스토리 파일에 저장되는 갯수
HOSTNAME호스트명
USERNAME현재 사용자 이름
LOGNAME로그인 명
LS_COLORSls 명령어 확장자 색상 옵션
MAIL메일 보관 경로
OSTYPE운영체제 타입

사용중인 SHELL 알아보기

echo $SHELL

env

전체 환경 변수 확인

export

환경변수 값 변경하기

export 환경변수=값

profile
응애 나 애기 개발자

0개의 댓글