๐ŸคผGit

TIL) Command-Line Interface๋ž€, CLI ๊ธฐ๋ณธ ๋ช…๋ น์–ด

hellohailie 2022. 5. 9. 23:38

[TIL]

๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ์—ญ๋Ÿ‰์ธ CLI๋ฅผ ๋‹ค๋ฃจ๋Š” ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•ด ํ„ฐ๋ฏธ๋„์„ ์—ฌ๋Š” ๋ฐฉ๋ฒ•

ํ…์ŠคํŠธ ์—๋””ํ„ฐ์ธ nano ํ•™์Šต

ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € npm ํ•™์Šต

Node.js์˜ ๋ฒ„์ „๊ด€๋ฆฌ ๋งค๋‹ˆ์ €์ธ nvm ํ•™์Šต

JavaScript์˜ ๋˜ ๋‹ค๋ฅธ ์‹คํ–‰ํ™˜๊ฒฝ์ธ Node.js ํ•™์Šต

๊ฐœ๋ฐœ์ž๋ผ๋ฆฌ์˜ ํ˜‘์—…์—์„œ ๊ฒฐ์ฝ” ๋นผ๋†“์„ ์ˆ˜ ์—†๋Š” ๋ถ„์‚ฐ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ Git์„ ์„ค์น˜ํ•˜๊ณ  ํ•„์ˆ˜์ ์ธ ํ™˜๊ฒฝ์„ค์ •์„ ์ง„ํ–‰

 

 

Linux ํ™˜๊ฒฝ์—์„œ CLI๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด, ๋ฐ˜๋“œ์‹œ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค. 

 

 

 

 

์ปดํ“จํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ I/O(Input/Output)๋ผ๊ณ  ํ‘œ๊ธฐํ•˜๋ฉฐ, "์•„์ด์˜ค"๋ผ๊ณ  ์ฝ๋Š”๋‹ค. 

  • ์ž…๋ ฅ ์†Œ์Šค(Input source): ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ์นด๋ฉ”๋ผ, ๋งˆ์ดํฌ
  • ์ถœ๋ ฅ ์†Œ์Šค(Output source): ๋ชจ๋‹ˆํ„ฐ, ์Šคํ”ผ์ปค, ์Šค๋งˆํŠธ ํ™ˆ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์ „๋“ฑ์ด๋‚˜ ๊ณต๊ธฐ์ฒญ์ •๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ, ์ „๋“ฑ์ด๋‚˜ ๊ณต๊ธฐ์ฒญ์ •๊ธฐ ๋“ฑ

 

GUI(graphical user interface)๊ฐ€ PC(Personal Computer, ๊ฐœ์ธ ์ปดํ“จํ„ฐ) ์‹œ์žฅ์„ ์ง€๋ฐฐํ•˜๊ฒŒ ๋˜์—ˆ์ง€๋งŒ,

CLI(Command-line interface)๋Š” ์—ฌ์ „ํžˆ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ธก๋ฉด์—์„œ ์œ ๋ฆฌํ•˜๋‹ค. 

 


CLI๋ฅผ ๋‹ค๋ค„๋ณด์ž!

 

terminal ์„ ๊ฒ€์ƒ‰ํ•ด์„œ ๋“ค์–ด๊ฐ„๋‹ค.

ํ„ฐ๋ฏธ๋„์€ CLI(Command-Line Interface)์ด๋ผ์„œ, ์ž…๋ ฅํ•˜๋Š” ๊ธ€์ž์™€ ์ถœ๋ ฅ๋˜๋Š” ๊ธ€์ž๋กœ ์ปดํ“จํ„ฐ์™€ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ์ถœ๋ ฅํ•˜๋Š” ๊ธ€์ž๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

ํ”„๋กฌํ”„ํŠธ(Prompt)๋Š” CLI์˜ ๋ช…๋ น์ค„ ๋Œ€๊ธฐ๋ชจ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์œผ๋กœ์จ, ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด์—์„œ ๊ธ€์ž๊ฐ€ ์ž…๋ ฅ๋˜๋Š” ํ•œ ์ค„์˜ ๊ณต๊ฐ„์„ ๋œปํ•œ๋‹ค. 

 

 


๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์—์„œ ๊ธฐ๋ณธ์ ์ธ ๋ช…๋ น์–ด

โœ”๏ธ pwd : ํ˜„์žฌ ์œ„์น˜ ํ™•์ธํ•˜๊ธฐ (print working directory(ํด๋”))

โœ”๏ธ mkdir : ์ƒˆ๋กœ์šด ํด๋” ์ƒ์„ฑํ•˜๊ธฐ (CLI์—์„œ๋Š” ๋ช…๋ น์–ด์™€ ํด๋”์˜ ์ด๋ฆ„์„ Space(์ŠคํŽ˜์ด์Šค ํ‚ค)๋กœ ๊ตฌ๋ถ„)

โœ”๏ธ ls : ํŠน์ • ํด๋”์— ํฌํ•จ๋œ ํŒŒ์ผ์ด๋‚˜ ํด๋” ํ™•์ธํ•˜๊ธฐ (list) / ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์ž…๋ ฅ

  • ls -a : ์ˆจ์–ด์žˆ๋Š” ํด๋”๋‚˜ ํŒŒ์ผ์„ ํฌํ•จํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅ (all)
  • ls -l : ํด๋”๋‚˜ ํŒŒ์ผ์˜ ํฌ๋งท์„ ์ „๋ถ€ ํ‘œํ˜„ํ•˜๋ผ๋Š” ์˜๋ฏธ, 

        d๋กœ ์ถœ๋ ฅ๋œ ๊ฒฝ์šฐ๋Š” ํด๋”๋ฅผ, -๋กœ ์ถœ๋ ฅ๋œ ๊ฒฝ์šฐ๋Š” ํŒŒ์ผ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. 

        ํด๋”(d)๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด cd๋ฅผ ํ†ตํ•ด ์ง„์ž…ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํŒŒ์ผ(-)์€ ์ง„์ž…ํ•  ์ˆ˜ ์—†๋‹ค.

โœ”๏ธ open . :ํ˜„์žฌ ์œ„์น˜๋ฅผ GUI๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด

โœ”๏ธ cd : ํด๋”๋กœ ์ง„์ž…ํ•˜๋Š” ๋ช…๋ น์–ด(change directory) / cd ๋’ค์— ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ํด๋”๋กœ ํ•œ ๋ฒˆ์— ์ด๋™ ๊ฐ€๋Šฅ!

โœ”๏ธ touch : ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ 

touch hi.txt

โœ”๏ธ cat: ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•˜๊ธฐ 

cat hi.txt

โœ”๏ธ rm: ํŒŒ์ผ ์‚ญ์ œํ•˜๊ธฐ/ ํด๋”๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด rm -rf <ํด๋”๋ช…>

โœ”๏ธ mv: ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝ, ๋˜๋Š” ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์œ„์น˜ ์˜ฎ๊ธฐ๊ธฐ 

 

  • ๐Ÿ‘‡ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝ / [๋ณ€๊ฒฝํ•  ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์ด๋ฆ„] [๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ์˜ ์ด๋ฆ„]
mv bye.txt helloWorld.txt

 

  • ๐Ÿ‘‡ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์œ„์น˜ ์˜ฎ๊ธฐ๊ธฐ / [ํด๋”๋‚˜ ํŒŒ์ผ์˜ ์ด๋ฆ„] [๋„์ฐฉ ํด๋”์˜ ์ด๋ฆ„]
mv bye.txt bye/

 

โœ”๏ธ cp: ํŒŒ์ผ, ํด๋”๋ฅผ ๋ณต์‚ฌํ•˜๊ธฐ (copy) /  [์›๋ณธ ํŒŒ์ผ ์ด๋ฆ„] [๋ณต์‚ฌํ•  ํŒŒ์ผ ์ด๋ฆ„] / ํด๋”๋ฅผ ๋ณต์‚ฌํ•˜๋ ค๋ฉด  -rf 

 

  • ๐Ÿ‘‡ ํŒŒ์ผ ๋ณต์‚ฌ / ํŒŒ์ผ helloWorld.txt๋ฅผ ๋ณต์‚ฌํ•ด์„œ ํŒŒ์ผ hiComputer.txt ๋งŒ๋“ค๊ธฐ
cp helloWorld.txt hiComputer.txt
  • ๐Ÿ‘‡ ํด๋” ๋ณต์‚ฌ / ํด๋” bye๋ฅผ ๋ณต์‚ฌํ•ด์„œ ํด๋” hi ๋งŒ๋“ค๊ธฐ
cp -rf bye hi

 

โœ”๏ธ CLI์—์„œ .์€ ํ˜„์žฌ ํด๋”๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ..์€ ํ˜„์žฌ ํด๋”๋ณด๋‹ค ์•ž์— ์žˆ๋Š” ํด๋”๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. 

 

**ํด๋” ๋˜๋Š” ํŒŒ์ผ์˜ ์ด๋ฆ„์— ๊ณต๋ฐฑ(๋„์–ด์“ฐ๊ธฐ)์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฉด, ๋ฐฑ์Šฌ๋ž˜์‹œ(\)๋ฅผ ์ด์šฉํ•ด ์ ์šฉํ•œ๋‹ค.

**๊ฐ ๋ช…๋ น์–ด์— ํฌํ•จ๋œ ์˜ต์…˜์€ ๋ช…๋ น์–ด ์ด๋ฆ„๋งŒ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ -h ๋˜๋Š” --help์™€ ๊ฐ™์€ ์˜ต์…˜์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

CLI๋กœ ์ƒ์„ฑํ•œ ํด๋”๋‚˜ ํŒŒ์ผ์€ GUI๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , GUI๋กœ ์ž‘์—…ํ•œ ๋‚ด์šฉ๋„ CLI์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.