들어가기에 앞에 이전에 "쉘"이라 주로 썼었는 데, 사실 "셸"이라는 표기법이 맞다고 한다.
1. 셸
1) 셸이란
2) 셸의 역사
3) 현재 셸을 확인하기
4) 지원하는 sheel확인

5) 셸 변경은 chsh -s
6) 특정 사용자의 셸 확인
cat /etc/passwd | grep 이름 으로 확인할 수 있다.
⚠️⁉️ passwd는 뭐가 작성돼 있나?
7) 로그인 셸, 비로그인 셸, 인터렉티브셸, 비인터렉티브셸
ㄱ) 로그인 셸 이란 "사용자가 id,passwd를 입력 후 셸에 진입하는 방식"을 의미.
ㄴ) 비로그인 셸 이란 "말 그래도 로그인 없이 셸을 실행하는 것을 의미"
추가적으로 이미 로그인을 해도 bash명령어를 사용해, 셸을 다시 실행하거나 or x윈도우에서 터미널을 실행하는 것도 이에 해당함.
ㄷ) 인터렉티브 셸 이란 "사용자가 대화형으로 셸을 통해 명령을 입력 -> 결과를 받을 수 있는 상태의 셸"을 의미
ㄹ) 비인터렉티브 셸 이란 "셸 스크립트에서 셸을 실행하는 경우"를 의미.
8) 셸의 기능
ㄱ. 자동완성(tab)
ㄴ. history
ㄷ. alias
ㄹ. 셸 키보드 단축키
ㅁ. 명령어 치환의 기능(역따옴표 혹은 $를 사용)
ㅂ. 표준 입출력 기능
ㅅ. 리다이렉션 기능( >, >>, <, << ) : 입출력 재지정 기능
ㅇ. 파이프 기능 ( | )
ㅈ. 그룹 명령 기능
ㅊ) 작업 제어기능(fg,bg,stopped)
ㅋ) 산술 논리 제어 기능(expr 명령어를 사용)
ㅌ) 프롬프트 제어 기능
ㅍ) 확장된 내부 명령어
9) 셸 프로그래밍
ㄱ) 셸 프로그래밍이란 "특정 목적을 달성하기 위한 셸 스크립트를 작성하는 활동"을 의미하며, "셸 스크립팅"이라 부르기도 한다.
ㄴ) ㄱ을 간단히 요약하면 "셸의 여러 명령어를 작성한 파일"
ㄷ) 형식 : 첫 줄에 "#!"를 붙여 "나 스크립트 파일이다"를 알림
ㄹ) 실행 방법: 현재 쉘에서 바로 실행하는 것과 별도의 프로세스로 실행하기