Etc๐Ÿ„‍โ™€๏ธ

CLI, GUI๋ž€

JanuDev 2025. 7. 24. 18:02

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ์„ธํŒ…์„ ํ•˜๋ฉด์„œ ์•Œ๊ฒŒ๋œ๊ฒŒ ์žˆ์–ด์„œ ์ž‘์„ฑํ•œ๋‹ค.

์›๋ž˜ ํ•™์›์—์„œ๋„ ํ•œ๋ฒˆ๋งŒ ๋“ฃ๊ณ  ์ญ? ํ–ˆ๋˜๊ฑด๋ฐ ์ด๋ฒˆ์— ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•จ!

 

CLI (Command Line Interface, ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค)

๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ์™€ ์†Œํ†ตํ•˜๋Š” ๋ฐฉ์‹. "cmd๊ฐ™์ด ๊นŒ๋งŒ๋ฐ”ํƒ•์˜ ํ•˜์–€ ๊ธ€์”จ - ์žฌ๋ฏธ์—†๋Š” ํ™”๋ฉด"

์ฐจ๋ก€๋Œ€๋กœ ๋ฆฌ๋ˆ…์Šค, ๊นƒ๋ฐฐ์‰ฌ

์œ„์™€๊ฐ™์ด ์žฌ๋ฏธ์—†๊ฒŒ ์ƒ๊ฐ„ ํ™”๋ฉด์— ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด CLI๋ฐฉ์‹์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ CLIํ™˜๊ฒฝ์€ ์œ ๋‹‰์Šค(Unix), ๋ฆฌ๋ˆ…์Šค(Linux)๊ฐ€ ์žˆ๋‹ค. 

  • ์œ ๋‹‰์Šค(Unix)
    • 1970๋…„๋Œ€์— ๋งŒ๋“ค์–ด์ง„ ์šด์˜์ฒด์ œ(OS), ์ฃผ๋กœ ํšŒ์‚ฌ(๊ธฐ์—…), ์„œ๋ฒ„, ์—ฐ๊ตฌ์†Œ ์‹œ์Šคํ…œ์—์„œ ๋งŽ์ด ์“ด๋‹ค.
    • ํ„ฐ๋ฏธ๋„๊ธฐ๋ฐ˜(CLI)๋กœ ์ž‘์—…ํ•˜๋Š”๊ฒŒ ๊ธฐ๋ณธ์ด์—ˆ๊ณ , ์ง€๊ธˆ CLI๋ช…๋ น์–ด๋“ค์˜ ์›์กฐ๋Š” ๋Œ€๋ถ€๋ถ„ ์œ ๋‹‰์Šค์ด๋‹ค.
    • ๋Œ€๋ถ€๋ถ„ ์œ ๋ฃŒ
    • ์˜ˆ์‹œ๋กœ Solaris, HP-UX
    • cd, ls, pwd, mkdir, rm, kill.... ์œ ๋‹‰์Šค ๋ช…๋ น์–ด์˜€๋‹ค ์‚ฌ์‹ค
  • ๋ฆฌ๋ˆ…์Šค(Linux)
    • ์œ ๋‹‰์Šค๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๋งŒ๋“  ์˜คํ”ˆ์†Œ์Šค ์šด์˜์ฒด์ œ. ์ฃผ๋กœ ๊ฐœ์ธ, ๊ฐœ๋ฐœ์ž, loT์—์„œ ์“ฐ์ธ๋‹ค.
    • CLIํ™˜๊ฒฝ์ด ๊ธฐ๋ณธ์ธ๋ฐ GUI๋„ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ
    • ์˜คํ”ˆ์˜-์Šค๋‹ˆ๊นŒ ๋ฌด๋ฃŒ
    • ์˜ˆ์‹œ๋กœ Ubuntu, Raspberry Pi OS(๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ฐ˜)
    • ๋Œ€๋ถ€๋ถ„์˜ ์ด๋ฆ„์žˆ๋Š” ์šด์˜์ฒด์ œ๋Š” ๋ฆฌ๋ˆ…์Šค๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.
    • ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•์ด ์œ ๋‹‰์Šค์™€ ๊ฑฐ์˜ ๋˜‘๊ฐ™๋‹ค.

GUI(Graphic User Interface, ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค)

์•„์ด์ฝ˜, ๋ฒ„ํŠผ ๋งˆ์šฐ์Šค, ํ™”๋ฉด ๋“ฑ์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ์™€ ๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ์‹. " ๋ฐ”ํƒ•ํ™”๋ฉด, ํด๋” ํ™”๋ฉด ๋“ฑ"

์œˆ๋„์šฐ, ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด OS ํ™”๋ฉด

๋‘˜์˜ ์ฐจ์ด?

์‚ฌ์šฉ์ž - ์ปดํ“จํ„ฐ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š”๊ฑฐ๋‹ค.

  CLI GUI
์‚ฌ์šฉ ๋ฐฉ์‹ ํ‚ค๋ณด๋“œ๋กœ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅ ์•„์ด์ฝ˜, ๋ฒ„ํŠผ, ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉ
์˜ˆ์‹œ ํ„ฐ๋ฏธ๋„, cmd, git bash, Powershell๋“ฑ ํฌ๋กฌ, ์œˆ๋„์šฐ ํƒ์ƒ‰๊ธฐ ๋“ฑ
์ง๊ด€์„ฑ ์ผ๋ฐ˜์ธ๋“ค ๋ณผ ์ผ ์—†์Œ
์ต์ˆ™ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋ ต๊ณ  ๋ณต์žกํ•จ
์ง„์ž…์žฅ๋ฒฝ ๋†’์Œ
์ต์ˆ™ํ•ด์ง€๋ฉด ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์ž‘์—… ๊ฐ€๋Šฅ
๊ฐœ๋ฐœ, ์„œ๋ฒ„๊ด€๋ฆฌ ๋“ฑ์—์„  ์••๋„์ ์œผ๋กœ ๊ฐ•๋ ฅํ•จ
์ดˆ๋ณด์ž์—๊ฒŒ ์นœ์ˆ™, ๋งˆ์šฐ์Šค ํด๋ฆญ ์œ„์ฃผ
์‹œ๊ฐ์ ์œผ๋กœ ์ž˜ ๋ณด์—ฌ์ค˜์„œ ์ง๊ด€์ 
๊นŠ์€ ์„ค์ • ๋ณ€๊ฒฝ์€ ์–ด๋ ค์›€

 

๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ฉด ์ข‹์€ CLI ๋ช…๋ น์–ด ๋ชจ์Œ

๐Ÿ“ 1. ํŒŒ์ผ & ๋””๋ ‰ํ† ๋ฆฌ ์กฐ์ž‘ ๊ด€๋ จ

  • ls: ํ˜„๋Œ€ ํด๋” ๋‚ด์šฉ ๋ณด๊ธฐ(ls -l, ls -a)
  • cd: ํด๋” ์ด๋™(cd .. ์ƒ์œ„ํด๋”, cd ~ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ)
  • pwd: ํ˜„์žฌ ๊ฒฝ๋กœ ์ถœ๋ ฅ
  • mkdir: ์ƒˆ ํด๋” ๋งŒ๋“ค๊ธฐ
  • rm: ํŒŒ์ผ ๋˜๋Š” ํด๋” ์‚ญ์ œ(rm -r, rm-rf)
  • cp: ํŒŒ์ผ/ํด๋” ๋ณต์‚ฌ(cp -r src dest)
  • mv: ํŒŒ์ผ/ํด๋” ์ด๋™ ๋˜๋Š” ์ด๋ฆ„ ๋ณ€๊ฒฝ
  • touch: ์ƒˆ ๋นˆ ํŒŒ์ผ ์ƒ์„ฑ(touch text.txt)
  • tree: ํด๋” ๊ตฌ์กฐ ํŠธ๋ฆฌ ํ˜•์‹์œผ๋กœ ๋ณด๊ธฐ

๐Ÿง  2. ํŒŒ์ผ ๋‚ด์šฉ ํ™•์ธ ๋ฐ ํŽธ์ง‘

  • cat: ํŒŒ์ผ ๋‚ด์šฉ ์ถœ๋ ฅ
  • less/more: ํŒŒ์ผ ๋‚ด์šฉ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋ณด๊ธฐ
  • head: ํŒŒ์ผ ์•ž๋ถ€๋ถ„ ์ถœ๋ ฅ
  • tail: ํŒŒ์ผ ๋๋ถ€๋ถ„ ์ถœ๋ ฅ
  • nano, vim: cli์—์„œ ์ง์ ‘ ํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ธฐ

โš™๏ธ 3. ์‹œ์Šคํ…œ ์ƒํƒœ ๋ฐ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ

  • ps: ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ณด๊ธฐ
  • top: ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ
  • kill: ํŠน์ • ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ
  • uptime: ์‹œ์Šคํ…œ์ด ์ผœ์ง„ ์‹œ๊ฐ„ ํ™•์ธ
  • df -h: ๋””์Šคํฌ ์šฉ๋Ÿ‰ ํ™•์ธ
  • free -h: ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ

๐Ÿ›œ 4. ๋„คํŠธ์›Œํฌ ๊ด€๋ จ

  • ping: ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ™•์ธ(ping google.com)
  • ipconfig ๋˜๋Š” ip a: ip์ฃผ์†Œ ๋ฐ ๋„คํŠธ์›Œํฌ ์ •๋ณด ํ™•์ธ
  • curl: url๋กœ http ์š”์ฒญ ๋ณด๋‚ด๊ธฐ(curl https://example.com)
  • wget: ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ(wget https://example.com/file.txt)
  • ssh: ์›๊ฒฉ ์„œ๋ฒ„ ์ ‘์†(ssh pi@192.168.0.00)

๐Ÿ”’ 5. ๊ถŒํ•œ & ์‚ฌ์šฉ์ž ๊ด€๋ จ

  • chmod: ํŒŒ์ผ ๊ถŒํ•œ ๋ณ€๊ฒฝ
  • chown: ํŒŒ์ผ ์†Œ์œ ์ž ๋ณ€๊ฒฝ
  • sudo: ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ๋ช…๋ น ์‹คํ–‰
  • whoami: ํ˜„์žฌ ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์ถœ๋ ฅ
  • groups: ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์†ํ•œ ๊ทธ๋ฃน ํ™•์ธ