๐ป CLI ํ๊ฒฝ ์์๋ณด๊ธฐ 250622 โ
๐ค ํฐ๋ฏธ๋์ด๋? โ
ํฐ๋ฏธ๋ (Terminal) โ
- ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ ํ ์คํธ ๊ธฐ๋ฐ์ผ๋ก ์ํตํ๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค(Command Line Interface, CLI)
- ์ฌ์ฉ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ํ์ผ ํ์, ํ๋ก๊ทธ๋จ ์คํ, ์์คํ ์ค์ ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์๋ค.
ํฐ๋ฏธ๋์ ์ ์ โ
- ํฐ๋ฏธ๋์ ์ฌ์ฉ์๊ฐ ํ ์คํธ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ์ ์๋ ํ๊ฒฝ์ผ๋ก, ์ ๋ ฅ๋ ๋ช ๋ น์ ์ด์์ฒด์ ์ ์(Shell)์ ํตํด ํด์๋๊ณ ์คํ๋๋ค. ์์ ์ฌ์ฉ์์ ์ด์์ฒด์ ์ ํต์ฌ์ธ ์ปค๋(Kernel) ์ฌ์ด์์ ๋ช ๋ น์ ์ค๊ณํ๋ ์ญํ ์ ํ๋ค.
- ํฐ๋ฏธ๋์์ ์ฌ์ฉ๋๋ ๋ช ๋ น์ด๋ ํ์ผ ๊ด๋ฆฌ, ํ๋ก์ธ์ค ์ ์ด, ๋คํธ์ํฌ ์ค์ ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์์ผ๋ฉฐ, ์์คํ ์์์ ๊น์ด ์ ๊ทผํ๊ณ ์ ๋ฐํ๊ฒ ์ ์ดํ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ด๋ค.
์(Shell)๊ณผ ์ปค๋(Kernel)
์(Shell)
- ์ ์: ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ช ๋ น์ด๋ฅผ ํด์ํ๊ณ , ์ด๋ฅผ ์ปค๋์ ์ ๋ฌํ๋ ํ๋ก๊ทธ๋จ
- ๊ธฐ๋ฅ:
- ๋ช ๋ น์ด ํด์ (Command parsing)
- ๋ช ๋ น ์คํ (Execute or forward to kernel)
- ์ ๋ ฅ/์ถ๋ ฅ ์ฒ๋ฆฌ
- ์คํฌ๋ฆฝํธ ์คํ (์ ์คํฌ๋ฆฝํธ)
- ์ข ๋ฅ: Bash, Zsh, Fish, Ksh ๋ฑ
์ปค๋(Kernel)
- ์ ์: ์ปค๋์ ์ด์์ฒด์ ์ ํต์ฌ(Core)์ผ๋ก, ํ๋์จ์ด์ ์ง์ ์ํตํ๋ฉฐ ์์คํ ์ ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ์ปดํจํฐ์ ๋์ด์ ์ค์๊ด๋ฆฌ์
- ๊ธฐ๋ฅ:
- ํ๋์จ์ด ์ ์ด (CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ๋ฑ)
- ํ๋ก์ธ์ค ๊ด๋ฆฌ (ํ๋ก๊ทธ๋จ ์คํ๊ณผ ์ ํ)
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ (์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น)
- ํ์ผ ์์คํ ๊ด๋ฆฌ
- ์ ์ถ๋ ฅ(I/O) ๊ด๋ฆฌ
์๋ํ๋ฆ
- ์ฌ์ฉ์๊ฐ ํฐ๋ฏธ๋์ ๋ช ๋ น์ด ์ ๋ ฅ
- ์์ด ๋ช ๋ น์ด๋ฅผ ํด์ํ๊ณ ์ปค๋์ ์์ฒญ
- ์ปค๋์ด ํ๋์จ์ด์ ๋ช ๋ น์ ๋ด๋ ค ์คํ
CLI vs GUI โ
CLI (Command Line Interface) โ
- ํ ์คํธ ๊ธฐ๋ฐ ๋ช ๋ น์ด ์ธํฐํ์ด์ค๋ก, ์ฌ์ฉ์๊ฐ ํค๋ณด๋๋ก ๋ช ๋ น์ด๋ฅผ ์ง์ ์ ๋ ฅํด ์์คํ ์ ์ ์ดํ๋ค.
- ๋ช ๋ น์ด ์ ๋ ฅ ๊ฒฐ๊ณผ๋ ํ ์คํธ ํํ๋ก ์ถ๋ ฅ๋๋ฉฐ, ๋ณต์กํ ์์ ์ด๋ ๋ฐ๋ณต์ ์ธ ์์ ์ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
GUI (Graphical User Interface) โ
- ๋ง์ฐ์ค ๋ฑ์ ํฌ์ธํ ์ฅ์น๋ฅผ ์ฌ์ฉํด ์์ด์ฝ, ๋ฒํผ, ์ฐฝ ๋ฑ ์๊ฐ์ ์์๋ฅผ ํด๋ฆญํ์ฌ ์์คํ ์ ์ ์ดํ๋ ๋ฐฉ์์ด๋ค.
- ์ฌ์ฉ์๋ ๋ณต์กํ ๋ช ๋ น์ด๋ฅผ ๋ชฐ๋ผ๋ ์ง๊ด์ ์ธ ์กฐ์์ด ๊ฐ๋ฅํ์ฌ ์ด๋ณด์์๊ฒ ์น์ํ๋ค.
- ํ์ง๋ง, ์๋ํ๋ ๋๊ท๋ชจ ์์คํ ๊ด๋ฆฌ์๋ CLI์ ๋นํด ์ ํ์ ์ผ ์ ์๋ค.
CLI๋ฅผ ๋ฐฐ์์ผ ํ๋ ์ด์ โ
- ๋ค์ํ ๊ฐ๋ฐ ๋๊ตฌ์ ํ๋ ์์ํฌ๊ฐ CLI ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค.
- ์๋ฒ ๊ด๋ฆฌ๋ ๋๋ถ๋ถ CLI ํ๊ฒฝ์์ ์ด๋ฃจ์ด์ง๋ค.
- ์๋ํ์ ๋ฐ๋ณต ์์ ์ ํ์ํ๋ค.
- ๊ฐ๋ณ๊ณ ๋น ๋ฅด๋ฉฐ ๋ฆฌ์์ค ์๋ชจ๊ฐ ์ ๋ค.
- ๋ช ๋ น์ด ์กฐํฉ์ ํตํด ์ ์ฐํ ์์ ํ๋ฆ์ ๋ง๋ ๋ค.
- GUI๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ๊ณผ ์ธ๋ถ ์ ์ด๊ฐ ๊ฐ๋ฅํ๋ค.
์ด์์ฒด์ ๋ณ ํฐ๋ฏธ๋ โ
MAC์์ ํฐ๋ฏธ๋ ์คํ ๋ฐฉ๋ฒ โ
์คํ๋ฐฉ๋ฒ
- ์ ํ ๋ฉ๋ด ๋๋ Finder์์ ์์ฉ ํ๋ก๊ทธ๋จ > ์ ํธ๋ฆฌํฐ > ํฐ๋ฏธ๋์ ์ฐพ์ ์คํ
- Command + Space๋ฅผ ๋๋ฌ Spotlight ๊ฒ์์ฐฝ์ "ํฐ๋ฏธ๋" ์ ๋ ฅ ํ ์คํ
ํน์ง
- ๊ธฐ๋ณธ ์์ Bash ๋๋ Zsh๋ฅผ ์ฌ์ฉ
- ์ ๋์ค ๊ธฐ๋ฐ์ผ๋ก ๋ฆฌ๋ ์ค์ ์ ์ฌํ ๋ช ๋ น์ด ํ๊ฒฝ ์ ๊ณต
- GUI ๊ธฐ๋ฐ์ธ MacOS์์๋ ํฐ๋ฏธ๋์ ํตํด ํจ์จ์ ์ธ ๋ช ๋ น์ด ์์ ๊ฐ๋ฅ
ํฐ๋ฏธ๋ ๊ธฐ์ด ๋ช ๋ น์ด โ
ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๊ด๋ฆฌ โ
ls
: ๋๋ ํ ๋ฆฌ ๋ด ํ์ผ๊ณผ ํด๋ ๋ชฉ๋ก ๋ณด๊ธฐcd
: ๋๋ ํ ๋ฆฌ ์ด๋mkdir
: ์ ๋๋ ํ ๋ฆฌ ์์ฑecho
: ํ ์คํธ๋ฅผ ํ์ผ๋ก ์ ์ฅ (ํ์ผ ์์ฑ ๋ฐ ๋ด์ฉ ์์ฑ)cp
: ํ์ผ ๋ณต์ฌrm
: ํ์ผ ์ญ์ (๋๋ ํ ๋ฆฌ ์ญ์ ์rm -r
)
ํ์ผ ๋ด์ฉ ๋ณด๊ธฐ ๋ฐ ํ ์คํธ ์ฒ๋ฆฌ โ
cat
: ํ์ผ ๋ด์ฉ์ ํฐ๋ฏธ๋์ ์ถ๋ ฅecho
: ํ ์คํธ ์ถ๋ ฅ
๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ ์ ๋ณด โ
pwd
: ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ ํ์clear
: ํฐ๋ฏธ๋ ํ๋ฉด ์ง์ฐ๊ธฐ
ํ๋ก์ธ์ค ๊ด๋ฆฌ โ
ps
: ํ์ฌ ์คํ์ค์ธ ํ๋ก์ธ์ค ๋ชฉ๋ก ๋ณด๊ธฐkill
: ํน์ ํ๋ก์ธ์ค ์ข ๋ฃ
๋คํธ์ํฌ ์์ โ
ping
: ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ํ ํ ์คํธ
ํ๊ฒฝ ๋ณ์ ๊ด๋ฆฌ โ
$PATH
: ์์คํ ๊ฒฝ๋ก ๋ณ์ ํ์ธexport
: ํ๊ฒฝ ๋ณ์ ์ค์