๋งฅ ํฐ๋ฏธ๋ ๋ช ๋ น์ด ์๋ฒฝ ๊ฐ์ด๋
๋งฅ ํฐ๋ฏธ๋ ๊ธฐ๋ณธ ๋ช ๋ น์ด๋ถํฐ ๊ณ ๊ธ ๊ธฐ๋ฅ๊น์ง! pwd, ls, cd ๋ฑ ํ์ ์ปค๋งจ๋์ ์ค๋ฌด์์ ๋ฐ๋ก ์ธ ์ ์๋ ํ๋ค์ ์ด๋ณด์๋ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํ์ต๋๋ค.
๊ฐ๋ฐ์ ์์ํ๋ฉด์ ๊ฐ์ฅ ๋จผ์ ๋ง์ฃผํ๊ฒ ๋๋ ๊ฒ ์ค ํ๋๊ฐ ๋ฐ๋ก ํฐ๋ฏธ๋์ ๋๋ค. ๊ฒ์ ํ๋ฉด์ ํ์ ๊ธ์๋ง ๊น๋นก์ด๋ ๋ชจ์ต์ ๋ณด๋ฉด ๋ง๋งํ๊ฒ ๋๊ปด์ง ์ ์์ด์. ํ์ง๋ง ํฐ๋ฏธ๋์ ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์์ผ๋ฉฐ, ์คํ๋ ค ๊ฐ๋ฐ ์์ ์ ํจ์ฌ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
ํฐ๋ฏธ๋(Terminal)์ ์ปดํจํฐ์ ์ฌ์ฉ์ ๊ฐ ์ํต์ ์ํ ์ธํฐํ์ด์ค์์. ๋ง์ฐ์ค ๋์ ํค๋ณด๋๋ง์ผ๋ก ๋ค์ํ ์์ ์ ์ํํ ์ ์์ด์, ์ฝ๋ฉ์ ํ์ง ์๋๋ผ๋ ์ ์ฉํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํนํ ๋งฅ์ ํฐ๋ฏธ๋์ ์ ๋์ค ๊ณ์ด ์ด์์ฒด์ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, ๋ฆฌ๋ ์ค๋ ๋ค๋ฅธ ์ ๋์ค ์์คํ ์์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋งค์ฐ ์ ์ฌํด์.
CLI(Command Line Interface)์ GUI(Graphic User Interface)์ ์ฐจ์ด์ ์ ์ดํดํ๋ฉด ํฐ๋ฏธ๋์ ์ฅ์ ์ ๋ ์ ์ ์ ์์ต๋๋ค. GUI๋ ์ฐ๋ฆฌ๊ฐ ํ์์ ์ฌ์ฉํ๋ ๋ง์ฐ์ค ํด๋ฆญ ๋ฐฉ์์ด๊ณ , CLI๋ ํฐ๋ฏธ๋์์ ํ ์คํธ ๋ช ๋ น์ด๋ก ์ปดํจํฐ๋ฅผ ์กฐ์ํ๋ ๋ฐฉ์์ด์์. CLI๋ ์ฒ์์ ์ด์ํ์ง๋ง, ์ต์ํด์ง๋ฉด ํจ์ฌ ๋น ๋ฅด๊ณ ์ ํํ ์์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ธฐ๋ณธ ๋ช ๋ น์ด ๋ง์คํฐํ๊ธฐ
ํฐ๋ฏธ๋์ ์ฒ์ ์์ํ ๋ ๊ผญ ์์์ผ ํ๋ ๊ธฐ๋ณธ ๋ช ๋ น์ด๋ค์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ๋ช ๋ น์ด๋ค๋ง ์ตํ๋ ํ์ผ ๊ด๋ฆฌ์ ๊ธฐ๋ณธ์ ์ธ ์์ ์ ์ถฉ๋ถํ ํ ์ ์์ด์.
ํ์ฌ ์์น ํ์ ํ๊ธฐ
pwd (Print Working Directory)
pwd
ํ์ฌ ์ด๋ ๊ฒฝ๋ก์ ์๋์ง ํ์ธํ๋ ๋ช
๋ น์ด์
๋๋ค. ํฐ๋ฏธ๋์ ์ด๋ฉด ๋ณดํต ํ ๋๋ ํ ๋ฆฌ(/Users/์ฌ์ฉ์๋ช
)์์ ์์ํ๋๋ฐ, pwd๋ก ํ์ฌ ์์น๋ฅผ ํ์ธํ ์ ์์ด์.
ํ์ผ๊ณผ ํด๋ ๋ชฉ๋ก ๋ณด๊ธฐ
ls (List)
ls # ๊ธฐ๋ณธ ๋ชฉ๋ก ๋ณด๊ธฐ
ls -a # ์จ๊น ํ์ผ๊น์ง ๋ชจ๋ ๋ณด๊ธฐ
ls -l # ์์ธํ ์ ๋ณด์ ํจ๊ป ๋ณด๊ธฐ
ls -al # ์จ๊น ํ์ผ๊ณผ ์์ธํ ์ ๋ณด ๋ชจ๋ ๋ณด๊ธฐ
ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ๊ณผ ํด๋๋ค์ ํ์ธํ๋ ๋ช ๋ น์ด์ ๋๋ค. ์ต์ ์ ์ถ๊ฐํ๋ฉด ๋ ๋ง์ ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ด์.
๋๋ ํ ๋ฆฌ ์ด๋ํ๊ธฐ
cd (Change Directory)
cd Desktop # Desktop ํด๋๋ก ์ด๋
cd .. # ์์ ํด๋๋ก ์ด๋
cd ~ # ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
cd - # ์ด์ ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๊ธฐ
ํด๋ ๊ฐ ์ด๋์ ๊ฐ๋ฐ ์์ ์์ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด ์ค ํ๋์์. ํ๋ก์ ํธ ํด๋๋ก ์ด๋ํด์ ์์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ฑฐ๋ ์.
ํด๋์ ํ์ผ ์์ฑํ๊ธฐ
mkdir (Make Directory)
mkdir my_project # ํด๋ ์์ฑ
mkdir -p project/src # ์ค์ฒฉ ํด๋ ํ ๋ฒ์ ์์ฑ
touch
touch index.html # ํ์ผ ์์ฑ
touch style.css app.js # ์ฌ๋ฌ ํ์ผ ๋์ ์์ฑ
์ ํ๋ก์ ํธ๋ฅผ ์์ํ ๋ ํด๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ ํ์ผ๋ค์ ์์ฑํ๋ ์์ ์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
ํ์ผ ํธ์ง๊ณผ ๋ด์ฉ ํ์ธ
vi (Vim Editor)
vi filename.txt
ํฐ๋ฏธ๋์์ ์ง์ ํ์ผ์ ํธ์งํ ์ ์๋ ์๋ํฐ์ ๋๋ค. ๊ฐ๋จํ vim ์ฌ์ฉ๋ฒ์ ์์๋๋ฉด ๋์์ด ๋ผ์:
i: ํธ์ง ๋ชจ๋ ์ง์Esc: ๋ช ๋ น ๋ชจ๋๋ก ์ ํ:wq: ์ ์ฅ ํ ์ข ๋ฃ:q!: ์ ์ฅํ์ง ์๊ณ ๊ฐ์ ์ข ๋ฃ
cat (Concatenate)
cat README.md # ํ์ผ ๋ด์ฉ ํ์ธ
cat file1.txt file2.txt # ์ฌ๋ฌ ํ์ผ ๋ด์ฉ ํ ๋ฒ์ ๋ณด๊ธฐ
ํ์ผ ์ญ์ ํ๊ธฐ
rm (Remove)
rm filename.txt # ํ์ผ ์ญ์
rm -r foldername # ํด๋์ ๋ด๋ถ ํ์ผ ๋ชจ๋ ์ญ์
rm -i filename.txt # ์ญ์ ์ ํ์ธ ์์ฒญ
โ ๏ธ ์ฃผ์์ฌํญ: rm -rf ๋ช
๋ น์ด๋ ๋งค์ฐ ๊ฐ๋ ฅํด์ ๋ชจ๋ ํ์ผ์ ์ญ์ ํ ์ ์์ต๋๋ค. ์ฌ์ฉํ ๋ ๋ฐ๋์ ๊ฒฝ๋ก๋ฅผ ํ์ธํ์ธ์!
์ ์ฉํ ๋ณด์กฐ ๋ช ๋ น์ด๋ค
clear
clear
ํฐ๋ฏธ๋ ํ๋ฉด์ ๊น๋ํ๊ฒ ์ ๋ฆฌํด์ค๋๋ค. ํ๋ฉด์ด ๋ณต์กํด์ก์ ๋ ์ฌ์ฉํ๋ฉด ์ข์์.
history
history
์ด์ ์ ์ฌ์ฉํ ๋ช ๋ น์ด๋ค์ ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ๋ค์ ์ ๋ ฅํ ๋ ์ ์ฉํด์.
man (Manual)
man ls # ls ๋ช
๋ น์ด ์ค๋ช
์ ๋ณด๊ธฐ
man mkdir # mkdir ๋ช
๋ น์ด ์ค๋ช
์ ๋ณด๊ธฐ
๋ช
๋ น์ด์ ์์ธํ ์ฌ์ฉ๋ฒ์ ํ์ธํ ๋ ์ฌ์ฉํฉ๋๋ค. q๋ฅผ ๋๋ฌ ๋๊ฐ ์ ์์ด์.
which
which node # node.js ์ค์น ๊ฒฝ๋ก ํ์ธ
which python # python ์ค์น ๊ฒฝ๋ก ํ์ธ
ํน์ ํ๋ก๊ทธ๋จ์ด ์ด๋์ ์ค์น๋์ด ์๋์ง ์ฐพ์ ๋ ์ฌ์ฉํฉ๋๋ค.
๊ณ ๊ธ ๋ช ๋ น์ด๋ก ๋ ๋ฒจ์ ํ๊ธฐ
๊ธฐ๋ณธ ๋ช ๋ น์ด์ ์ต์ํด์ก๋ค๋ฉด, ๋งฅ์์ ๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ๋ค์ ํ์ฉํด๋ณผ ์ ์์ด์. ์ด๋ฐ ๋ช ๋ น์ด๋ค์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ต์ ํํ๊ฑฐ๋ ์์คํ ์ค์ ์ ๋ณ๊ฒฝํ ๋ ์ ์ฉํฉ๋๋ค.
์จ๊น ํ์ผ ํ์ ํ์ฑํ
defaults write com.apple.finder AppleShowAllFiles -bool TRUE && killall finder
๋งฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์คํ
ํ์ผ์ด๋ ์ค์ ํ์ผ๋ค์ ์จ๊ฒจ๋์ต๋๋ค. ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด .gitignore, .env ๊ฐ์ ์จ๊น ํ์ผ๋ค์ ์์ฃผ ๋ค๋ค์ผ ํ๋๋ฐ, ์ด ๋ช
๋ น์ด๋ก ํ์ธ๋์์๋ ์จ๊น ํ์ผ๋ค์ ๋ณผ ์ ์์ด์.
ํด๋ ๋ด์ฉ ๋ณต์ฌํ๊ธฐ
ditto -V ~/source/folder/ ~/new/folder/
ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ๋ณต์ฌํ๊ฑฐ๋ ๋ฐฑ์ ์ ๋ง๋ค ๋ ์ ์ฉํ ๋ช ๋ น์ด์ ๋๋ค. ํด๋ ๊ตฌ์กฐ์ ๋ด์ฉ์ ๋ชจ๋ ๋ณต์ฌํด์ค์.
์คํฌ๋ฆฐ์ท ์ค์ ๋ณ๊ฒฝ
defaults write com.apple.screencapture type jpg && killall SystemUIServer
๋งฅ์ ๊ธฐ๋ณธ ์คํฌ๋ฆฐ์ท ํ์์ PNG์ธ๋ฐ, ์ด ๋ช ๋ น์ด๋ก JPG๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ์ถ์ ๋ ์ ์ฉํด์.
์ ์ ๋ชจ๋ ๋นํ์ฑํ
caffeinate
๊ธด ์๊ฐ ๋์ ์์ ํ ๋๋ ํ์ผ์ ๋ค์ด๋ก๋ํ ๋, ๋งฅ์ด ์ ๋ค์ง ์๋๋ก ํด์ฃผ๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ฐ๋ฐ ์๋ฒ๋ฅผ ๋๋ ค๋๊ณ ๋ค๋ฅธ ์์ ์ ํ ๋๋ ์ ์ฉํด์.
์๋ ์ฌ์์ ์ค์
sudo systemsetup -setrestartfreeze on
์์คํ ์ด ์์ ํ ๋ฉ์ท์ ๋ ์๋์ผ๋ก ์ฌ์์ํ๋๋ก ์ค์ ํ๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ฐ๋ฐ์ฉ ๋งฅ์์ ์์ ์ฑ์ ๋์ด๊ณ ์ถ์ ๋ ์ค์ ํด๋๋ฉด ์ข์์.
ํฐ๋ฏธ๋ ๋ง์คํฐ๊ฐ ๋๋ ํ๋ค
ํฐ๋ฏธ๋์ ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ์ค์ฉ์ ์ธ ํ๋ค์ ๊ณต์ ํด๋๋ฆด๊ฒ์.
์๋์์ฑ ํ์ฉํ๊ธฐ
Tab ํค๋ฅผ ๋๋ฅด๋ฉด ๋ช
๋ น์ด๋ ํ์ผ๋ช
์ด ์๋์์ฑ๋ฉ๋๋ค. ๊ธด ํ์ผ๋ช
์ ์
๋ ฅํ ๋ ์ ๋ง ์ ์ฉํด์.
์ด์ ๋ช ๋ น์ด ์ฌ์ฌ์ฉํ๊ธฐ
์์ชฝ ํ์ดํ ํค๋ฅผ ๋๋ฅด๋ฉด ์ด์ ์ ์ฌ์ฉํ ๋ช ๋ น์ด๋ค์ ๋ค์ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค. ๊ฐ์ ์์ ์ ๋ฐ๋ณตํ ๋ ์๊ฐ์ ์ ์ฝํ ์ ์์ด์.
์ฌ๋ฌ ๋ช ๋ น์ด ํ ๋ฒ์ ์คํํ๊ธฐ
mkdir new_project && cd new_project && touch index.html
&&๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋ช
๋ น์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
๋ณ์นญ(Alias) ์ค์ ํ๊ธฐ
์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋ณ์นญ์ ๋ง๋ค์ด๋๋ฉด ํธ๋ฆฌํด์:
alias ll='ls -al'
alias proj='cd ~/Documents/projects'
์์ ํ๊ฒ ํฐ๋ฏธ๋ ์ฌ์ฉํ๊ธฐ
ํฐ๋ฏธ๋์ ๊ฐ๋ ฅํ ๋๊ตฌ์ธ๋งํผ ์ฃผ์ํด์ผ ํ ์ ๋ค์ด ์์ด์:
- ์ญ์ ๋ช
๋ น์ด ์ฌ์ฉ ์ ์ฃผ์:
rm -rf๊ฐ์ ๊ฐ๋ ฅํ ์ญ์ ๋ช ๋ น์ด๋ ๋ณต๊ตฌ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค - sudo ๋ช ๋ น์ด ์ ์คํ๊ฒ ์ฌ์ฉ: ์์คํ ๊ถํ์ด ํ์ํ ์์ ์ ๋ฐ๋์ ๋ด์ฉ์ ํ์ธํ๊ณ ์คํํ์ธ์
- ๊ฒฝ๋ก ํ์ธ ์ต๊ดํ: ๋ช
๋ น์ด ์คํ ์ ์
pwd๋ก ํ์ฌ ์์น๋ฅผ ํ์ธํ๋ ์ต๊ด์ ๋ง๋์ธ์ - ๋ฐฑ์ ์ ์ค์์ฑ: ์ค์ํ ํ์ผ์ ๋ฏธ๋ฆฌ ๋ฐฑ์ ํด๋์ธ์
๋ค์ ๋จ๊ณ๋ก ๋์๊ฐ๊ธฐ
ํฐ๋ฏธ๋ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์ตํ๋ค๋ฉด, ์ด์ ๋ ํฐ ์ธ์์ผ๋ก ๋์๊ฐ ์ฐจ๋ก์ ๋๋ค. Git ๋ช ๋ น์ด๋ฅผ ๋ฐฐ์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํด๋ณด๊ฑฐ๋, ํจํค์ง ๋งค๋์ ์ธ Homebrew๋ฅผ ์ค์นํด์ ๊ฐ๋ฐ ๋๊ตฌ๋ค์ ๊ด๋ฆฌํด๋ณด์ธ์. Node.js๋ Python ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ค์นํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด๋ณด๋ ๊ฒ๋ ์ข์ ๋ค์ ๋จ๊ณ๊ฐ ๋ ๊ฒ์ ๋๋ค.
ํฐ๋ฏธ๋์ ์ฒ์์ ์ด์ํ์ง๋ง, ๊พธ์คํ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ์์ด์๋ ์ ๋ ๋๊ตฌ๊ฐ ๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๋ ์ฌ์ ์์ ํฐ๋ฏธ๋ ์ค๋ ฅ์ ๋ถ๋ช
ํ ํฐ ๋์์ด ๋ ๊ฑฐ์์. ํ๋์ฉ ์ฐจ๊ทผ์ฐจ๊ทผ ์ตํ๋๊ฐ์๊ธธ ๋ฐ๋ผ๋ฉฐ, ์ธ์ ๋ ๋งํ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด man ๋ช
๋ น์ด๋ฅผ ํ์ฉํด์ ๋์๋ง์ ํ์ธํด๋ณด์ธ์!