728x90
반응형
[Bash] 1. Shell이란?
Shell이란?
Shell은 운영 체제와 사용자가 상호작용할 수 있도록 해주는 명령어 인터페이스이다.
사용자가 운영 체제와 소프트웨어에 명령을 입력하고, 시스템이 그 명령을 실행하는 방식이다.
즉, Shell은 사용자와 커널 사이이 커뮤니케이션을 하기 위한 다리 역할을 한다.
커널은 하드웨어와 애플리케이션 간에 상호 작용을 도와주는 OS의 핵심 구성요소이다.
Shell의 주요 기능
- 명령어 해석 : 사용자가 터미널에 입력한 명령어를 해석하여 운영 체제에 전달하고 실행
ls : 디렉토리 목록 보기, cp : 파일 복사 - 스크립트 실행 : 여러 명령어를 한 번에 실행하는 스크립트 작성
- 파일 관리 : 파일 및 디렉토리 생성, 삭제, 이동, 복사, 이름 변경 등
touch : 새 파일 생성, rm : 파일 삭제, mv : 파일 이동 - 프로세스 관리 : 실행 중인 프로그램(프로세스)을 모니터링하고 제어할 수 있음
ps : 프로세스 상태 확인, kill : 프로세스 종료, top : 실시간 프로세스 모니터링 - 입출력 리다이렉션 : 명령어의 입출력을 파일로 리다이렉션하거나, 다른 명령어의 입출력을 연결할 수 있음
> : 출력을 파일로 리다이렉션, < : 파일을 입력으로 사용, | : 파이프를 사용해 명령어 연결 - 환경 변수 설정 : 시스템 환경 변수 설정 및 확인
export : 환경 변수 설정, echo $PATH : 환경 변수 확인 - 배치 처리 : 여러 명령어를 하나의 스크립트에 작성하고 해당 파일을 실행하여 여러 작업을 처리할 수 있음
- 조건문 및 반복문 : 조건문(if, else, elif), 반복문(for, whiile) 사용 가능
- 배경 작업 및 프로세스 관리
& : Background 실행, fg : Background 작업을 Foreground로 가져오기 - 기타 고급 기능
history, find, locate 등
Shell Script 종류
- Sh (Bourne Shell),1977년
유닉스 운영 체제의 기본 셸로, 명령어 해석, 파일 및 디렉터리 관리, 프로세스 제어 등의 기본적인 셸 기능 제공.
간단한 스크립팅 언어로, 변수, 조건문, 반복문 등의 기초적인 프로그래밍 기능 지원. - Csh (C Shell) 개발 연도, 1978년
C언어와 유사한 문법을 사용, C 스타일의 흐름 제어(조건문, 반복문)와 구문 제공.
편리한 파일 이름 자동 완성, 히스토리 기능 제공. 시스템 프로그래밍에 유용한 기능 제공. - Ksh (Korn Shell), 1980년대 초반
Sh와 Csh의 기능을 결합하여, 스크립팅과 프로그래밍 기능을 확장.
배열, 함수, 고급 문자열 처리 등 강력한 프로그래밍 기능 제공. 입력과 출력 리다이렉션, 조건문, 반복문 등 유연한 제어 구조 지원. - Bash (Bourne Again Shell), 1989년
Sh의 기능을 확장하고, Csh와 Ksh의 기능을 결합.
명령어 자동 완성, 히스토리 기능, 스크립트에서의 디버깅, 배열 지원 등 고급 기능 제공.
GNU 프로젝트의 일부로 리눅스와 macOS에서 가장 널리 사용됨. - Tcsh (TENEX C Shell), 1980년대
Csh의 확장 버전으로, 자동 완성, 명령어 히스토리, 고급 변수 처리 등을 지원.
특히, 명령어 자동 완성과 명령어 히스토리 기능이 개선되어 사용자 경험이 향상됨. - Zsh (Z Shell), 1990년대 초반
Bash의 기능을 확장하고, Csh와 Ksh의 유용한 기능을 결합. 강력한 자동 완성과 유연한 스크립팅 기능 제공.
플러그인 시스템, 강화된 히스토리 기능, 세밀한 맞춤 설정 등 사용자 경험을 개선. - Fish (Friendly Interactive Shell), 2005년
자동 완성, 구문 강조, 간편한 오류 메시지 등 직관적인 사용자 경험 제공.
초보자도 쉽게 사용할 수 있도록 설계된 셸로, 기존 셸보다 설정이 간단하고 직관적임.
강력한 스크립팅과 커스터마이징 기능을 제공. - PowerShell, 2006년
Windows 시스템 관리와 자동화를 위해 개발된 셸로, .NET Framework 기반의 객체 지향적인 스크립팅 지원.
강력한 파이프라인 기능, 윈도우 관리, 리모트 관리 등을 위한 고급 명령어 지원.
복잡한 시스템 관리 작업을 자동화할 수 있는 강력한 기능 제공.
728x90
반응형
'Software > Script' 카테고리의 다른 글
[Bash] 4.3 유용한 Command (0) | 2024.11.26 |
---|---|
[Bash] 4.2 유용한 Command (0) | 2024.11.24 |
[Bash] 4.1 유용한 Command (0) | 2024.11.23 |
[Bash] 3. Command 훑어보기 (0) | 2024.11.21 |
[Bash] 2. Process (0) | 2024.11.20 |
댓글