리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다.
✅ 쉘(Shell)이란?
Shell은 껍데기, 주변이라는 뜻을 가지고 있으며, 키보드로 입력한 리눅스 명령어를 운영 체제에 전달하여 명령어를 실행하게 만들어 주는 프로그램입니다.
◼ 리눅스 커널(Kernel)
리눅스 커널(Kernel)은 Shell에서 전달 받은 명령을 기계가 이해할 수 있는 언어로 변환하여 하드웨어(CPU, I/O, 메모리 등) 의 리소스에 접근하는 역할을 담당합니다.
Shell과 Kernel 포인트
Shell: 껍데기, 외부 계층, 사용자와 커널을 연결해 주는 역할
Kernel(핵심): 내부 계층, Shell과 하드웨어 연결해 주는 역할
✅ 리눅스 쉘 종류
Linux Shell의 대표적인 종류는 다음과 같습니다.
◼ Linux Shell 종류 별 특징
Bourne Shell (sh)
작고 빠르지만 일부 표준 다음과 같은 기능이 없습니다.
논리 및 산술 확장을 처리하는 기능이 내장되어 있지 않음.
명령 내역
자동 완성과 같은 포괄적인 기능
C Shell (csh)
대화형 기능
프로그램에 대한 사용자 정의 별칭.
상대 홈 디렉터리( ~ ).
내장된 표현식 문법과 편리한 기능.
C Shell 단점
구문 불일치.
커진 크기와 느린 처리 속도
TENEX C Shell (tcsh)
C Shell의 확장인 TENEX C Shell의 추가 기능
고급 명령 기록
와일드카드 기능
내장형 where 명령
KornShell (ksh)
특징
C Shell과 Bourne Shell의 기능을 구현하여 대화형 명령과 프로그래밍 기능에 중점
내장 명령의 확장성.
Bourne Shell과 호환.
C Shell과 Bourne Shell보다 빠름.
Z Shell (zsh)
특징
bash, ksh, tcsh Shell의 기능을 결합한 맞춤법 검사
로그인 감시, 철자 수정 및 명령 이름 자동 완성
플러그인과 테마 지원과 같은 확장성
bash Shell
특징
Bourne Shell 기반으로 만들어진 bash Shell은 리눅스의 표준 Shell로 사용되고 있음.
Gnu 프로젝트를 위해 개발되었으며, 맥 OS에서도 사용되고 있다.
sh와 호환되는 문법 및 hitory, 명령행 편집과 같은 다양한 기능.
✅ 쉘 스크립트(Shell Script)
Shell Script는 Shell에서 사용할 수 있는 명령어들의 조합으로 만든 배치 파일입니다. 스크립트를 사용하면 일련의 명령어를 자동으로 실행하여 반복적인 작업을 자동화할 수 있습니다.
echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 목차✅ 쉘(Shell)이란?◼ 리눅스 커널(Kernel)✅ 리눅스 쉘 종류◼ Linux Shell 종류 별 특징✅ 쉘 스크립트(Shell Script)✅ 쉘 프롬프트(Shell Prompt)1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와 쉘에서 실행하는…
셸 세션을 이용해서 서버와 상호 작용을 할 때 해당 동작과 리소스에 대한 연결을 결정하기 위해 컴파일 하는 많은 정보가 있습니다. 이러한 서정 중 일부는 구성 설정에 포함되어 있으며, 다른 설정은 사용자 입력에 의해 결정됩니다. 리눅스 셸 환경은 셸의 구성 설정과 사용자 입력에 의해 결정된 설정을 유지관리 영역을 이용해 관리하는 가장 일반적인 방법을 이용하게…
httpd.conf 파일에 access_log 및 error_log를 설정 했을 때 logrotate 설정이 아닌 경우 로그 파일 삭제 쉘 스크립트가 필요할 때가 있습니다. 목차✅ 쉘(Shell)이란?◼ 리눅스 커널(Kernel)✅ 리눅스 쉘 종류◼ Linux Shell 종류 별 특징✅ 쉘 스크립트(Shell Script)✅ 쉘 프롬프트(Shell Prompt)✅ 로그 파일 삭제 쉘 스크립트 ✅ crontab 설정하기 크론탭 설정을 진행 해 줍니다. 리눅스 스크립트는 리눅스…
셸 스크립트에서 변수란 단어가 가진 의미는 변할 수 있는( variable) 값이다. 또 상당수의 애플리케이션에서 변수가 이와 같은 의미로 사용되고 있다. 상수(constant)는 이름이 정의되고 값이 지정된다는 점은 변수와 같다. 하지만 그 값은 변하지 않는다는 점이 다르다. 쉘은 변수와 상수를 따로 구분하지 않는데 용어를 구분하는 이유는 쉘 이용자의 편의를 위해서이다. 목차✅ 쉘(Shell)이란?◼ 리눅스 커널(Kernel)✅ 리눅스…
목차✅ 쉘(Shell)이란?◼ 리눅스 커널(Kernel)✅ 리눅스 쉘 종류◼ Linux Shell 종류 별 특징✅ 쉘 스크립트(Shell Script)✅ 쉘 프롬프트(Shell Prompt)▥ 셸 스크립트란(shell script)? 1. 셸이란? 키보드에 입력한 명령어를 운영체제에 전달해서 전달한 명령어를 실행하게 하는 프로그램이다. 2. 셸 프롬프트 셸 프롬프트는 셸이 입력 가능한 상태일 때에만 나타난다. 달러 ($)는 일반 유저일 때, 해쉬 표시(#)는 터미널 세션이…
명령어를 길게 사용하다 보면 여러 명령어 줄을 넘겨서 입력하는 경우가 발생합니다. 가독성을 높이기 위해 명령어를 문장 연결 하는 백슬래시(\)를 사용하여 셸 들여쓰기를 할 수 있습니다. 목차✅ 쉘(Shell)이란?◼ 리눅스 커널(Kernel)✅ 리눅스 쉘 종류◼ Linux Shell 종류 별 특징✅ 쉘 스크립트(Shell Script)✅ 쉘 프롬프트(Shell Prompt)1. 셸 들여쓰기: 백슬래시(\) 백슬래시-라인피드 문자열이며 LF(Line Feed)는 커서를 한칸 아래로…