TIL 9: Linux ๊ธฐ์ด
ํ๋ค์์ต๋๋ค... ๋ด์ฉ์ด ์์ํ ๊ฑด ๋์งธ์น๊ณ , ๋ ธํธ๋ถ์ด ๋ฒฝ๋์ด ๋์์์ด์ใ ใ ใ ์๋ฌด๋๋ ํฐ๋ฏธ๋๋ก ๋ฆฌ๋ ์ค ๊ณต๋ถํ๋ฉด์ sudo ์ด์ฉํ๋ฉด์ ์ปดํจํฐ๊ฐ ์๋ชป๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ ์ดํ๋ก ์ ์ ์์ด ์ด๊ธฐํํ๊ณ ๋ฐฑ์ ํด์ TIL์ด ๋ฐ๋ ธ๋ค์ HA... ๊ฐ์๊ธฐ ์ปดํจํฐ๊ฐ ์๋๋์ง ์์ ๊ฒ ํ์ดํ๋ก๊ทธ๋๋ฐ ์ค์ ๊ฐ์๊ธฐ ๋ฐ์ํ๋ ๊ฑฐ๋ผ ํ์ด๋ถ์๊ฒ๋ ๋๋ฌด ์ฃ์กํ์ต๋๋ค.. ๋คํํ ๋ณด์กฐ(?) ์ปดํจํฐ๊ฐ ์์ด์ ๊ทธ๊ฑธ๋ก ์งํํ๊ณ ํ์ด ๋ถ์ด ๋๋ผ์ด๋ฒ, ์ ๊ฐ ๋ค๋น๊ฒ์ดํฐ ์ญํ ์ ํ๋ฉด์ ์ ๋ง๋ฌด๋ฆฌ ํ ์ ์์์ต๋๋ค! ๋๋ฌด ๊ฐ์ฌํ์ด์ใ ใ ใ ๋ค ์ด์ ๋นจ๋ฆฌ ๋ค์ ๋ณธ๋ก ์ผ๋ก ๋์๊ฐ์ Linux ๊ธฐ์ด ์ ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!
์ฐ๋ฆฌ๋ ๋ณดํต ์ปดํจํฐ๋ฅผ ์กฐ์ํ ๋ ๋ง์ฐ์ค๋ฅผ ์์ง์ฌ ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋, ํค๋ณด๋๋ฅผ ์ด์ฉํด์ ํ์ดํ์ ํฉ๋๋ค. ํฐ ์ฅ์ ๋ฌผ ์์ด ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ปดํจํฐ๋ฅผ ์ด๋ ๊ฒ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ด์ ๋ ๋ฐ๋ก GUI ๋๋ถ์ ๋๋ค. ์ฌ๊ธฐ์ GUI๋ Graphical User Interface๋ก ๋ช ๋ น์ด๋ฅผ ํ๋ํ๋ ์ ๋ ฅํ๊ธฐ๋ณด๋ค๋ ๊ทธ๋ํฝ์ ์์๋ฅผ ์ด์ฉํด ํด๋ฆญ ํ๋ฒ์ผ๋ก ์๋๋ ์ ์๊ฒ ํด์ฃผ๋ ์ฅ์น๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ์ด์ ๋๋น๋๋ ๊ฑธ๋ก CLI๊ฐ ์๋๋ฐ์. CLI๋ Command-Line Interface๋ก ๋ช ๋ น์ด๋ฅผ ์ง์ ์ฐ๋ฆฌ๊ฐ ์ ๋ ฅํด์ ์ปดํจํฐ์ ์ํตํ๊ฒ ํด์ฃผ๋ ์ฅ์น๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋์ ์ํต์ ํ๊ธฐ ์ํด์๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ๋ช ๋ น์ด ๊ธฐ๋ฅ๋ค์ ๋ค ์๊ณ ์์ด์ผ๊ฒ ์ฃ . ์ด๋ ๊ฒ๋ง ๋ณด๋ฉด GUI๊ฐ ๋ ํธํ ๊ฒ ๊ฐ์๋ฐ ์ ๊ฐ๋ฐ์๋ค์ CLI๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฑธ๊น์? AWS (Amazon Web Service)๋ฅผ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. AWS๋ ํด๋ผ์ฐ๋ ์ปดํจํ ์๋น์ค๋ฅผ ์ ๊ณตํด์ฃผ๋ ๊ธฐ์ ์ผ๋ก์ ์ง์์ ์ผ๋ก ์ฑ์ฅํ์ฌ ์๋ง์ ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ์ธ์ ์ฐ๋ฆฌ์๊ฒ ํธ๋ฆฌํ ์๋น์ค๋ฅผ ์ ๊ณตํด์ฃผ๊ณ ์๋ ํ์ฌ์ ๋๋ค. ์ด ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์ AWS๋ ํ๋์ ๋ฐ์ดํฐ ์ผํฐ ์์ ์ต์ 5๋ง๊ฐ ์ด์์ ์๋ฒ ์ปดํจํฐ๊ฐ ์ค์น๋ฉ๋๋ค. ์ด ๋ง์ ์ปดํจํฐ๋ฅผ ์ผ์ผ์ด ์กฐ์ํ๋ ๊ฒ์ ๊ฐ๋ฅํ ์๋ ์๊ฒ ์ง๋ง ํจ์จ์ฑ์ด ๋๋ฌด ๋จ์ด์ง ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ด๋ CLI๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด์ฃ ! ๊ทธ๋ผ CLI๋ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์์๊น์? ํฐ๋ฏธ๋์ ํตํด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋์ ํฐ๋ฏธ๋ ๋ช ๋ น์ด์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค (:
ํฐ๋ฏธ๋ ๋ช ๋ น์ด
- pwd: ํ์ฌ ์์น๋ฅผ ํ์ธํ๋ ๋ช ๋ น์ด
- mkdir: ์๋ก์ด ํด๋๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด
- ls: ํด๋๋ ํ์ผ์ ๋ชฉ๋ก์ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด
- open: ํ์ฌ ํด๋๋ฅผ ํ์ผ ํ์๊ธฐ๋ก ์ฌ๋ ๋ช ๋ น์ด
- cd: ํด๋์ ์ง์ ํ๋ ๋ช ๋ น์ด
- touch: ์๋ก์ด ํ์ผ์ ์์ฑํ๋ ๋ช ๋ น์ด
- cat: ํ์ผ์ ๋ด์ฉ์ ํฐ๋ฏธ๋์ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด
- rm: ํด๋๋ ํ์ผ์ ์ญ์ ํ๋ ๋ช ๋ น์ด
- mv: ํด๋๋ ํ์ผ์ ์์น๋ฅผ ์ด๋ํ๊ฑฐ๋, ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด
- cp: ํด๋๋ ํ์ผ์ ๋ณต์ฌํ๋ ๋ช ๋ น์ด
- sudo: ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ช ๋ น์ด
๊ฐ์ธ์ ์ผ๋ก ์ ๋ ์ด๋ฒ์ ๊ณต๋ถํ๋ฉด์ pwd, ls, cd๋ฅผ ์ ์ผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์์! ๋ด๊ฐ ์ง๊ธ ์ด๋ ํด๋์ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ์๋ชป๋ ํด๋์ ์๋ค๋ฉด ์ด๋๋ก ์ด๋ํด์ผ ํ ์ง ๊ทธ๋ด ๋๋ง๋ค ์ ์ธ๊ฐ๋ฅผ ๋ง์ด ์ผ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ผ ๋ง์ง๋ง์ ์๋ sudo... ์ ๊ฑฐ ์ฐ์ค ๋๋ ์กฐ์ฌํ๋ฉด์ ์ฐ์ธ์.. ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์ปดํจํฐ๋ฅผ ๋ค์ด์ํฌ ์๋ ์๋ค๋ ๊ฑฐ ๋ชธ์ ์ฒดํํ์ต๋๋ค ^__^
์ฐธ๊ณ ๋ก AWS ํ๊ฒฝ๊ณผ ๊ฐ์ด ์๊ฒฉ ์๋ฒ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์์ฑํด์ผ ํ ๋๊ฐ ์์ ๊ฒ๋๋ค. ๊ทธ๋ด ๋ CLI ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์์ฑํด์ผ ํ ํ ๋ฐ ํ ์คํธ ์๋ํฐ nano๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํจํค์ง์ ํจํค์ง ๋งค๋์
๋ฆฌ๋ ์ค๋ ๋จ์ํ ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ฅผ ์๋ค๊ณ ํด์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด ์๋๋๋ค. ์๋ํ๋ฉด ํจํค์ง์ ํจํค์ง ๋งค๋์ ๋ผ๋ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์ธ๋ฐ์. ์ฌ๊ธฐ์ ํจํค์ง๋ ์ฌ๋ฌ ํ์ผ์ด ๋ด๊ฒจ์๋ ํ๋์ ์์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํจํค์ง ๋งค๋์ ๋ ํจํค์ง์ ์ค์น, ๋ณ๊ฒฝ, ์ญ์ ๋ฑ ๊ด๋ฆฌ๋ฅผ ํธ๋ฆฌํ๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค. MacOS์์์ ํจํค์ง ๋งค๋์ ๋ก๋ brew๋ผ๋ ๊ฒ์ด ์๋๋ฐ ์ค์นํ์๋ฉด ์์ brew๋ฅผ ๋ถ์ด๋ฉด ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค.
- brew update: ํจํค์ง์ ์ ๋ฐ์ดํธ ์ฌ๋ถ ํ์ธ
- brew outdated: ์ ๋ฐ์ดํธ ํ์ํ ํ์ผ ์กฐํ
- brew upgrade: ํ๋ก๊ทธ๋จ ์ ๊ทธ๋ ์ด๋
- brew info: ํ๋ก๊ทธ๋จ์ ์ ๋ณด ํ์ธ
- brew install: ํ๋ก๊ทธ๋จ ์ค์น
- brew list: ์ค์น๋ ํ๋ก๊ทธ๋จ ๋ชฉ๋ก ๋ณด๊ธฐ
- brew uninstall: ํ๋ก๊ทธ๋จ ์ญ์
๋ฐํ์์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ์ ๋๋ค. ๋ฐํ์ ์ด๋ ์ด๋ค ํ๋ก๊ทธ๋จ์ด ๋์ํ ๋, ํ๋ก๊ทธ๋จ์ด ๋์ํ๋ ๊ณณ์ ๋๋ค. JavaScript์ ์ค๋ฆฌ์ง๋ ๋ฐํ์์ ๋ธ๋ผ์ฐ์ ์ธ๋ฐ์. ์ฌ๊ธฐ์ ๋ํด ์๋ก์ด ๋ฐํ์์ด ์๊ฒผ์ต๋๋ค. node.js๋ผ๋ ํ๊ฒฝ์ด์ฃ . ๋ฐ๋ผ์ ์น๋ธ๋ผ์ฐ์ ์์๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ํ๊ฒฝ์์๋ JavaScript๋ฅผ ๊ตฌ๋ํ ์ ์๊ฒ ๋์์ต๋๋ค. node.js๋ brew์ ๊ฐ์ด ํฐ๋ฏธ๋์ ์๋ก ์ค์นํด์ผ ํฉ๋๋ค. node.js๋ ์ง์์ ์ผ๋ก ๊ฐ์ ์ด ๋ ํ ๋ฐ์. ์ด ๋ ๋ฒ์ ์ ๊ด๋ฆฌํ ์ ์๋๋ก ํจํค์ง ๋งค๋์ ์ ๊ฐ์ nvm(node version manager)๋ก ์ค์นํฉ๋๋ค.
npm (node package manager)์ Node.js ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ํธ๋ฆฌํ๊ฒ ์ค์น, ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ๋ฅผ ํด ์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค.
๋๋ ํ ๋ฆฌ ์ข ๋ฅ
- /: ๋ฃจํธ ๋๋ ํ ๋ฆฌ - ๋ฆฌ๋ ์ค ํ์ผ์ฒด์ ์ ์ต์์ ๋๋ ํ ๋ฆฌ๋ค์ ์์์ ์ ๋ํ๋.
- ~: ํ ๋๋ ํ ๋ฆฌ - ํ๋๋ ํ ๋ฆฌ๊ฐ ์๋๋ผ ๊ทธ ์๋์ ์๋ ์ฌ์ฉ์์ ํ๋ํ ํ ๋ฆฌ๋ฅผ ๋งํจ.
๋๋ ํ ๋ฆฌ์ ๊ด๋ จํด์ ๋ ๊ฐ์ง ๊ฒฝ๋ก๋ฅผ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
- ์ ๋ ๊ฒฝ๋ก: ๊ธฐ์ค์ ์ผ๋ก๋ถํฐ์ ์ ๋์ ์ธ ์์น
- ์๋ ๊ฒฝ๋ก: ํน์ ํด๋ ๋๋ ํ์ผ์ ์์น๋ฅผ ํ์ฌ ์์น๋ฅผ ๊ธฐ์ค์ ์ผ๋ก ๋ํ๋ ๋๋ค. ํ์ฌ ์์นํ ํด๋๋ ์ (.)์ผ๋ก ํํํ๊ณ , ์์ ํด๋๋ ๋ ๊ฐ์ ์ (..)์ผ๋ก ํํํฉ๋๋ค.