์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
ํ ์คํธ ํธ์ง๊ธฐ Vim
ํ์ผ ํ์๊ธฐ Midnight Commander
๋ฆฌ๋ ์ค ์ปค๋ ์ค์ ํ๋ก๊ทธ๋จ menuconfig. ๋ฆฌ๋ ์ค ์ปค๋์ ์ง์ ์ปดํ์ผํ์ง ์๋๋ค๋ฉด ๋ง์ฃผ์น ์ผ์ ์์ผ๋ฉฐ, GUI ํ๊ฒฝ์ ์ง์ํ๋ xconfig๋ ์๋ค.
1. ๊ฐ์[ํธ์ง]
ํ
์คํธ ๊ธฐ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(Text-based User Interface). CLI์๋ ๋ค๋ฅด๋ค. ๋ฌธ์๋ฅผ ์๋ฏธ์ ํํ ๋ฟ ์๋๋ผ ๋ ์ด์์์ ํํ์๋ ์ด์ฉํ๋, ์ผ์ข
์ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ด๋ค. ์ฝ๊ฒ ๋งํด CLI์ GUI์ ์ค๊ฐ ์ฑ๊ฒฉ์ ๊ฐ์ง ์ธํฐํ์ด์ค๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ค๊ฐ ์ฑ๊ฒฉ์ด๋ผ๊ณ ํ๋๋ฐ, ์ฌ์ค CLI์ ์ฅ์ ๋๋ถ๋ถ์ ๊ฐ์ ธ์ค๋ฉด์ GUI์ ๊ผญ ํ์ํ ์ฅ์ ๋ค๋ง ๊ณจ๋ผ๋ค ๋ง๋ ์ธํฐํ์ด์ค๋ผ๊ณ ๋ณด๋ฉด ๋๊ฒ ๋ค. TUI๊ฐ ๋๋๋ ์ด์ฐฝ๊ธฐ ๋๋ผ๋ฉด ๋ชฐ๋ผ๋ ์ง๊ธ ์ปดํจํ ํ๊ฒฝ์์ ๋ณดํต GUI์ ๋นํด TUI๊ฐ ์๋์ ์ผ๋ก ๊ฐ๋ฒผ์ด ๊ฒ์ ๋ฌผ๋ก ์ด๋ค. ๊ทธ ๊ฐ๋ฒผ์์ ์ปดํจํฐ์ ๊ฐํด์ง๋ ์ฐ์ฐ๋ ์์ฒด๋ ๋ฌผ๋ก [1], ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ํต์ฉ๋๋ ์ด์ผ๊ธฐ๋ผ ์ง๊ธ๋ ์๊ฒฉ ์ ์์ ํตํ ์์ ์ ํ ๋ vim/Emacs์๋ค (GNU)screen/tmux ์กฐํฉ์ TUI ํ๊ฒฝ์์ ์์ ํ๋ค. ํธ๋ํฝ์ด ์๋์ ์ผ๋ก ์ ์ด์ ์ฌ๋งํ ๋คํธ์ํฌ ํ๊ฒฝ์์ ์พ์ ํ๊ฒ ์์ ํ ์ ์๋ค.[2] ๋ฌผ๋ก ์ด๊ฑด CLI์ ์ฅ์ ์ธ๋ฐ, ๊ทธ๋ฌ๋ฉด์๋ GUI์ฒ๋ผ ๋ ์ด์์์ ํตํ์ฌ ์ผ๋ชฉ์์ฐํ๊ณ ์ง๊ด์ ์ธ ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค. ์์ vim ์คํฌ๋ฆฐ์ท์ ๋ณด๋ฉด ์ดํด๊ฐ ๋ ๊ฒ์ด๋ค. ํนํ TUI๋ผ๊ณ ๋ฐ์ ์ด ์ ๋ ๊ฑด ์ ๋ ์๋๋ผ์ ๋ ์ด์ ํฐ์ ๋ฌธ์ ํน์ ๋ น์ ๋ฌธ์ ์ผ๋ณ๋๊ฐ ์๋ ๋งจ ์ vim ์คํฌ๋ฆฐ์ท์ฒ๋ผ ์๋ก๋ฌ๋กํ ์์์ ์ง์ํ๊ณ ์ด๋ฅผ ํตํด ์์ ์ ํจ์จ์ ๋ ๋์ผ ์ ์๋ค. ๊ฑฐ๊ธฐ๋ค ์๊ฒฉ์ ์ํ ์์คํ ๊ณผ ๋ฐ์ฐฉ์ฑ๋ ์ข๋ค.[3]
์ด๋ ๊ฒ ๋งํ๋ฉด GUI๋ณด๋ค ํจ์ฌ ์ข์ ๋ณด์ด๊ฒ ์ง๋ง TUI์ ๋ช ๋ฐฑํ ํ๊ณ๊ฐ ์กด์ฌํ๋ค๋ ๊ฑด ์ด๋ฏธ ๋ค๋ค ์ง์ํ๊ณ ์์ ๊ฒ์ด๋ค. ์๋ฌด๋ฆฌ ๊ทธ๋๋ ์์ ํ ๊ทธ๋ํฝ ํ๊ฒฝ๊ณผ๋ ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค๋ ๊ฒ์ด๋ค. GUI์ ๊ผญ ํ์ํ ์ฅ์ ๋ค๋ง ๊ณจ๋๋ค๊ณ ํ๋๋ฐ, ๊ทธ๊ฒ ์ฝ๋ฉ์ด๋ ๊ณ ๊ธ ์์คํ ๊ด๋ฆฌ ๊ฐ์ ๊ฒ์ ๊ผญ ํ์ํ ์ฅ์ ์ด๊ณ , ์์ ํ (์ฆ ๋ํธ ๋จ์๊น์ง ๋ค๋ฃจ๋) ๊ทธ๋ํฝ ํ๊ฒฝ์ ๋น์ฐํ ๋ถํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ํ๊ฒฝ์์ ๋น์ฐํ ์ฌ์ง์ด๋ ๊ทธ๋ฆผ, ๋์์ ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด๋ ๊ฟ๋ ๋ชป ๊พผ๋ค.[4][5] ๋น์ฐํ ๊ฒ์์ด๋ ์น ์ํ๋ ๊ต์ฅํ ์ ํ์ ์ด๋ค. ๋จ์ ์ธ ์๋ก ์๋์ w3m์ ์๊ฐํด ๋ณด์. ๋ฌผ๋ก ํฌํ ์ต ๊ฐ์ ๊ทธ๋ํฝ ์์ ์ ๋งํ ๊ฒ๋ ์์ ๊ฒ์ด๋ค. ๋ค๋ง ์ด๋ ๊ฒ ํ๊ณ๋ก ์ ์ํ ๊ฒ๋ค์ ์ฌ์ค TUI๊ฐ ํ์ํ ๋งํ ์์ญ๊ณผ ์ ์ด๋ถํฐ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค. ๋ฐ๋๋ก TUI์ ๊ฐ์ ๋ค์ ์ฌ์ค ๋จ์ผ ํด๋ผ์ด์ธํธ ์์ ๋ฉํฐ๋ฏธ๋์ด ํ๊ฒฝ์์ ์ ๊ฒฝ์ธ ๋งํ ์ฌํญ์ด ์๋๋ค. ์ฆ ์๋ก ์ ์ปค๋ฒํ๋ ์์ญ์ด ๋ค๋ฅด๊ณ ์ด๋ ํ ์ชฝ์ด ๋ฐ๋ ์ชฝ ์์ญ๊น์ง ๋ค ์ปค๋ฒํ๋ ๊ฒ ํ๋ค๊ฑฐ๋ ๊ทธ๋ด ํ์๊ฐ ์์ ๋ฟ์ด๋ค.[6] ๋ฐ๋ผ์ ์ด๋ ํ ์ชฝ์ด ์ฐ์ํ๋ค๋๋ ๋ ผํ๋ ๊ฑด ๋ณ ์๋ฏธ ์๋ค.
TUI์ ๋จ์ ์ ๋ ๊ผฝ์๋ฉด, CLI์ GUI์ ์ค๊ฐ ์ฑ๊ฒฉ์ด๋ผ๋ ๊ฒ TUI ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๋ ์ ์ฉ๋๋ค๋ ๊ฒ์ด๋ค. GUI ํ๋ก๊ทธ๋จ์ ์ง๋ ๊ฒ๋ณด๋จ ๋ ๋๊ฐํ๊ฒ ์ง๋ง CLI ํ๋ก๊ทธ๋จ๋ณด๋ค ๋ ๋ณต์กํ ๊ฑด ๋น์ฐํ ์ผ์ด๊ฒ ๋ค. ๋ฌผ๋ก TUI ์งค ๋๋ GUI ์งค ๋๋ ์ ์ด๋ถํฐ ์ฌ์ฉ์์ ํธ์์ฑ์ ๊ณ ๋ คํ๋ฉด ๊ณ ๋ คํ ์๋ก ํ๋ก๊ทธ๋๋ฐ ํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋ค๋ ์ฌ์ค์ด ๋๊ฐ์ด ์ ์ฉ๋๋ ๊ฒ์ผ ๋ฟ์ด๊ฒ ์ง๋ง. ๋จ์ ์ด๋ผ๊ธฐ๋ณด๋จ ์ฝ๊ฐ ์ฌ๋ด์ด๊ฒ ์ง๋ง ์ฌ์ฉํ๋ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋ง์ด ํ ์ ์๋ค. ์ฌ์ค ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ ๊ต์ฅํ ๋ง์ผ๋ฉฐ ์ด๋ค์ด ์ง์ํ๋ ๊ฒ๋ ์ ๊ฐ๊ฐ์ด๋ค. xterm(-color256)์ด ์ฌ์ค ์ ํ์ค์ด๊ธด ํ๋ฐ ์์์ ์ง์ํ์ง ์๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฐ๊ฒ ๋๋ฉด ์ต์ ์ TUI ํ๊ฒฝ์ด ๋ณด์ฌ์ฃผ๋ ๊ฐ์ ๋ค ์๋น์๊ฐ ํฌ์๋ ๊ฒ์ด๋ค. ๊ฒ๋ค๊ฐ ์์์ ์ง์ํ๋ ์๋ฎฌ๋ ์ดํฐ๋ค๋ ์์ ์ (set)์ด ์ ๊ฐ๊ฐ์ธ ๊ฒ์ด ๋๋ฆ ๋ฌธ์ ์ผ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด iTerm2์์ ์ด์๊ฒ ์ค์ ํ ์์ ์ค์ ์ ๋ค๋ฅธ ์๋ฎฌ๋ ์ดํฐ์์ ๋๋ฆฌ๋ฉด ๋๋ฌ์ด(...) ์์์ผ๋ก ํํ๋ ์๋ ์๋ค.
๋ ์ด์์์ ํํ์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์๋ฅผ ์ด์ฉํ๊ธฐ๋ ํ์ง๋ง, Extended ASCII์ ์ด๋ฏธ ๋ ์ด์์์ ํํ์ ์ํ ๋ธ๋ก, ์ ๋ฑ์ด ์ค๋น๋์ด ์๋ค. ASCII Table ์์ฆ์๋ ์ ๋์ฝ๋๋ฅผ ์ด์ฉํ๊ธด ํ์ง๋ง ๋์ ์ ์์ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ์์ ์ฌ์ฉ๋๋ ํฐํธ ์์ฒด๋ฅผ ๋ฐ๊ฟ์ ๋ ์ด์์์ ํ์ํ ๋ฌธ์๋ค์ ๋ง๋ จํ ์ ์๋ค. Powerline font๋ฅผ zsh๊ณผ[7] vim, tmux์์ ์ฐ๋ ๊ฒ์ด ๋ํ์ ์ผ๋ก, ์ ์ ํ ์์ ์ธํ ๊ณผ ๋๋ถ์ด ์๋นํ ๋ฏธ๋ คํ ํ๊ฒฝ์ ์ ๊ณตํด ์ค๋ค.
์ ๋์ฝ๋ ์ด์ ์๋ ์๋ฌธ ์ด์ธ์ ์ธ์ด์ ์์๋ ๊นจ์ ธ ๋์ค๋ ์ผ์ด ๋ง์๋ค. ๋ค๋ฅธ ์ธ์ด์ ์์๋ ์๊ตญ์ด ํํ์ ์ํด ์ด ์์ญ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ. ๋น์ฅ 1990๋ ๋์ ํ๊ธ DOS์์ Mdir์ ๊ตฌ๋์ํค๋ฉด ์ ์ด ๋ชจ๋ ์ด์ํ ๋ฌธ์์ณ์ปด์ปด์ปด์ปด์ปด์ปด์บ๋ก ๊นจ์ ธ ๋์๋๋ฐ, ์์ฑํ ์ฝ๋๊ฐ ์์คํค ์ฝ๋์ ์ด ์์ญ์ ์ฌ์ฉํ์ฌ 2๋ฐ์ดํธ๋ก ํ์ฅํ์ฌ ์ฌ์ฉํ๋ ๊ตฌ์กฐ์๊ธฐ ๋๋ฌธ์ ์ถฉ๋์ด ์ผ์ด๋๋ ๊ฒ์ด๋ค. ์ ๋์ฝ๋๊ฐ ์ผ๋ฐํ๋ ์ง๊ธ์ ์์ ๋ค๋ฅธ ์์ญ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ผ์ ๊ฑฐ์ ์๋ค.
์ค๊ฐ ์ฑ๊ฒฉ์ด๋ผ๊ณ ํ๋๋ฐ, ์ฌ์ค CLI์ ์ฅ์ ๋๋ถ๋ถ์ ๊ฐ์ ธ์ค๋ฉด์ GUI์ ๊ผญ ํ์ํ ์ฅ์ ๋ค๋ง ๊ณจ๋ผ๋ค ๋ง๋ ์ธํฐํ์ด์ค๋ผ๊ณ ๋ณด๋ฉด ๋๊ฒ ๋ค. TUI๊ฐ ๋๋๋ ์ด์ฐฝ๊ธฐ ๋๋ผ๋ฉด ๋ชฐ๋ผ๋ ์ง๊ธ ์ปดํจํ ํ๊ฒฝ์์ ๋ณดํต GUI์ ๋นํด TUI๊ฐ ์๋์ ์ผ๋ก ๊ฐ๋ฒผ์ด ๊ฒ์ ๋ฌผ๋ก ์ด๋ค. ๊ทธ ๊ฐ๋ฒผ์์ ์ปดํจํฐ์ ๊ฐํด์ง๋ ์ฐ์ฐ๋ ์์ฒด๋ ๋ฌผ๋ก [1], ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ํต์ฉ๋๋ ์ด์ผ๊ธฐ๋ผ ์ง๊ธ๋ ์๊ฒฉ ์ ์์ ํตํ ์์ ์ ํ ๋ vim/Emacs์๋ค (GNU)screen/tmux ์กฐํฉ์ TUI ํ๊ฒฝ์์ ์์ ํ๋ค. ํธ๋ํฝ์ด ์๋์ ์ผ๋ก ์ ์ด์ ์ฌ๋งํ ๋คํธ์ํฌ ํ๊ฒฝ์์ ์พ์ ํ๊ฒ ์์ ํ ์ ์๋ค.[2] ๋ฌผ๋ก ์ด๊ฑด CLI์ ์ฅ์ ์ธ๋ฐ, ๊ทธ๋ฌ๋ฉด์๋ GUI์ฒ๋ผ ๋ ์ด์์์ ํตํ์ฌ ์ผ๋ชฉ์์ฐํ๊ณ ์ง๊ด์ ์ธ ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค. ์์ vim ์คํฌ๋ฆฐ์ท์ ๋ณด๋ฉด ์ดํด๊ฐ ๋ ๊ฒ์ด๋ค. ํนํ TUI๋ผ๊ณ ๋ฐ์ ์ด ์ ๋ ๊ฑด ์ ๋ ์๋๋ผ์ ๋ ์ด์ ํฐ์ ๋ฌธ์ ํน์ ๋ น์ ๋ฌธ์ ์ผ๋ณ๋๊ฐ ์๋ ๋งจ ์ vim ์คํฌ๋ฆฐ์ท์ฒ๋ผ ์๋ก๋ฌ๋กํ ์์์ ์ง์ํ๊ณ ์ด๋ฅผ ํตํด ์์ ์ ํจ์จ์ ๋ ๋์ผ ์ ์๋ค. ๊ฑฐ๊ธฐ๋ค ์๊ฒฉ์ ์ํ ์์คํ ๊ณผ ๋ฐ์ฐฉ์ฑ๋ ์ข๋ค.[3]
์ด๋ ๊ฒ ๋งํ๋ฉด GUI๋ณด๋ค ํจ์ฌ ์ข์ ๋ณด์ด๊ฒ ์ง๋ง TUI์ ๋ช ๋ฐฑํ ํ๊ณ๊ฐ ์กด์ฌํ๋ค๋ ๊ฑด ์ด๋ฏธ ๋ค๋ค ์ง์ํ๊ณ ์์ ๊ฒ์ด๋ค. ์๋ฌด๋ฆฌ ๊ทธ๋๋ ์์ ํ ๊ทธ๋ํฝ ํ๊ฒฝ๊ณผ๋ ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค๋ ๊ฒ์ด๋ค. GUI์ ๊ผญ ํ์ํ ์ฅ์ ๋ค๋ง ๊ณจ๋๋ค๊ณ ํ๋๋ฐ, ๊ทธ๊ฒ ์ฝ๋ฉ์ด๋ ๊ณ ๊ธ ์์คํ ๊ด๋ฆฌ ๊ฐ์ ๊ฒ์ ๊ผญ ํ์ํ ์ฅ์ ์ด๊ณ , ์์ ํ (์ฆ ๋ํธ ๋จ์๊น์ง ๋ค๋ฃจ๋) ๊ทธ๋ํฝ ํ๊ฒฝ์ ๋น์ฐํ ๋ถํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ํ๊ฒฝ์์ ๋น์ฐํ ์ฌ์ง์ด๋ ๊ทธ๋ฆผ, ๋์์ ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด๋ ๊ฟ๋ ๋ชป ๊พผ๋ค.[4][5] ๋น์ฐํ ๊ฒ์์ด๋ ์น ์ํ๋ ๊ต์ฅํ ์ ํ์ ์ด๋ค. ๋จ์ ์ธ ์๋ก ์๋์ w3m์ ์๊ฐํด ๋ณด์. ๋ฌผ๋ก ํฌํ ์ต ๊ฐ์ ๊ทธ๋ํฝ ์์ ์ ๋งํ ๊ฒ๋ ์์ ๊ฒ์ด๋ค. ๋ค๋ง ์ด๋ ๊ฒ ํ๊ณ๋ก ์ ์ํ ๊ฒ๋ค์ ์ฌ์ค TUI๊ฐ ํ์ํ ๋งํ ์์ญ๊ณผ ์ ์ด๋ถํฐ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค. ๋ฐ๋๋ก TUI์ ๊ฐ์ ๋ค์ ์ฌ์ค ๋จ์ผ ํด๋ผ์ด์ธํธ ์์ ๋ฉํฐ๋ฏธ๋์ด ํ๊ฒฝ์์ ์ ๊ฒฝ์ธ ๋งํ ์ฌํญ์ด ์๋๋ค. ์ฆ ์๋ก ์ ์ปค๋ฒํ๋ ์์ญ์ด ๋ค๋ฅด๊ณ ์ด๋ ํ ์ชฝ์ด ๋ฐ๋ ์ชฝ ์์ญ๊น์ง ๋ค ์ปค๋ฒํ๋ ๊ฒ ํ๋ค๊ฑฐ๋ ๊ทธ๋ด ํ์๊ฐ ์์ ๋ฟ์ด๋ค.[6] ๋ฐ๋ผ์ ์ด๋ ํ ์ชฝ์ด ์ฐ์ํ๋ค๋๋ ๋ ผํ๋ ๊ฑด ๋ณ ์๋ฏธ ์๋ค.
TUI์ ๋จ์ ์ ๋ ๊ผฝ์๋ฉด, CLI์ GUI์ ์ค๊ฐ ์ฑ๊ฒฉ์ด๋ผ๋ ๊ฒ TUI ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๋ ์ ์ฉ๋๋ค๋ ๊ฒ์ด๋ค. GUI ํ๋ก๊ทธ๋จ์ ์ง๋ ๊ฒ๋ณด๋จ ๋ ๋๊ฐํ๊ฒ ์ง๋ง CLI ํ๋ก๊ทธ๋จ๋ณด๋ค ๋ ๋ณต์กํ ๊ฑด ๋น์ฐํ ์ผ์ด๊ฒ ๋ค. ๋ฌผ๋ก TUI ์งค ๋๋ GUI ์งค ๋๋ ์ ์ด๋ถํฐ ์ฌ์ฉ์์ ํธ์์ฑ์ ๊ณ ๋ คํ๋ฉด ๊ณ ๋ คํ ์๋ก ํ๋ก๊ทธ๋๋ฐ ํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋ค๋ ์ฌ์ค์ด ๋๊ฐ์ด ์ ์ฉ๋๋ ๊ฒ์ผ ๋ฟ์ด๊ฒ ์ง๋ง. ๋จ์ ์ด๋ผ๊ธฐ๋ณด๋จ ์ฝ๊ฐ ์ฌ๋ด์ด๊ฒ ์ง๋ง ์ฌ์ฉํ๋ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋ง์ด ํ ์ ์๋ค. ์ฌ์ค ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ ๊ต์ฅํ ๋ง์ผ๋ฉฐ ์ด๋ค์ด ์ง์ํ๋ ๊ฒ๋ ์ ๊ฐ๊ฐ์ด๋ค. xterm(-color256)์ด ์ฌ์ค ์ ํ์ค์ด๊ธด ํ๋ฐ ์์์ ์ง์ํ์ง ์๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฐ๊ฒ ๋๋ฉด ์ต์ ์ TUI ํ๊ฒฝ์ด ๋ณด์ฌ์ฃผ๋ ๊ฐ์ ๋ค ์๋น์๊ฐ ํฌ์๋ ๊ฒ์ด๋ค. ๊ฒ๋ค๊ฐ ์์์ ์ง์ํ๋ ์๋ฎฌ๋ ์ดํฐ๋ค๋ ์์ ์ (set)์ด ์ ๊ฐ๊ฐ์ธ ๊ฒ์ด ๋๋ฆ ๋ฌธ์ ์ผ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด iTerm2์์ ์ด์๊ฒ ์ค์ ํ ์์ ์ค์ ์ ๋ค๋ฅธ ์๋ฎฌ๋ ์ดํฐ์์ ๋๋ฆฌ๋ฉด ๋๋ฌ์ด(...) ์์์ผ๋ก ํํ๋ ์๋ ์๋ค.
๋ ์ด์์์ ํํ์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์๋ฅผ ์ด์ฉํ๊ธฐ๋ ํ์ง๋ง, Extended ASCII์ ์ด๋ฏธ ๋ ์ด์์์ ํํ์ ์ํ ๋ธ๋ก, ์ ๋ฑ์ด ์ค๋น๋์ด ์๋ค. ASCII Table ์์ฆ์๋ ์ ๋์ฝ๋๋ฅผ ์ด์ฉํ๊ธด ํ์ง๋ง ๋์ ์ ์์ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ์์ ์ฌ์ฉ๋๋ ํฐํธ ์์ฒด๋ฅผ ๋ฐ๊ฟ์ ๋ ์ด์์์ ํ์ํ ๋ฌธ์๋ค์ ๋ง๋ จํ ์ ์๋ค. Powerline font๋ฅผ zsh๊ณผ[7] vim, tmux์์ ์ฐ๋ ๊ฒ์ด ๋ํ์ ์ผ๋ก, ์ ์ ํ ์์ ์ธํ ๊ณผ ๋๋ถ์ด ์๋นํ ๋ฏธ๋ คํ ํ๊ฒฝ์ ์ ๊ณตํด ์ค๋ค.
์ ๋์ฝ๋ ์ด์ ์๋ ์๋ฌธ ์ด์ธ์ ์ธ์ด์ ์์๋ ๊นจ์ ธ ๋์ค๋ ์ผ์ด ๋ง์๋ค. ๋ค๋ฅธ ์ธ์ด์ ์์๋ ์๊ตญ์ด ํํ์ ์ํด ์ด ์์ญ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ. ๋น์ฅ 1990๋ ๋์ ํ๊ธ DOS์์ Mdir์ ๊ตฌ๋์ํค๋ฉด ์ ์ด ๋ชจ๋ ์ด์ํ ๋ฌธ์
2. CLI์๋ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ?[ํธ์ง]
2.1. ๋ฒํผ์ ์ฐจ์ด[ํธ์ง]
CLI์์๋ ์ค ๋๋ ๋ฌธ์์ด์ ํ ๋ฒํผ์ ๋จ์๋ก ์ด์ฉํ๋ค. ๋ฐ๋ผ์ ํ๋ฉด์์ ํ์ํ ๋ ์ค ๋๋ ๋ฌธ์์ด์ ์ถ๊ฐ๊ฐ ๋งค์ฐ ํจ์จ์ ์ด๋ค. ๋ฐ๋ฉด TUI์์๋ ํ๋ฉด ์ ์ฒด๋ฅผ ํ ๋ฒํผ์ ๋จ์๋ก ์ด์ฉํ๋ค. ๋ฒํผ์ ์ฉ๋์ด ๋งค์ฐ ํฐ ๋์ ๋ฒํผ์ ์ขํ์ ํ๋ฉด์ ์ค์ ์ขํ๋ฅผ 1๋ 1๋ก ๋์์ํฌ ์ ์๋ค. ์ฌ์ฉ์ ์ธก๋ฉด์์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ์ํ์ข์ฐ ๋ฐฉํฅํค๋ฅผ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ค๋ ์ ์ด๋ค.
2.2. ๋ฌธ์์ ์ฐจ์ด[ํธ์ง]
CLI์์๋ ๋ฌธ์๋ฅผ ์ค๋ก์ง ์๋ฏธ์ ํํ์๋ง ์ด์ฉํ๋ค. ์ฆ, ํ๋ฉด์ ๋ชจ๋ ๋ฌธ์๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
๋ํ์ ์ธ CLI ํ๋ก๊ทธ๋จ
๋ํ์ ์ธ CLI ํ๋ก๊ทธ๋จ
- ed (ํ ์คํธ ํธ์ง๊ธฐ)
๋ฐ๋ฉด, TUI๋ ๋ฌธ์๋ฅผ ๋ด์ฉ์ผ๋ก์์ ์๋ฏธ ๋ฟ ์๋๋ผ ํ๋ฉด ์ ๋ ์ด์์์ ํํ์๋ ์ด์ฉํ๋ค. ์ฆ, ๋ฌธ์๋ฅผ ์ด์ฉํ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ผ๊ณ ๋ ํ ์ ์๋ค.
๋ํ์ ์ธ TUI ํ๋ก๊ทธ๋จ
- w3m (์น ๋ธ๋ผ์ฐ์ )
3. ๊ด๋ จ ํญ๋ชฉ[ํธ์ง]
[1] ์ด๊ฒ ํ๋์๋ ์๊ทผํ ์ค์ํ ๊ฒ, ํนํ ๋ค์์ ์ฌ์ฉ์๊ฐ ๋จ์ผ ๋
ธ๋(node)์ ์ ์ํ์ฌ ์์
ํ๋ ์ํฉ์์ ์ด๋ฌํ ๊ฐ๋ฒผ์์ด ์ค์ํด์ง ๊ฒ์ด๋ค. 100๋ช
์ด ๋์ ์ ์ํด์ ์์
์ ํ๋๋ฐ, ๋ชจ๋ vim์ ์ฐ๋ ์ํฉ๊ณผ ๋ชจ๋ VS code๋ฅผ ์ฐ๋ ์ํฉ์ (๊ทธ๊ฒ๋ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค์ ๋ ๋๋ง๊น์ง ์ฃ๋ค ์๋ฒ๊ฐ ๋๋งก๋ ์ํฉ์) ์๊ฐํด ๋ณด์. (๋ค๋ง ์ด๊ฑด ๋๋ฌด ๊ทน๋จ์ ์ธ ๋น๊ต์ด๋ค. ์๋ ์ฃผ์์์ FTP๋ฅผ ํ์ฉํ ์๋ก ๋ค์๋ฏ์ด GUI๋ฅผ ํ์ฉํ๋ ๊ฐ๋ฐ์ ์๊ฐํ ์ ์๋ค.) ์ฐ๊ตฌ ํ๊ฒฝ์ด๋ผ๋ ๊ฐ ์๋ฒ ํธ์คํ
๊ฐ์ ๊ณณ์์ ๋ง์ด ์ผ์ด๋๋ ์ํฉ์ด๋ค.
[2] ๋ฐ๋์ ์๋ฅผ ๋ค์ด ์๋์ฐ์ฆ ์๊ฒฉ ์ ์์ ํ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์. ์๋ฌด๋ฆฌ ๋คํธ์ํฌ ํ๊ฒฝ์ด ์ข์๋ ๋ฒ๋ฒ
๊ฑฐ๋ฆฐ๋ค๋ ๋๋์ด ๋ ๋ค.
[3] ๋ค๋ง vim/Emacs, tmux์ ๊ฐ์ ํฌ๋ฌ(?) ์ ํ๋ฆฌ์ผ์ด์
๋ค์ด ์ด๋ฐ ๊ฑธ ์์ฒญ ์ ํด๋ด์ ๊ทธ๋ฐ ๊ฑฐ์ง TUI ์์ฒด์ ๊ฐ์ ์ด๋ผ๊ณ ๋ณด๊ธด ๋ค์ ์ด๋ ต๋ค.
[4] iTerm2 ๊ฐ์ ์ผ๋ถ ํฐ๋ฏธ๋์์๋ ๊ทธ๋ฆผ์ ์ถ๋ ฅํด ์ฃผ๊ธฐ๋ ํ์ง๋ง ์ด๊ฑด TUI์ ๋ฒ์ฃผ ๋ฐ๊นฅ์ด๊ณ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ ์์ฒด์ ๋
์์ ์ธ ๊ธฐ๋ฅ์ผ ๋ฟ์ด๋ค.
[5] ImageMagick ๊ฐ์ ๊ฑธ๋ก ๊ฐ๋จํ๊ณ ๋ ์ผ๊ด์ ์ธ ์ด๋ฏธ์ง ์กฐ์ ์์
์ ํ ์ ์๊ธด ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๊ฑด CLI ์๋๊ฐ ๊ทธ๋ ๋ดค์ ์ ํ์ ์ธ ๊ฑด ๋ถ๋ช
ํ๊ณ ๋ฌด์๋ณด๋ค ๊ฒฐ๊ณผ๋ฌผ์ ๋น์ฐํ GUI์์ ๋ด์ผ๊ฒ ์ง๋ง.
[6] ๋ค๋ง GUI๋ ์ง์์ ์ผ๋ก TUI๊ฐ ํ ์ ์๋ ๊ฒ๋ค์ ๋ง์ด ๊ฐ์ ธ์ค๊ณ ์๋ ์ค์ด๋ค. ์ฌ์ค ํฐ๋ฏธ๋์์ ์๊ฒฉ์ ์์ผ๋ก ์ฝ๋ฉํ๋ ๊ฒ ๋ง๊ณ ๋ ๋ก์ปฌ์์ ์ ๋นํ GUI ์ฝ๋ ํธ์ง๊ธฐ๋ฅผ ํตํด ์ฝ๋ฉ ์์
์ ํ ๋ค์ ์ด๊ฑธ FTP๋ก ๋ณด๋ผ ์๋ ์๋ค. vim/Emacs๊ฐ ์๋ ๊ฐ๋ ฅํด์ ์ด๋ค์ด ์ฌ์ ํ ๋๋ฆฌ ์ฐ์ด๊ณ ์๊ธด ํ์ง๋ง.
[7] ๋จ, powerline font๋ฅผ ์ ํ ์ ์ด ํ
๋ง๋ค๋ ๋ง๋ค.