์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
Bash์์ ๋์ด์ด
Shell
1. ๊ฐ์[ํธ์ง]
์ด์ ์ฒด์ ์์ ์ปค๋๊ณผ ์ด์ฉ์ ์ฌ์ด์ ๋ผ์ด์ ์ด์ฉ์์ ๋ช
๋ น์ ํด์ํ๊ณ ๊ทธ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฟ๋ ค์ฃผ๋ ์์คํ
ํ๋ก๊ทธ๋จ. Shell์ ์ฌ์ ์ ์๋ฏธ์ธ ์กฐ๊ฐ/์๋ผ ๊ป๋ฐ๊ธฐ์์ ๋ฐ์จ ๋ง๋ก ๋ด๋ถ์ ์ปค๋์ด ์๊ณ ์ฌ์ฉ์๋ ์ด๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๊ป๋ฐ๊ธฐ๋ฅผ ํตํด ์ปค๋์ ์ ๊ทผํ๋ค๋ ๊ฐ๋
์ผ๋ก ์ปดํจํฐ ์ด์ฐฝ๊ธฐ์ธ 60๋
๋๋ถํฐ ์ฌ์ฉ๋ ๋จ์ด์ด๋ค.
์ ธ์ ํํ ๋ ์ข ๋ฅ๋ก ๊ตฌ๋ถํ๋๋ฐ, ๋ช ๋ น ์ค ์ ธ๊ณผ ๊ทธ๋ํฝ ์ ธ์ด๋ค. ์ ์๋ CLI์ด๊ณ ํ์๋ GUI๋ผ ๋ถ๋ฅธ๋ค. CLI๋ ๋๋๋ก CUI(character ๋๋ console user interface)๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
๊ทธ ์ธ์๋ ์ด ํ๊ฒฝ์ผ๋ก ์ ์ํ๋ ๋ณด์์ ์ ํ๋ก๊ทธ๋จ(SSH; Secure SHell)์ ์ผ์ปซ๋ ๋ง์ด๊ธฐ๋ ํ๋ค.
์ ธ์ ํํ ๋ ์ข ๋ฅ๋ก ๊ตฌ๋ถํ๋๋ฐ, ๋ช ๋ น ์ค ์ ธ๊ณผ ๊ทธ๋ํฝ ์ ธ์ด๋ค. ์ ์๋ CLI์ด๊ณ ํ์๋ GUI๋ผ ๋ถ๋ฅธ๋ค. CLI๋ ๋๋๋ก CUI(character ๋๋ console user interface)๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
๊ทธ ์ธ์๋ ์ด ํ๊ฒฝ์ผ๋ก ์ ์ํ๋ ๋ณด์์ ์ ํ๋ก๊ทธ๋จ(SSH; Secure SHell)์ ์ผ์ปซ๋ ๋ง์ด๊ธฐ๋ ํ๋ค.
2. ์ ๋์ค ๊ณ์ด ์ด์์ฒด์ ์ ์ ธ[ํธ์ง]
zsh์ oh-my-zsh๋ฅผ ์ ์ฉํ๊ณ agnoster ํ ๋ง๋ฅผ ์ฌ์ฉํ ๋ชจ์ต.
์ต์ด์ ์ ธ์ ๋ฒจ ์ฐ๊ตฌ์์์ ์คํฐ๋ธ ๋ณธ์ด ๊ฐ๋ฐํ ๋ณธ ์ ธ(Bourne shell, sh)์ด๋ฉฐ, ์ด๋ฅผ ๊ฐ์ ํ ๋ณธ ์ด๊ฒ์ธ ์ ธ(Bash), C์ ธ(csh), ์ฝ์ ธ(ksh), Z์ ธ(zsh) ๋ฑ์ด ๋ง๋ค์ด์ก๋ค.
์ต์ด์ ์ ธ์ด ์ธ์ ์ด๋์ ๋๊ตฌ์ ์ํด ๋ง๋ค์ด์ง ๋ฌด์์ธ๊ฐ์ ๋ํด์๋ ์ ์ ์์ผ๋, ๋ณธ๊ฒฉ์ ์ผ๋ก ์ต์ด์ ์ ธ๋ค์ด ์ ๋์ค ์ ธ๋ก ์๋ ค์ง ๊ฒ์ 1979๋ ๋ง V7 ์ ๋์ค(AT&T์ 7๋ฒ์งธ ์ ๋์ค)์ ํ์ฌ๋ ์ ธ์ด๋ค. ์ ์์์ธ Stephan Bourne์ ์ด๋ฆ์ ๋ฐ ๋ณธ์ ธ์ด๋ผ ๋ถ๋ฅด๋ฉฐ, Algol๋ก ์ง์ฌ์ ๋ค. ์ด ์ ธ์ ๋จ์ํ๊ณ ์๋๊ฐ ๋นจ๋์ผ๋, ์ด๋๊น์ง๋ ๊ท์คํ์ ์ปดํจํฐ๋์ ์์ ์ ์ธ๊ฐ์ด ๋๋ฆฌ๊ฒ ํ์ง ์๊ธฐ ์ํ ๋ชฉ์ ๋ง์ ๊ฐ์ง๊ณ ์์ด์, ๋๋จํ ๋ถ์น์ ํ๋ค. ์ฃผ๋ก ์์คํ ๊ด๋ฆฌ ์์ ์ ์๋ํ ์ด์ธ์ ์ผ์ ํ๊ธฐ๋ ๋๋จํ ์ธ๋ด์ฌ๊ณผ ์ปดํจํฐ๋์ ๋ํ ๋ณต์ข ์ฌ ์์ด๋ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํ์๋ค.
๊ทธ๋์ ์ฌ์ฉ์ ์นํ์ ์ผ๋ก ๋์จ ๊ฒ์ด ๋ฐ๋ก Bash์ด๋ค. ์์ ์ํํธ์จ์ด ์ฌ๋จ์ Brian Fox๊ฐ ๊ฐ๋ฐํ์์ผ๋ฉฐ, ์์ ์ํํธ์จ์ด ์ฌ๋จ์ ๋ฌผ๊ฑด๋ต๊ฒ ์ฃผ์ ๋ฆฌ๋ ์ค ์์คํ ์ ๊ธฐ๋ณธ ์ ธ๋ก ์ฐ์ด๊ณ ์๋ค. ์๋์ฐ 10์์๋ Fall Creaters Update ์ดํ ๋ฒ์ ๋ถํฐ WSL์ ํตํด Bash Shell์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๊ธฐ์กด์ Bash ๋ช ๋ น์ด๋ ๋ฌผ๋ก ์๋์ฐ ์์ญ๊ณผ์ ํต์ ๋ ๊ฐ๋ฅํ๋ค. ๋ฆฌ๋ ์ค๋ฅผ ๋ฉ์ธ์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ ์ ธ์ ๋ ๋ง์ ๊ธฐ๋ฅ์ด ํ์ํ ์ฌ๋๋ค์ zsh[1]๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ํธ์ด๋ค.
1970๋ ๋ ๋ง์๋ ๋ค๋ฅธ ์ ธ๋ค๋ ๋ฑ์ฅํ์๋๋ฐ, ์บ๋ฆฌํฌ๋์์ ๋ฒํด๋ฆฌ ๋ํ๊ต์ Bill Joy๊ฐ C์ธ์ด๋ก C์ ธ์ ๊ฐ๋ฐํ์๋ค. ๊ทธ๋ฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก C์ ธ์ ๋ํ ์ปดํจํฐ์ฉ์ด์์ผ๋ฉฐ, Bourne Shell๋ณด๋ค๋ ๋๋ ธ๊ธฐ ๋๋ฌธ์ ์๋ ์ธก๋ฉด์์ ๊ทธ๋ค์ง ์ข์ง ๋ชปํ ํ๊ฐ๋ฅผ ๋ฐ์๋ค.
AT&T์ David Korn์ 1988๋ ์ ๋์ค SVR4 ๋ฐฐํฌํ์ ์ฝ์ ธ์ ํ์ฌํ์ฌ ์ฒ์์ผ๋ก ๋ฐฐํฌํ๋ค. Paul Falsted๋ Z์ ธ์ ๋ง๋ค์๋ค.
2.1. ์ ธ ์คํฌ๋ฆฝํธ[ํธ์ง]
์ ๋์ค ๊ณ์ด ์ด์์ฒด์ ์ ๋ง์ ์
ธ๋ค์ด ์
ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด์์ฒด์ ์ ๋ช
๋ น๋ฟ๋ง ์๋๋ผ ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ ์คํํ์ฌ ๋ง์ ์์
์ ์๋ํ ํ ์ ์๋ค. GUI๊ฐ ๊ฐ ํ๋ก๊ทธ๋จ๋ค์ ์กฐํฉํ์ฌ ์๋ํ ํ๊ธฐ ๋งค์ฐ ํ๋ ๋ฐ ๋นํด CLI์ ์ฅ์ ์ด ๋น๋๋ ๋ถ๋ถ. ์ ๋์ค ๊ณ์ด์ ์ด์์ฒด์ ๋ ๋ณธ๋ ํ์ฅ์๋ฅผ ์๊ฒฉํ๊ฒ ๊ตฌ๋ถํ์ง ์๊ธฐ์ ํ์ฅ์๊ฐ ์๊ฑฐ๋ ๋ค๋ฅด๊ฒ ๋์ด ์๋ ์
ธ ์คํฌ๋ฆฝํธ ํ์ผ๋ ๋ง์ง๋ง, ๋ณดํต ์
ธ ์คํฌ๋ฆฝํธ์ ํ์ผ์ .sh๋ผ๋ ํ์ฅ์๋ฅผ ๊ฐ๋๋ค.
2.2. ์ฃผ์ ์ ธ ๋ชฉ๋ก[ํธ์ง]
3. ์๋์ฐ์ ์ ธ[ํธ์ง]
์๋์ฐ์๋ Windows ํ์๊ธฐ(EXPLORER.EXE)๋ผ๋ GUI ํ๊ฒฝ์ ์
ธ์ด ์๋ค. ์์
ํ์์ค๊ณผ ์์ ๋ฉ๋ด, ๋ฐํํ๋ฉด ๋ฐ ์์ด์ฝ, ํ์ผ ํ์๊ธฐ๋ฅผ ์ ๊ณตํ๋ค.
CLI ํ๊ฒฝ์ผ๋ก ๋ช ๋ น ํ๋กฌํํธ, ํ์์ ธ[2]์ด ์๋ค. ๋ํ ๋ฆฌ๋ ์ค ์๋ธ์์คํ ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ bash๋ฅผ ๊ฑฐ์ณ์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์ ์๋ฐํ๊ฒ ๋ฐ์ง๋ฉด bash๋ง์ด ๋ฆฌ๋ ์ค ์๋ธ์์คํ ์ ์ ์ผํ ์ ธ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ค๋ง ์ด๋ค์ ์ผ๋จ ์ด์์ฒด์ ๊ฐ ๊ธฐ๋๋๊ณ GUIํ๊ฒฝ์ ์ ธ(Windows ํ์๊ธฐ)๊ฐ ์คํ๋ ์ดํ ์ผ์ข ์ ์์ฉ ํ๋ก๊ทธ๋จ์ฒ๋ผ ์คํ๋๋ค. ์๋์ฐ 3.0๊ณผ 3.1์ ํ๋ก๊ทธ๋จ ๊ด๋ฆฌ์[3]๋ผ๋ ์ ธ์ ์ฌ์ฉํ๋ค. ์๋์ฐ 2.1๊น์ง๋ MS-DOS ์คํํ์ผ์ ์ฌ์ฉํ๋ค.
ํ์ฌ ์ฐจ๊ธฐ ์ ธ์ธ ์๋์ฐ ํฐ๋ฏธ๋์ด ์ถ์๋์๋ค.
CLI ํ๊ฒฝ์ผ๋ก ๋ช ๋ น ํ๋กฌํํธ, ํ์์ ธ[2]์ด ์๋ค. ๋ํ ๋ฆฌ๋ ์ค ์๋ธ์์คํ ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ bash๋ฅผ ๊ฑฐ์ณ์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์ ์๋ฐํ๊ฒ ๋ฐ์ง๋ฉด bash๋ง์ด ๋ฆฌ๋ ์ค ์๋ธ์์คํ ์ ์ ์ผํ ์ ธ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ค๋ง ์ด๋ค์ ์ผ๋จ ์ด์์ฒด์ ๊ฐ ๊ธฐ๋๋๊ณ GUIํ๊ฒฝ์ ์ ธ(Windows ํ์๊ธฐ)๊ฐ ์คํ๋ ์ดํ ์ผ์ข ์ ์์ฉ ํ๋ก๊ทธ๋จ์ฒ๋ผ ์คํ๋๋ค. ์๋์ฐ 3.0๊ณผ 3.1์ ํ๋ก๊ทธ๋จ ๊ด๋ฆฌ์[3]๋ผ๋ ์ ธ์ ์ฌ์ฉํ๋ค. ์๋์ฐ 2.1๊น์ง๋ MS-DOS ์คํํ์ผ์ ์ฌ์ฉํ๋ค.
ํ์ฌ ์ฐจ๊ธฐ ์ ธ์ธ ์๋์ฐ ํฐ๋ฏธ๋์ด ์ถ์๋์๋ค.
3.1. ๋ฐฐ์น ํ์ผ[ํธ์ง]
Batch File
์๋ ๋ช ๋ น ํ๋กฌํํธ๋ฅผ ์ํ ์คํฌ๋ฆฝํธ ์ธ์ด. GUI์ด๋ฏ๋ก ์๋ํ๊ฐ ๊ณค๋ํ Windows ํ์๊ธฐ๋ฅผ ๋์ ํ์ฌ CUI ํ๊ฒฝ์ธ ๋ช ๋ น ํ๋กฌํํธ์์ ์๋ํ ์์ ์ ์ํํ ์ ์๋๋ก ํด ์ค๋ค.[4]
ํ์ฅ์๋ MS-DOS ์์ ๋ถํฐ ๋ด๋ ค์ค๋ .bat๊ณผ ๋ช ๋ น ํ๋กฌํํธ ๊ณ ์ ์ .cmd๊ฐ ์๋ค. ์์ง๋ .bat ํ์ฅ์๊ฐ ๋๋ฆฌ ์ฐ์ธ๋ค.
์๋ ๋ช ๋ น ํ๋กฌํํธ๋ฅผ ์ํ ์คํฌ๋ฆฝํธ ์ธ์ด. GUI์ด๋ฏ๋ก ์๋ํ๊ฐ ๊ณค๋ํ Windows ํ์๊ธฐ๋ฅผ ๋์ ํ์ฌ CUI ํ๊ฒฝ์ธ ๋ช ๋ น ํ๋กฌํํธ์์ ์๋ํ ์์ ์ ์ํํ ์ ์๋๋ก ํด ์ค๋ค.[4]
ํ์ฅ์๋ MS-DOS ์์ ๋ถํฐ ๋ด๋ ค์ค๋ .bat๊ณผ ๋ช ๋ น ํ๋กฌํํธ ๊ณ ์ ์ .cmd๊ฐ ์๋ค. ์์ง๋ .bat ํ์ฅ์๊ฐ ๋๋ฆฌ ์ฐ์ธ๋ค.
4. ๊ธฐํ ์ด์์ฒด์ [ํธ์ง]
- MS-DOS - COMMAND.COM์ด ์ ธ ์ญํ ์ ์ํํ๋ค. ์๋์ฐ NT ๊ณ์ด์ ๋ช ๋ น ํ๋กฌํํธ(cmd.exe)๋ COMMAND.COM์ผ๋ก๋ถํฐ ๋ช ๋ น์ด ํ์์ ๋น๋กฏํ์ฌ ๋ง์ ๊ฒ์ ๋ฌผ๋ ค๋ฐ์๋ค. ๋จ, COMMAND.COM๊ณผ cmd.exe ์ฌ์ด์ ์ง์ ์ ์ธ ๊ด๋ จ์ ์๊ณ , ๋จ์ง ์ ์ ์ ์ธ ํ์์์ด๋ผ๊ณ ํ ์ ์๋ค. ์ฐธ๊ณ ๋ก ํ์ฌ cmd.exe๋ ํ์ ์ํํธ์จ์ด์ธ PowerShell๋ก ๋์ฒด๋๊ณ ์๋ค. MS-DOS 6.0๊น์ง๋ MS-DOS ์ ธ์ด๋ผ๋ ๊ทธ๋ํฝ ์ ธ๋ ์๋ค.