
date : 현재 날짜와 시간 출력echo Hello : print와 비슷하다.date 명령어 실행 시
1. 셸 : 키보드로 입력한 date 문자열을 받아들임
2. 셸 : date 명령어를 찾아 커널에게 실행 요청
3. 커널 : 발견한 명령어를 실행
4. 셸 : 실행한 결과로 얻은 문자열을 화면에 표시
커널 : 운영 체제의 중심에서 CPU나 메모리 같은 하드웨어를 관리하며 명령어를 실행하고 프로세스를 관리한다.
셸 : 커널과 사용자의 인터페이스

셸과 커널이 분리되어있는 이유
ldk@ldk-VirtualBox:~$ : 프롬프트
ldk : 사용자 이름ldk-VirtualBox : 호스트 이름로그인 셸 : 로그인 후 처음으로 시작되는 셸
echo $SHELL : 사용중인 로그인 셸을 확인하는 방법이다.
$ : 값을 참조한다.
SHELL : bash 라는 값을 갖는 변수
/bin/bash 가 로그인 셸이다. 기본값이다.
셸 스크립트 : 일련의 명령어 흐름을 기술한 파일
실행하고 싶은 명령어들을 미리 파일에 기록하고 그 파일을 셸에 넘겨주는 방식으로 명령을 수행할 수 있다.

today 가 20이면 “오늘은 20일입니다. 출근 일자를 확인해주세요” 출력
date +%d : 오늘 날짜 12를 출력함.
man date를 통해 date의 매뉴얼을 확인해보면 %d : day of month
sh : 표준 셸. 역사가 길다. 셸 스크립트 작성 시 일반적으로 사용한다. 리눅스 외 다른 os에서도 사용가능. 대화형 불편하고 로그인으로 거의 사용되지 않는다.
csh : 오래된 셸. c셸이라 불림. sh와 문법이 달라 스크립트에는 부적합하다.
bash : 기본 로그인 셸. sh와 호환성이 있어 sh그대로 사용 가능하다. 기본 로그인 셸로 쓰인다. 대화형에 편리하다. 스크립트 작성에도 적합하다.
tcsh : csh 에 이어 개발된 c셸 계열의 셸이다. 프롬프트 기호가 $이 아니라 %이다.
zsh : bash와 tcsh의 기능에 독자적인 기능이 추가되었다.
bash에서 sh 명령어 입력 시 : 본 셸 실행처음에 기본으로 bash 실행 중 sh 를 실행시킨다.
bash : bash 셸 실행이 상태에서 logout입력 시 로그아웃 불가능. 일반 셸에서는 불가능하다.
처음 로그인 셸에서만 logout이 가능하다.
exit : sh로 돌아간다.두 번 입력 시 bash로 돌아간다.
(로그인 셸)
bash→sh→bash
로그인 셸 자체를 변경하려면
chsh : change shell 을 사용한다. → 로그인이 안 되는 문제가 발생 할 수도 있다.
터미널 : 컴퓨터의 입출력만을 담당하는 전용 하드웨어
소프트웨어로 구현한 터미널 에뮬레이터를 사용한다.
원격 접속 시 푸티 등 터미널 에뮬레이터를 사용한다.
원격 접속 터미널에서 echo 입력 시 linux 서버에서 echo 실행하고 터미널에는 출력만 한다.
종류
터미널과 셸