Terminal ๋ช ๋ น์ด
Shell command
—— MANUAL
man
๋ช ๋ น์ด์ ๋ํ ์ค๋ช . ์ด๋ค ์ต์ ๋ค์ ํจ๊ป ์จ์ผํ๋์ง ๋ชจ๋ฅด๊ฒ ์ ๋ ์ฌ์ฉ.
clear
ํฐ๋ฏธ๋์ ๊น๋ํ๊ฒ ์ ๋ฆฌ.
—— NAVIGATING FILE SYSTEM
pwd
Print working directory ํ์ฌ ๋ด๊ฐ ์๋ ๊ณณ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ ์ ์๋ค.
ls
(List) ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ๊ฒฝ๋ก์ ํด๋, ๊ฒฝ๋ก๋ค์ ํ์ธํ ์ ์๋ค.
ls + (file or directory name)
ls -l ๋ ์์ธํ.
ls. -a. ์จ๊ฒจ์ง ํ์ผ, ๊ฒฝ๋ก๊น์ง ๋ณด๊ณ ์ถ๋ค๋ฉด.
ls -la ๋๊ฐ ๋ค ํฉ์ณ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด.
open .
ํฐ๋ฏธ๋์ ์๋ ํ์ฌ ๊ฒฝ๋ก๋ฅผ ํ์ผ ํ์๊ธฐ์์ ์ด๊ณ ์ถ์ ๋ ์ฌ์ฉ.
cd
Change directory
ํ์ฌ ์๋. ๊ฒฝ๋ก์ ์์น๋ฅผ ๋ณ๊ฒฝ
cd + (file name)
cd .. ํ์ฌ ์๋ ๊ฒฝ๋ก์ ๋ฐ๋ก ์์ ๊ฒฝ๋ก๋ก ์ด๋.
cd ~ ํ์ฌ ์ฌ์ฉ์๊ฐ ์๋ ์ต์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋.
cd - ๋ฐ๋ก ์ ์ ๊ฒฝ๋ก๋ก ์ด๋. ์ ์ฉํจ
find
ํน์ ํ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฐพ์ ๋ ์ ์ฉํ๋ค.
find -type file -name “*.txt”
ํ์ฌ ๊ฒฝ๋ก๋ถํฐ ์์ํด์ ํ์ ์ file์ด๊ณ , ์ด๋ฆ์ txt๋ก ๋๋๋ ํ์ผ์ ๋ํด ์ฐพ๊ณ ์ถ์ ๋.
which
๋ด๊ฐ ์คํํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋จ์ด ์ด๋ ์ค์น, ์ค์ ๋์ด์๋์ง
which node ๋ ธ๋์ ์คํ ๊ฒฝ๋ก๋ฅผ ํ์ธํด ๋ณผ ์ ์๋ค.
which code ๋น์ฃผ์ผ์คํฌ๋์ค ์ฝ๋์ ๊ฒฝ๋ก๋ฅผ ํ์ธํด ๋ณผ ์ ์๋ค.
—— CREATE AND MANAGE FILES
—— file
touch
์๋ก์ด ํ์ผ ๋ง๋ค ์ ์๋ค.
touch new_file1.txt
cat
file ์์ ๋ด์ฉ์ ๋น ๋ฅด๊ฒ ํ์ธํด ๋ณผ ์ ์๋ค
cat new_file1.txt
cat new_file1.txt new_file2.txt
echo
echo ๋ค์ ๋ฌธ์์ด์ ํฐ๋ฏธ๋์ echoํ ์ ์๋ค.
file ์์ ์ปจํ ์ธ ๋ก ์ง์ ๋ฃ์ด์ค๋ค.
echo “hello world”
echo “hello world” > new_file3.txt
echo ์์ ๋ฌธ์์ด์ content๋ก ์ ํ์ผ์ ๋ฃ์ด์ค๋ค. ๊ธฐ์กด ํ์ผ์ด๋ฉด ๋ฎ์ด ์์์ค๋ค.
echo. “Hello. world”. >> new_file3.txt
๋ฎ์ด ์์ฐ์ง ์๊ณ , ๋ค์ ๋ถ์ด๊ณ ์ถ๋ค๋ฉด. >>
—— directory
mkdir
make directory
mkdir dir3 ํ์ฌ ์๋ ๊ฒฝ๋ก์์ ์๋ก์ด ๊ฒฝ๋ก๊ฐ ๋ง๋ค์ด์ง๋ค.
mkdir -p dir4/subdir1/subdir2 ํ ๋ฒ์ ์ฐ์์ ์ธ(์์ ์์) ๊ฒฝ๋ก๋ฅผ ๋ง๋ค ์ ์๋ค.
cp
cp file1.txt dir1/
mv
mv file2.txt dir1/
mv file1.txt file2.txt
rm (์ญ์ )
rm file2.txt
rm -r dir2 (folder๋ฅผ ์ญ์ ํ ๋๋ recursive ์ต์ ์ธ -r์ ์ฌ์ฉํด์ค์ผํ๋ค. ์์ ์๋ ๊ฒ๋ค๋ ํจ๊ป ์ญ์ ๋จ)
——
grep
Global regular expression print
ํ ํ์ผ ์์์ ํค์๋๋ก ๊ฒ์ํ๊ฑฐ๋ ํ๋ก์ ํธ ์ ์ฒด์ ํํด์ ํค์๋๋ก ๊ฒ์ํ ๋ ์ฌ์ฉ. Grep ๋ค์์ ๊ฒ์ํ๊ณ ์ ํ๋ ํค์๋๋ฅผ ์ ๋ ฅํ๊ณ , ํ์ผ์ ๋์์ผ๋ก ์ฐพ๊ณ ์ถ๋ค๋ฉด ๋์ ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ๊ฑฐ๋, ์ ์ฒด๋ฅผ ๋ปํ๋ *๋ฅผ ์ฌ์ฉํ๋ค.
grep "world" *.txt
์ ํํ ๋ช๋ฒ ์งธ ์ค์ ์๋์ง ํ์ธํ๊ณ ์ถ๋ค๋ฉด
grep -n “World” *.txt
๋๋ฌธ์, ์๋ฌธ์ ์๊ด์์ด ๊ฒ์ํ๊ณ ์ถ๋ค๋ฉด insensitive option์ ์ด์ฉ.
grep -ni “world” *.txt
ํ์ฌ ํ๋ก์ ํธ ์์ ์๋ ๋ชจ๋ ๊ฒฝ๋ก ์์์ ์ฐพ๊ณ ์ถ์ ๋ recursive option ์ด์ฉ. ์ฃผ๋ก ์ด์ฉ!
grep -nir “world” .
____WORK WITH ENVIRONMENT VARIABLES
ํ๊ฒฝ ๋ณ์ ์ค์ ํ๊ธฐ
export
export MY_DIR="dir1"
env
์ค์ ๋ ๋ชจ๋ ํ๊ฒฝ ๋ณ์๋ค์ ๋ณด๊ณ ์ถ๋ค๋ฉด
ํ๊ฒฝ๋ณ์ ๋ช ์ผ๋ก ์ด๋ํ๊ธฐ
cd $MY_DIR ->(dir1์ผ๋ก ์ด๋๋จ.
ํ๊ฒฝ๋ณ์ ์ ๊ฑฐ
unset MY_DIR
___ BONUS
์์ ๋ชจ๋์์ ๋๊ฐ๋ ๋ฒ
Vi / Vim (terminal, vscode์์ ์์ฃผ ์ฌ์ฉ๋๋ text editor)
Vim file1.txt (์ํ๋ ํ์ผ์ ๋ง๋ค ์ ์๊ณ , in editor ๋ชจ๋๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.)
Vim editor์ ๋ค์ด์์ ๋ ์์ ํ๊ณ ์ถ๋ค๋ฉด i ๋ฅผ ํด๋ฆญํด์ผ ํ๋ค. ์ดํ ๊ธ ์์ ํ๊ฑฐ๋ ์ญ์
์์ ์ ๋คํ๊ณ insert ๋ชจ๋์์ ๋๊ฐ๋ ค๋ฉด esc ํด๋ฆญ, ์ดํ :wq (์ ์ฅํ๊ณ ์ข ๋ฃ)
:w(write changes) ๋ณ๊ฒฝ ์ฌํญ ์ ์ฅ
:q(quit)
๋ฐฐ์ด ์ถ์ฒ: https://www.youtube.com/watch?v=EL6AQl-e3AQ