리눅스와 유닉스

Bash, 그리고 Shell 이란 무엇일까?

Jake Seo 2024. 2. 3. 23:56

개요

  • Shell 의 일종이다.
  • Shell 이란 운영체제에서 커널과 이용자 사이에 끼어 이용자의 명령어를 해석하고 처리 결과를 나타내주는 시스템 프로그램을 말한다.
    • 운영체제만 딸랑 있으면 운영체제 내부에 있는 파일 접근, 명령 수행 등이 매우 어려운데 그 사이 브로커 역할을 해주는 것이 Shell 이다.
  • Bash 는 Bourne Again SHell 을 줄여서 표현한 것이다.
  • Bash 외에도 csh, ksh, zsh 등 많은 셸들이 존재한다.

Bash 의 기능들

CLI (Command-line Interface)

  • 파일 관리, 프로그램 실행, 디렉터리 탐색 등의 작업 수행이 가능한 텍스트 인터페이스를 제공한다.

스크립팅 언어 (Scripting Language)

  • 셸 스크립트를 작성할 수 있게 해준다.
  • 파일 루핑, 분기(if/else), 순차적 명령어 실행 등의 기능이 있다.

환경 사용자 지정

  • .bashrc (개별 사용자용) 및 /etc/bash.bashrc (전체 사용자용) 구성 파일을 편집하여 환경을 사용자 지정할 수 있다.
  • 긴 명령에 대한 별칭을 정하거나, 사용자 지정 함수를 등록하는 등의 행위를 할 수 있다.

파이핑 및 리다이렉션

  • | 명령어를 사용하여 여러 명령을 서로 연결하고 리다이렉션 (>, <, >> 등) 을 사용하여 파일 또는 다른 명령과 직접 입출력을 주고받을 수 있다.

명령 기록

  • 실행했던 명령어를 기록한다.

작업 제어

  • 동시에 여러 프로세스를 관리할 수 있다.
  • 백그라운드 프로세스를 실행하거나 포그라운드로 가져오거나 중지할 수 있다.
반응형