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. ์ฝ์ ๋ด์ฉ ๋ค ์ง์ฐ๊ธฐ
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 ๋ฅผ ์ค์นํด ๋ดค๋ค.
๊ตณ๊ตณ!!