Command Line (CLI)

1. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์„ค์น˜

  • vscode ์„ค์น˜ ๋ฐ git ์„ค์น˜
  • git ์„ค์น˜๋Š” macos ํ„ฐ๋ฏธ๋„ bash ์—์„œ git ์ด๋ผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ

2. Lesson : Command Line (CLI)

Graphic User Interface (GUI) ์™€ ๋ฐฐ์น˜๋˜๋Š” ์˜๋ฏธ์ธ ๋“ฏ

ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์‹œ์Šคํ…œ์„ ํ†ตํ•œ ์ž…๋ ฅ๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ์ถœ๋ ฅ. ๋น ๋ฅด๊ณ  ๊ฐ•๋ ฅํ•˜๋ฉฐ ์ ‘๊ทผ์„ฑ์ด ์ข‹๋‹ค๊ณ  ํ•จ.

3. Useful command 1

  • ls : list ๋ผ๋Š” ์˜๋ฏธ (์ผ๋ฐ˜์  gui ํ™˜๊ฒฝ์—์„œ๋Š” ํด๋” ํด๋ฆญ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค)
  • ls -al : list ์˜ detail ํ•œ ์ •๋ณด์— ์ ‘๊ทผํ•˜๊ธฐ (์ˆจ๊น€ ํŒŒ์ผ์ด๋‚˜ ํŒŒ์ผ์˜ ํฌ๊ธฐ, ์†Œ์œ ์ž, ์ƒ์„ฑ์ผ ๋“ฑ)
  • cd : ๋””๋ ‰ํ† ๋ฆฌ(/) ๋กœ ์ด๋™. ๊ฐ€๋ น cd Downloads
  • pwd : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ฒฝ๋กœ (full path) ๊ฐ€ ์ถœ๋ ฅ๋จ

3-1. cd ์— ๋Œ€ํ•ด์„œ 1

  • cd ~ : ๋ฌผ๊ฒฐ.. ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™๋œ๋‹ค.
  • cd / : ์‹œ์Šคํ…œ์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ (root) ๋กœ ์ด๋™ํ•œ๋‹ค.

3-2. cd ์— ๋Œ€ํ•ด์„œ 2 (์ ˆ๋Œ€ ๊ฒฝ๋กœ์™€ ์ƒ๋Œ€ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋‚ด์šฉ)

  • cd/Users/seolleung2/Downloads : ํ•œ๋ฒˆ์— ์ด๋™ํ•˜๊ธฐ. ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋“ฏ ํ•˜๋‹ค. / ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ฐ๋‹ฌ์•„ ์ž…๋ ฅํ–ˆ๋‹ค.
  • cd . : ํ–”์ œ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™ (ํ•˜์ง€๋งŒ ์•„๋ฌด์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค)
  • cd .. : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ฐ”๋กœ ์œ„ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

3-3. cd ์— ๋Œ€ํ•ด์„œ 3 (๊ณต๋ฐฑ์„ ํฌํ•จํ•˜๋Š” ํด๋”์— CLI ๋กœ ์ ‘๊ทผํ•˜๊ธฐ)

cd My documents
>> "No such file or directory" ๋ผ ๋œฌ๋‹ค.

cd My ์“ฐ๊ณ  tab ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™ ์™„์„ฑ์ด ๋œ๋‹ค.
>> cd My\ Documents/

3-4. ์ฝ˜์†” ๋‚ด์šฉ ๋‹ค ์ง€์šฐ๊ธฐ

  • clear

4. Useful command 2

  • touch [file_name] : ex) touch newfile.txt : ๋นˆ ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ, ์ƒ์„ฑ ํ›„ ls ๋ฅผ ์น˜๋ฉด ํŒŒ์ผ์ด ๋ณด์ธ๋‹ค.
  • mkdir [dir_name] : ex) mkdir newdir : ํด๋” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•จ
  • mv [fileordir][target_dir] : ex) mv newfile.txt newdir/ : ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ์˜ฎ๊ธฐ๊ธฐ
  • mv [fileordir][target_file_or_dirname] : ex) mv newfile.txt newname.txt : ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ
  • code newname.txt : ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ธฐ (Code ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด์„œ)
  • cat newname.txt : ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ„ฐ๋ฏธ๋„์—์„œ ํ™•์ธํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
  • cp newname.txt ~/Downloads/ : cd ~/Downloads ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ ํด๋”์— newname.txt ํŒŒ์ผ์ด ๋ณต์‚ฌ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

4-1. ์‚ญ์ œ ํ•˜๋Š” ์ปค๋งจ๋“œ์— ๋Œ€ํ•ด์„œ

rm ๋ช…๋ น์–ด๋Š” ์ •๋ง ์‚ญ์ œํ•  ๊ฒƒ์ธ์ง€ ํ™•์ธ์„ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ•œ๋ฒˆ ์‚ญ์ œ๋œ ํŒŒ์ผ์€ ํœด์ง€ํ†ต์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์œผ๋ฏ€๋กœ ์ •๋ง๋กœ ๊ต‰์žฅํžˆ ์กฐ์‹ฌํ•ด์„œ ์จ์•ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

  • rm newname.txt
  • sudo rm -rf / : root directory ๋ฅผ ์‹น๋‹ค ๋‚ ๋ฆฌ๋Š” (์ „์ฒด ์‹œ์Šคํ…œ ํŒŒ์ผ์„ ์ง€์šฐ๋Š”) ๋ช…๋ น์–ด

5. sudo ๋ž€?

super user ๊ฐ€ do ํ•œ๋‹ค. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ๋ฌด์–ธ๊ฐ€๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์–ด๋–ค ํŒŒ์ผ์— ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•ด ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ๋•Œ (๊ด€๋ฆฌ์ž๊ถŒํ•œ์„ ์š”๊ตฌํ•  ๋•Œ) ์‚ฌ์šฉ

5-1. sudo ๋Š” ๋ชจ๋“  ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ๋‹ค.

  • ๊ถŒํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์†”๋ฃจ์…˜์ด ์•„๋‹ˆ๋ผ์„œ ํ•„์š”์— ๋”ฐ๋ผ ํ˜„๋ช…ํ•˜๊ฒŒ ์‚ฌ์šฉ : ๊ฐ€๋Šฅํ•œ USER ๊ถŒํ•œ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • sudo ๋Š” ํ•œ ๋ฒˆ๋งŒ ์ธ์ฆํ•˜๋ฉด ๊ทธ ์ดํ›„๋Š” ์ƒ๋žตํ•œ๋‹ค.

5-2. ls -al ๋กœ ์•Œ์•„๋ณด๋Š” ์†Œ์œ ์ž ๊ถŒํ•œ์— ๋Œ€ํ•ด

  • sudo touch testfile.txt ํŒŒ์ผ ์ƒ์„ฑ : ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ๋งŒ๋“  ํŒŒ์ผ, ์•”ํ˜ธ์ž…๋ ฅ ํ›„ ์ƒ์„ฑ์ด ๋œ๋‹ค. ls -al ์„ ํ†ตํ•ด ํ™•์ธํ•ด ๋ณด๋ฉด sudo ๋กœ ๋งŒ๋“  ์ด ํŒŒ์ผ์˜ ์†Œ์œ ์ž๋Š” root ๋กœ ๋˜์–ด ์žˆ๋‹ค.
  • code testfile.txt : ๋ญ”๊ฐ€ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ  ์ €์žฅํ•˜๋ ค๋‹ˆ failed ์ฐฝ์ด ๋œจ๋ฉด์„œ โ€˜Retry as Adminโ€™ ์ด๋ผ๋ฉฐ ๊ด€๋ฆฌ์ž๋กœ ๋‹ค์‹œ ์‹œ๋„ํ•ด ๋ณด๋ผ ํ•œ๋‹ค. ์ฆ‰ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์•„๋‹ˆ๋ผ์„œ ์‹ค์ œ ํŽธ์ง‘์ด ์•ˆ๋œ๋‹ค.
  • sudo chown seolleung2:staff testfile.txt ๋กœ ์†Œ์œ ์ž ๋ณ€๊ฒฝํ•˜๊ธฐ : ls -al ํ™•์ธ์„ ํ†ตํ•ด ์†Œ์œ ์ž๊ฐ€ ๋ฐ”๋€Œ์—ˆ๊ณ  ์ด์ œ code testfile.txt ๋กœ ํŒŒ์ผ ๋‚ด์šฉ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•ด ์ง„๋‹ค.
  • ์ฆ‰ ls -al ๋กœ ํ™•์ธํ•ด ๋ณผ์ˆ˜ ์žˆ๋“ฏ ํŒŒ์ผ์˜ ์†Œ์œ ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•˜๋‹ค. : ๋ฆฌ๋ˆ…์Šค ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์‹œ ๊ผฌ์—ฌ์„œ ์ƒˆ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜๊ฐ€ ๋˜์ง€ ์•Š์„ ๋•Œ ํŠน์ • ํด๋”๋ฅผ ๋‚ด ์†Œ์œ ๋กœ ๋ฐ”๊ฟ”์คŒ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

6. GUI ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ๋” ๊ฐ„ํŽธํ•˜๊ฒŒ

  • code .
  • open . : ํ„ฐ๋ฏธ๋„์—์„œ ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ํด๋”๋ฅผ macOs Finder ์—์„œ ๋ณด๊ธฐ

7. ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  CLI ํ”„๋กœ๊ทธ๋žจ

  • git : ๋ฒ„์ „ ๊ด€๋ฆฌ
  • package manager : ํ”„๋กœ๊ทธ๋žจ ์ถ”๊ฐ€/ ์‚ญ์ œ : homebrew
  • ํ…์ŠคํŠธ ์—๋””ํ„ฐ : vim : ์ปค๋งจ๋“œ ๋ผ์ธ ์ƒ์—์„œ ์—๋””ํ„ฐ๋ฅผ ์—ด์ง€ ์•Š๊ณ ๋„ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ด€๋ฆฌ AWS CLI

8. brew install neofetch

๋‚ด ์บก์ฒ˜๋ณธ์€ ์•„๋‹ˆ์ง€๋งŒ brew ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฒ•์„ ์ฐพ์•„๋ณด๊ณ  ๋ฐ”๋กœ neofetch ๋ฅผ ์„ค์น˜ํ•ด ๋ดค๋‹ค. ๊ตณ๊ตณ!!


Written by@[DotoriMook]
ํ”„๋ก ํŠธ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๋„ํ† ๋ฆฌ๋ฌต์˜ ๊ธฐ์ˆ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค.

GitHubMediumTwitterFacebook