์๋ ํ์ธ์
์ค๋์ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ์ฐ์ตํด ๋ณผ ์ ์๋ ์ฌ์ดํธ ์๊ฐํด๋๋ฆด๊ฒ์
JS Linux์ ๋๋ค!
์ ๋ ์๋์ฐ๋ฅผ ์ฐ๋๋ฐ์.
์ด ์น์ฌ์ดํธ ์ด์ฉํ์๋ฉด ๋ธ๋ผ์ฐ์ ์์ Linux ํ๊ฒฝ์ ์คํํ ์ ์์ด์.
JS Linux๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ์ WebAssembly์ Emscripten ๊ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํด์ ๊ตฌํ๋ผ์. ์ฌ์ฉ์๋ ๋ณ๋์ ์ค์น ์์ด ๋ธ๋ผ์ฐ์ ์์ ๊ฐ๋ฒผ์ด Linux ํ๊ฒฝ์ ์ฒดํํด ๋ณผ ์ ์์ด์. ๊ฐ๋จํ๊ฒ ๋ฆฌ๋
์ค ๋ช
๋ น์ด ํ์ต ๋ชฉ์ ์ผ๋ก ํ์ฉํ๋๋ฐ ์ ์ฉํด์.
์๋จ์ ๋งํฌ ์ ์ํ์๋ฉด ์๋์ ๊ฐ์ ํ๊ฐ ํ๋ฉด์ ๋์ค๋๋ฐ, ์ ์ ์ธํฐํ์ด์ค๊ฐ Console๋ก ๋ Alpine Linux 3.12.0 ์ Startup link ํด๋ฆญํด์ฃผ์ธ์!
ํด๋ฆญํ์๋ฉด ํฐ๋ฏธ๋์ด ๋์ค๊ณ ๋ก๋ฉ์ด ๋ฉ๋๋ค.
์กฐ๊ธ ๋ ๊ธฐ๋ค๋ฆฌ์๋ฉด ์ด ์ํ์์ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ์ฒดํ์ด๋ ํ ์คํธ๋ฅผ ํด ๋ณผ ์ ์์ด์.
์ ๊ฐ ํ ๋ฒ ๊ฐ๋จํ๊ฒ ๋ช ๊ฐ์ง ํ ์คํธ ํ๊ฑฐ ์ฌ๋ฌ๋ถ๊ป ๋ณด์ฌ๋๋ฆด๊ฒ์~
์ด๋ ๊ฒ ํ๋ฉด์ ์ปค์๊ฐ ์ฐ๋์์ผ๋ก ๊น๋นก๊น๋นก ํ๋๋ฐ ์ฌ๊ธฐ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ ํด ์ฃผ์ธ์
โจ ๋๋ ํฐ๋ฆฌ (Directory)
๋ฆฌ๋ ์ค์ ๊ฐ์ ์ ๋์ค ๊ณ์ด ์ด์์ฒด์ ์์, ๋๋ ํ ๋ฆฌ๋ ํ์ผ ์์คํ ๋ด์์ ํ์ผ ์ ๊ทธ๋ฃนํํ๊ณ ๊ด๋ฆฌํ๋ ๋ ผ๋ฆฌ์ ์ธ ๋จ์
(๋๋ ํ ๋ฆฌ = ํด๋)
โจ pwd
= print working directory
ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ์์ ๋ ๊ฒฝ๋ก(absolute path) ์ถ๋ ฅ
โจ cd [๋๋ ํ ๋ฆฌ๊ฒฝ๋ก]
= change directory
ํ์ฌ ์์น ๋ณ๊ฒฝ
๋ฆฌ๋ ์ค์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
/ : ๋ฃจํธ ๋๋ ํ ๋ฆฌ (์ต์์ ๋๋ ํ ๋ฆฌ)
/home : ์ฌ์ฉ์ ํ ๋๋ ํ ๋ฆฌ (์: /home/user)
/root : ๋ฃจํธ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ
/bin : ๊ธฐ๋ณธ ๋ช
๋ น์ด๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ (์: ls, cp, mv ๋ฑ)
/etc : ์์คํ
์ค์ ํ์ผ๋ค์ด ์์นํ๋ ๋๋ ํ ๋ฆฌ
/var : ์์คํ
๋ก๊ทธ, ์บ์ ํ์ผ ๋ฑ
/tmp : ์์ ํ์ผ๋ค์ด ์ ์ฅ๋๋ ๋๋ ํ ๋ฆฌ
โจ ์ฐธ๊ณ ๋ก `Tab`ํค ๋๋ฅด๋ฉด ๋๋ ํ ๋ฆฌ๋ช ์๋์์ฑ ๊ฐ๋ฅ
โจcd ..
ํ์ฌ ์์ ์ค์ธ ๋๋ ํ ๋ฆฌ์์ ์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
/root ๋ ๋ฃจํธ ์ฌ์ฉ์์ ํ๋๋ ํ ๋ฆฌ๋ก ์ฌ๊ธฐ์ ์์๋ก ์ฌ๋ผ๊ฐ๋ฉด /
/๋ ๋ฃจํธ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธํ๋ฉฐ, ํ์ผ ์์คํ ์ ์ต์์ ๋๋ ํ ๋ฆฌ์ด๋ค.
Windows ์์คํ ์์์ C:\ , D:\ ์ ๊ฐ์ ์ญํ
โจ mkdir [๋๋ ํ ๋ฆฌ๋ช ] ๋๋ ํ ๋ฆฌ ๋ง๋๋ ๋ช ๋ น์ด
= make directory
โจ ls
ํ์ฌ ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก์ ์ถ๋ ฅ
ls๋ list์ ์ฝ์๋ก, ํ์ผ ์์คํ ๋ด์ ํ์ผ๊ณผ ํด๋๋ฅผ ๋์ด
ํด๋๋ช ์ ํ๋์ ์ผ๋ก ํ์๋๊ณ , ์ผ๋ฐ ํ์ผ์ ํฐ์ ๊ธ์จ๋ก ๋ํ๋จ.
โจtouch [ํ์ผ๋ช ]
๋น ํ์ผ์ ์์ฑํ๊ฑฐ๋, ๊ธฐ์กด ํ์ผ์ ์์ ์๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด
โจ cat [ํ์ผ๋ช ]
= concatenate
ํ์ผ์ ๋ด์ฉ์ ํ๋ฉด์ ํ์ํ๊ฑฐ๋, ์ฌ๋ฌ ํ์ผ์ ํฉ์ณ์ ์๋ก์ด ํ์ผ์ ๋ง๋๋ ๋ช
๋ น์ด
โจ vi [ํ์ผ๋ช ]
ํ์ผ์ ์ด๊ณ ํธ์งํ ์ ์๋ ํธ์ง์ฐฝ์ผ๋ก ์ด๋
vi๋ visual editor์ ์ฝ์๋ก ํ ์คํธ ํธ์ง๊ธฐ์ด๋ค.
๋ช ๋ น ๋ชจ๋์ ํธ์ง(์์ ) ๋ชจ๋๋ฅผ ํจ๊ป ์ ๊ณตํ์ฌ ํ ์คํธ ํ์ผ์ ํธ์งํ ์ ์๋ค.
vi [ํ์ผ๋ช ] ์ผ๋ก ์๋ํฐ๋ก ๋ค์ด์ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ช ๋ น๋ชจ๋ ์ํ๋ก ์์๋๋ค.
๋ช ๋ น๋ชจ๋๋ ํ์ผ์ ์ ์ฅํ๋ค๋ ์ง, ๋ด์ฉ์ ๊ฒ์ํ๋ค๋ ์ง ํ๋ ๋ช ๋ น์ด ์ ๋ ฅํ๋ ๋ชจ๋
์์ ๋ชจ๋๋ ์ค์ ๋ก ํ์ผ์ ์์ ํ๊ธฐ ์ํด ํ ์คํธ๋ฅผ ์ ๋ ฅํ๋ ๋ชจ๋
ํ์ฌ ๋ช ๋ น๋ชจ๋
โจ i
์์ ๋ชจ๋๋ก ์ง์ ํ๋ ๋ช ๋ น์ด
ํ ์คํธ๋ฅผ ์ ์ด๋ณด๊ธฐ
โจ Esc
๋ช ๋ น๋ชจ๋๋ก ์ง์ ํ๋ ๋ช ๋ น์ด
์์ ๋ชจ๋์ผ ๋๋ ์ปค์๊ฐ ๊ธ์ ๋ค์์ ์์น
๋ช ๋ น๋ชจ๋์ผ๋๋ ๋ง์ง๋ง ๊ธ์ ์์ ์์น
โจ ์ ์ฅํ๊ณ ์ข ๋ฃ :wq Enter
โจ ์ ์ฅ ์ํ๊ณ ์ข ๋ฃ :q! Enter
vi ์๋ํฐ๊ฐ ์ข ๋ฃ๋๋ฉด ๋ค์ ๋ช ๋ น์ด ์ ๋ ฅํ๋ ์ค์ด ๋ธ
๋ค์ cat ํ์ผ๋ช ๋๋ฌ์ ํ์ผ ์ด์ด๋ณด๋ฉด ํ ์คํธ๊ฐ ์ ์ฅ๋๊ฒ ๋ณด์ธ๋ค!
โจ ls๋ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ๋ง์ ๋์ดํ๊ณ ์จ๊ฒจ์ง ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ ํ์๋์ง ์๋๋ค. (ํ์ผ ์ด๋ฆ์ด .์ผ๋ก ์์ํ๋ ํ์ผ์ ์ ์ธ๋จ).
โจ ls -al๋ ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์๋ ๋ชจ๋ ํ์ผ์ ๋ํ ์์ธํ ์ ๋ณด๊ฐ ๋์จ๋ค.(์จ๊นํ์ผ ํฌํจ)
โจ rmdir [๋๋ ํ ๋ฆฌ๋ช ]
๋น์ด์์ง ์์ ํด๋๋ ์ง์์ง์ง ์์
โจ rm -r [๋๋ ํ ๋ฆฌ๋ช ]
๋๋ ํ ๋ฆฌ์ ๊ทธ ์์ ๋ชจ๋ ํ์ผ ๋ฐ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ๋ ๋ช ๋ น์ด
rm ๋ช ๋ น์ด๋ ํ์ผ์ ์ญ์ ํ ๋ ์ญ์ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ํ๋กฌํํธ๋ฅผ ๋์ด๋ค. ์๋ฅผ ๋ค์ด, rm์ผ๋ก ํ์ผ์ ์ญ์ ํ๋ ค๊ณ ํ ๋, ํ์ผ์ ์ ๋ง ์ญ์ ํ ๊ฒ์ธ์ง ๋ฌผ์ด๋ณด๊ณ , y๋ฅผ ์ ๋ ฅํด์ผ ์ญ์ ๊ฐ ์งํ๋๋ค.
์์ ๋ฌ๋ฆฌ f ์ต์ ์ ๋ถ์ด๋ฉด ๊ฒฝ๊ณ ๋ฉ์ธ์ง ์์ด ๊ฐ์ ์ญ์
โจ rm -rf ๋ช ๋ น์ด๋ ๊ฐ์ ๋ก ๋๋ ํ ๋ฆฌ์ ๊ทธ ์์ ๋ชจ๋ ํ์ผ ๋ฐ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ๋ ๋ช ๋ น์ด
-r: ๋๋ ํ ๋ฆฌ์ ๊ทธ ์์ ๋ชจ๋ ํ์ผ ๋ฐ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ญ์
-f: ์ญ์ ํ ๋ ๊ฒฝ๊ณ ์์ด ๊ฐ์ ๋ก ์ญ์