
2024-10-29 TUE
1. 셸, 커널

- 내가 셸에 'date'라는 명령어를 입력하면
- 셸이 'date'라는 명령어를 찾아서
- 리눅스 커널에 실행을 의뢰!
- 리눅스 커널이 명령어를 실행하면
- 셸은 그 결과를 전달받아서 출력
이런 매커니즘~!
🤔 왜 셸과 커널을 분리 해놨을까?
- 분리되어 있으면 커널을 바꾸지 않고 셸만 바꾸기가 가능해짐!
- 다른 OS 사용시 셸만 이식해서 사용가능
- 본체인 리눅스 커널에 높은 부하 발생시 미치는 영향을 최소화 해서 보호할 수 있음~!
- 보통 한 프로그램에 너무 많은 기능을 넣지 않는 것이 리눅스의 기본 철학이기도 함!
셸에도 종류가 있는데요!
- sh : 오래됨, 대화형 bad
- csh : c셸 계열, 대화형 굿
- bash : sh 대체 가능, 기본으로 많이 사용중
- tsch : c셸 계열, 대화형 조작 굿, 셸 스크립트는 bad
- zsh : 최근 개발, bash + tcsh, 어려움
나는 bash셸 사용!
일시적으로 셸 종류 바꾸기!


❗ 하지만, 다시 돌아온게 아니라 중첩된 것임!

- 즉, bash → sh → bash 이렇게 된 것!
- 진짜로 빠져 나오려면 어떻게 해야 할까?!
exit 명령어 이용하기~!

- 첫번째 화살표는
bash → sh 이고,
두번째 화살표는 sh → bash 가 됩니다!
- 이렇게 하면 완전히 돌아 온것!
- 그렇다면 아예 처음부터 로그인셸을 바꾸려면 어떻게 해야 할까??
cshs 명령어 사용하기~!
2. 프롬프트

- 명령어 앞부분에 이부분을 프롬프트라고 함!
- 빨간색 밑줄은 '사용자 이름'
- 초록색 밑줄은 '호스트 이름;
- 일반 사용자는
~# 말고 ~$ 로 표기
~# 는 슈퍼사용자, 루트 사용자 라는 뜻!
3. 터미널
- 터미널은 컴퓨터의 입출력만을 담당하는 전용 하드웨어를 말함!
- 입력 장치인 키보드와 출력 장치인 모니터로 구성되어 있음
- 요즘에 말하는 터미널은 보통
터미널 에뮬레이터를 말함!
| 운영체제 | 터미널 에뮬레이터 |
|---|
| Windows | PuTTY, Tera Term |
| macOS X | terminal, iTem2 |
| Linux | GNOME Terminal, Konsole |
4. 로그인
1. WSL 사용자 추가하기
sudo adduser [사용자 이름]

- 나는 username: haeit, 비밀번호는 1234로 설정!

2. 기본 로그인 사용자 변경
wsl -u haeit

- root에서 exit 한 후에 위 명령어 입력해주면
- haeit으로 잘 들어갑니다~!
5. 단축키
Ctrl + a/e : 커서가 맨 앞/뒤로 이동
Ctrl + b/f : 커서가 뒤/앞으로 한칸씩 이동
Alt + b/f :커서가 한 단어 뒤/앞으로 이동
Ctrl + W : 한 단어 지우기
Ctrl + h : 한 글자 지우기
Ctrl + u : 복사
Ctrl + y : 붙여넣기
Ctrl + p/n : 바로 전/후 명령으로 이동
개꿀팁
- 이걸 왜 이제 알려주냐며....
Ctrl + a : 화면 표시 잠금, 표시만 잠금된거지 써지고 있는 중~!
Ctrl + q : 화면 표시 잠금 해제
6. 기본 명령어
🐧 date
root@DESKTOP-6EAFI8H:~

🐧 echo
root@DESKTOP-6EAFI8H:~

🐧 존재하지 않는 명령어
root@DESKTOP-6EAFI8H:~

haeit : 이라는 존재하지 않는 명령어를 입력시 'command not found'라고 뜹니다~!