๋ฆฌ๋ ์ค ํ๊ฒฝ ๊ฐ๋ฐ์ ๋ก์ผ์ ๋ฌ์! ๐ ref
- ์ค๋ก์ง ๋ฌธ์์ด๋ก๋ง ์ด๋ฃจ์ด์ง ์ธํฐํ์ด์ค
- ๊ตฌ์ฒด์ ์ธ ์ค์ฒด๊ฐ ์๋ ์ถ์์ ์ธ ๋จ์ด๋ก ๊ตฌ์ฑ
- ์ด ํ๊ฒฝ์์๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ฑฐ๋ ์ ๋ ฅํ๋ ๊ฒ๋ง ๊ฐ๋ฅ (only ๋ฌธ์์ด)
- ์ปค๋งจ๋๋ผ์ธ ์ธํฐํ์ด์ค๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ตฌํ๋ ๊ธฐ๊ณ
- ๋ฆฌ๋ ์ค๋ ๋งฅ์์ ์ ๊ณต๋๋ ํฐ๋ฏธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํํ๋ ๊ฐ์ ํฐ๋ฏธ๋ ๊ธฐ๊ณ. ์ปค๋งจ๋๋ผ์ธ ์ธํฐํ์ด์ค๊ฐ ๊ฐ๋ ์ด๋ผ๋ฉด, ํฐ๋ฏธ๋์ ์ปค๋งจ๋๋ผ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋(ํน์ ๊ตฌํํ๋) ๋ฌผ๋ฆฌ์ /๊ฐ์์ ๊ธฐ๊ณ๋ผ๊ณ ํ ์ ์์
- ์ปค๋งจ๋๋ผ์ธ ์ธํฐํ์ด์ค๋ก ๊ตฌํ๋ ํฐ๋ฏธ๋์์ ์คํ๊ฐ๋ฅํ ๋ํํ ํ๋ก๊ทธ๋จ
- ์ฆ, ์ปค๋งจ๋๋ผ์ธ ์ธํฐํ์ด์ค๋ก ์ด์์ฒด์ ์ปค๋์ ๋ช ๋ น์ ๋ด๋ฆด ์ ์๋ ์ธํฐ๋ ํฐ๋ธ ํ๋ก๊ทธ๋จ
- ์
ธ์ REPL์ด๋ผ๊ณ ๋ ๋ถ๋ฆ. REPL์ด๋ Read-eval-print-loop์ ์ค์๋ง๋ก ์
ธ์ด ๋์ํ๋ ๋ฐฉ์์ ๋ํด์ ์ ๋๋ฌ๋ด์ค.
๐ท ๋จผ์ ์ฌ์ฉ์๊ฐ ํ ์ค์ ๋ช ๋ น์ด(ํ ์คํธ)๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด, ์ด ๋ด์ฉ์ ์ ธ์ด ์ฝ์ด๋ค์ ๋๋ค.(read) ๊ทธ๋ฆฌ๊ณ ๋ช ๋ น์ด๋ฅผ ํด์ํด์ ์คํํ๊ณ (eval), ์คํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅ(print)ํฉ๋๋ค. ์ ธ์ ์ด ๊ณผ์ ์ ๋ฐ๋ณต(loop)ํฉ๋๋ค. ์ ธ ์์์ ์ฌ์ฉ์๊ฐ ํ ์ผ์ "๋ช ๋ น์ด"๋ฅผ ์ ๋ ฅํ๋ ๊ฒ๋ฐ์ ์์ต๋๋ค.
ํฐ๋ฏธ๋์ ์คํํด์ pwd
๋ฅผ ์
๋ ฅํด๋ด
๋๋ค.
$ pwd
/User/xtring
Shell์ ์คํํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ๋๋ ํฐ๋ฆฌ์์ ์์ํฉ๋๋ค. ๋งฅ์ ๊ฒฝ์ฐ /Users/<USER_NAME>
, ๋ฆฌ๋
์ค์ ๊ฒฝ์ฐ /home/<USER_NAME>
์ด ๋ฉ๋๋ค. ๋งฅ์ด๋ ๋ฆฌ๋
์ค์์๋ ๋๋ ํฐ๋ฆฌ ๊ตฌ๋ถ์๋ก /
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ๋ ์ต์์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ(/
)๋ฅผ ์์์ผ๋ก ๋๋ ํฐ๋ฆฌ๋ ํ์ผ์ด ํฌํจ๋์ด ์์ต๋๋ค. /Users/xtring
๋ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ(/
)์ ์ํ Users
๋๋ ํฐ๋ฆฌ์ ์ํ xtring
๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋๋ ํฐ๋ฆฌ๋ฅผ ์ด๋ํ๊ธฐ ์ํด์๋ cd
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. cd
๋ช
๋ น์ด๋ ์ธ์๊ฐ ํ์ํฉ๋๋ค. cd <DIR>
ํ์์ผ๋ก ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ฉด <DIR>
path ๋๋ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
$ cd /
$ pwd
/
์์ ๊ฐ์ด ๋ช ๋ น์ด๋ฅผ ์คํ๋ณด๋ฉด ๋๋ ํฐ๋ฆฌ์ ์ต์๋จ(root)๋ก ์ด๋ํ๊ณ ๊ฒฝ๋ก๋ฅผ ํ์ธํด๋ณด๋ ์ ์ด๋ํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
$ pwd
/
$ cd /Users/xtring
$ pwd
/Users/xtring
๋ค์ ์๋ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํด๋ณด์์ต๋๋ค.
- ํ์ฌ ๋๋ ํฐ๋ฆฌ ํํ๋ฒ, ์ ๋ ๊ฒฝ๋ก์ ์ํ ๊ฒฝ๋ก ์ดํดํ๊ธฐ
Shell์์๋ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ
.
(๋ง์นจํ)๋ก ๋ํ๋ ๋๋ค. ํ์ฌ ๋๋ ํฐ๋ฆฌ์์ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํด๋ณด๊ฒ ๋๋ค.
$ pwd
/Users/xtring
$ cd .
$ pwd
/Users/xtring
/(๋ฃจํธ ๋๋ ํฐ๋ฆฌ)๋ก ์คํํ๋ ๊ฒฝ๋ก๋ช
์ ์ ๋ ๊ฒฝ๋ก๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. ์ ๋ ๊ฒฝ๋ก๋ ๋ฃจํธ ๋ฆฌํ
ํฐ๋ฆฌ๋ก๋ถํฐ ๋ชฉ์ ์ง๊น์ง ๋ค๋ค๋ฅด๋ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ๋ํ๋
๋๋ค. /Users/xtring
์ /
์๋์ Users
์๋์ xtring
๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค. .
์ ์ด์ ๋ฌ๋ฆฌ ์๋ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ผ ๋ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ์ฌ ๋๋ ํฐ๋ฆฌ๊ฐ /Users
๋ผ๋ฉด /Users/xtring
์ ์ํ ๊ฒฝ๋ก๋ ./xtring
์
๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ./
๋ฅผ ์๋ตํด๋ ์ํ๊ฒฝ๋ก๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฆ ./xtring
๊ณผ xtring
์ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค. ํ์ง๋ง ์ ๋ ๊ฒฝ๋ก๋ก ํํ๋ /xtring
๊ณผ๋ ์์ ํ ๋ค๋ฅธ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค. ์ด ๋๊ฐ์ง ๊ฒฝ๋ก ์ง์ ๋ฐฉ๋ฒ์ ์ํฉ์ ๋ง๊ฒ ์ฌ์ฉํฉ๋๋ค.
(1) ๋ด ์์น๋ฅผ ์ ํํ ์๋ ๊ฒฝ์ฐ >> ์๋๊ฒฝ๋ก (2) ๋ด ์์น๋ฅผ ์ ํํ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ >> ์ ๋ ๊ฒฝ๋ก
..
๋ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
$ pwd
/Users/xtring
$ cd ..
$ pwd
/Users
..
์ ์ฌ๋ฌ๋ฒ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
$ pwd
/Users/xtring
$ cd ../../
$ pwd
/
์๋ ๋๋ ํฐ๋ฆฌ๋ ๋ง ๊ทธ๋๋ก ์๋์ ์ธ ๊ฐ๋
์ด๋ฏ๋ก ๋
ผ๋ฆฌ์ ์ผ๋ก ํ์ฅ ์ํฌ ์๋ ์์ต๋๋ค.
์ด๋ ๋ณ ์๋ฏธ๋ ์์ง๋ง ../
๋ฅผ ํตํด ์๋์ ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
$ pwd
/Users/xtring
$ cd ../xtring/../../Users/../Users/xtring
$ pwd
/Users/xtring
~
๋ ํ๋๋ ํฐ๋ฆฌ ์
๋๋ค. ๋งฅ์ ๊ฒฝ์ฐ ํ ๋๋ ํฐ๋ฆฌ๋ /Users/
์๋, ๋ฆฌ๋
์ค๋ /home/
์๋ ์
๋๋ค.
ํ์ ์ฆ ์ฌ์ฉ์ ๊ณ์ ์ ์์น๋ฅผ ๋งํฉ๋๋ค. ์ ๊ฒฝ์ฐ xtring์ด๋ฆ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ /Users/xtring
์ด ๋๊ฒ ๋ค์.
~
๋ฅผ ํ์ฅํ ํํ๋ฒ์ผ๋ก ~<USERNAME>
์ด ์์ต๋๋ค. ~
๋ฐ๋ก ๋ค์ ์ฌ์ฉ์ ์ด๋ฆ์ ๋ถ์ด๋ฉด ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค. ์์ cd
๋ฅผ ์ฌ์ฉํ๋ฉด ์ํ๋ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๋ ๊ฒ์ ์์๋ณด์๋๋ฐ cd
๋ค์ ์ธ์๋ฅผ ๋ถ์ด์ง ์์ผ๋ฉด ํ ๋๋ ํฐ๋ฆฌ๋ก ๋ฐ๋ก ์ด๋ํฉ๋๋ค.
์ฌ์ฉ์ ๊ถํ์ผ๋ก ์์
์ ํ ๋๋ ์ผ๋ฐ์ ์ผ๋ก ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ด๋ฆฌ์ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ฃจํธ ์๋์ ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์์๋ก ์์ฃผ ์ฌ์ฉ๋๋ ๋๋ ํฐ๋ฆฌ ์ค ํ๋๊ฐ /tmp
์ด๋ ์ฐธ๊ณ ํด์ฃผ์ธ์. ๋จ, /tmp
์ ์ ์ฅํ ์์
๋ด์ฉ์ ์ฌ๋ถํ
ํ๋ฉด ์ฌ๋ผ์ง ์ ์์ผ๋ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉ์๋ฅผ ํ์ธํ๋ ๋ช
๋ น์ด๋ whoami
์
๋๋ค.
$ whoami
xtring
์
ธ์์ ํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์์
์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ด๋ํ๊ณ , ๋ช
๋ น์ด๋ฅผ ์คํํ๋ ๊ฒ์
๋๋ค. ๋๋ ํฐ๋ฆฌ์์ ์ด๋ค ๋ช
๋ น์ด๋ฅผ ์คํํ๊ธฐ ์ ๋๋ ํฐ๋ฆฌ์ ์ ๋ณด๋ฅผ ์ป๋ ๊ฒ์ ํ์์ ์ด๋ฉฐ ์ด๋ฅผ ์์๋ณด๊ธฐ ์ํด์ ls
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
/etc
๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๊ณ ls
๋ฅผ ์คํํด๋ด
๋๋ค.
/etc
๋ ์ฃผ๋ก ์์คํ
๊ณผ ๊ด๋ จ๋ ์ค์ ํ์ผ๋ค์ด ๋ชจ์ฌ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ผ, ํด๋๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ์ํ๋ฒณ ์์ผ๋ก ๋์ดํฉ๋๋ค.
์ด ์์๋ ๋ง์ ๋๋ ํฐ๋ฆฌ๋ค๊ณผ ํ์ผ์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋๋ฐ ๊ธฐ๋ณธ์ ์ธ Bash ์ ธ์ ์ฌ์ฉํ๋ค๋ฉด ์ง๊ด์ ์ผ๋ก ์ด๋ค ํ์ผ์ด ํ์ผ์ด๊ณ ๋๋ ํฐ๋ฆฌ์ธ์ง ํ์ธํ ์ ์๋ค์.
-G
์ต์
์ ์ฌ์ฉํ๋ฉด ํ์
์ ๋ฐ๋ผ์ ๋ค๋ฅธ ์์ผ๋ก ์ถ๋ ฅํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํฐ์์ผ๋ก ํ์๋ ๊ฒ์ ํ์ผ, ์์์ด ์๋ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ํ๋ด์ง๋ง ์ ธ์ ๊ธฐ๋ฅ์ ์ค์ ํด ๋์ผ์ จ๋ค๋ฉด ๋ค๋ฅธ ์์์ผ๋ก ํ์๋ ์ ์์ต๋๋ค.
ls -d */
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ํด๋๋ค๋ง ๋ณผ ์ ์์ต๋๋ค.
ls -l -G
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์์ธํ ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ -l
์ long์ ์๋ฏธํฉ๋๋ค. ์์ธํ ์ ๋ณด๋ ๊ถํ, ์์ ์, ๊ทธ๋ฃน, ํ์ผํฌ๊ธฐ, ์์ ์ผ์ ์๋ฏธํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ls
๋ช
๋ น์ด๋ ์ํ๋ฒณ์์ผ๋ก ํ์ผ๊ณผ ํดํฐ๋ฅผ ๋์ดํ์ง๋ง ์ถ๋ ฅ ์์๋ฅผ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค.
-t
์ต์
์ ์ต๊ทผ์ ์์ ๋ ํ์ผ ์์๋๋ก ์ ๋ ฌํฉ๋๋ค.
-S
์ต์
์ ์ฌ์ด์ฆ๊ฐ ํฐ ํ์ผ๋ถํฐ ์ถ๋ ฅํด์ค๋๋ค.
-r
์ต์
์ ๋ถ์ด๋ฉด ์์๋ฅผ ๊ฑฐ๊พธ๋ก ์ถ๋ ฅํด์ค๋๋ค.
-a
์ต์
์ .
์ผ๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ๋ ์ถ๋ ฅํฉ๋๋ค.(ls -al
: ๋๋ ํฐ๋ฆฌ์ ๋ชจ๋ ํ์ผ, ํด๋์ ์์ธํ ์ ๋ณด๋ฅผ ๋ณด๊ธฐ ์ํด์ ์์ฃผ ์ฌ์ฉํฉ๋๋ค.)
๊ทธ๋ ๋ค๋ฉด ls -l -S -G -r
์ ์คํํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ํ์ผ ๋ฐ ํด๋์ ์์ธํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๊น๋ก ํ์ผ๊ณผ ํด๋๋ฅผ ๊ตฌ๋ถํ๋ฉฐ ์์ ์ฌ์ด์ฆ ํฌ๊ธฐ ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
๋๋ ํฐ๋ฆฌ ์กฐ์์ ์ํ ๊ธฐ๋ณธ ๋ช ๋ น์ด๋ค์ ๋ฐฐ์ฐ๊ธฐ ์ ์ค์ต์ ์ฌ์ฉํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค.
$ cd ~
$ mkdir work
$ cd work
$ pwd
/Users/xtring/work
$ ls
์ฌ๊ธฐ์ mkdir
๋ช
๋ น์ด๋ ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์ธ์๋ก ๋ฐ์ ์ด๋ฆ์ผ๋ก ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. mkdir <name>
์ด๋ ๊ฒ ๋๋ ํฐ๋ฆฌ๋ฅผ ํ๋ ์์ฑํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ ls
๋ฅผ ์คํํ์ง๋ง ์๋ฌด ๋ด์ฉ์ด ๋์ค์ง ์์์ต๋๋ค. ์๋ก ์์ฑํ ๋๋ ํฐ๋ฆฌ์ด๋ ๋น์ฐํ ๊ฒ์ด์ฃ .
์๋ ๋ช ๋ น์ด๋ ๊ฐ๋ฅํ ๊น์?
$ mkdir hello/world
์์ฝ์ง๋ง ์คํจํฉ๋๋ค. ์๋ง ์๋๋ hello
๋๋ ํฐ๋ฆฌ ์๋์ world
๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ถ์์ ๊ฑฐ์์. ํ์ง๋ง ๋น์ฐํ hello
๋๋ ํฐ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ์คํจํฉ๋๋ค...!
์ฐจ๋ก๋ก hello
๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , ๋ค์ cd
๋ก ์ด๋ํ ํ world
๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค ์๋ ์์ง๋ง ์ํ๋ ๋ฐ๋ก ์คํํ์ง ๋ชปํ๋ค์. ์ด ๊ฒฝ์ฐ -p
์ต์
์ ์ฌ์ฉํด์ ํ๋ฒ์ ๋๋ ํฐ๋ฆฌ๋ฅด ๋ง๋ค ์ ์์ต๋๋ค.
$ mkdir -p hello/world
ls
์ -R
์ต์
์ ๋ถ์ฌ ์ฌ๊ท์ ์ผ๋ก ํ์ฌ ๋๋ ํฐ๋ฆฌ ์๋์ ๋ด์ฉ์ ๋ชจ๋ ํ์ธํด๋ณผ ์ ์์ต๋๋ค.
(ํ ๋๋ ํฐ๋ฆฌ์์ ์ฌ์ฉํ๊ฒ๋๋ฉด ๊ทธ ์์ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ํํจ์ผ๋ก hello ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํด์ ์ฌ์ฉํฉ๋๋ค.)
$ cd hello
$ ls -R
world
./world:
๋ชจ๋ ํด๋๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ํํ๊ธฐ ๋๋ฌธ์ root์ ๊ฐ๊น์ด ๊ณณ์์ ์คํํ๊ฒ ๋๋ฉด ํ๋ฃจ์ข ์ผ ์คํ๋๊ณ ์์ ์ ์์ด์...!
์ด๋ฒ์๋ ํ์ผ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ํ์ผ์ ๋ง๋๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ touch
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
touch <name>
$ pwd
/Users/xtring/hello
$ touch a
$ ls -G
a world
touch
์ ์๋ ์ฉ๋๋ (์ด๋ฏธ ์กด์ฌํ๋) ํ์ผ์ ์ ๊ทผ ์๊ฐ ํน์ ์์ ์๊ฐ์ ๋ณ๊ฒฝํ๋ ์ผ์
๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ฒ๋ผ ๋น ํ์ผ์ ๋ง๋๋ ์ฉ๋๋ก๋ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ง๋ค์ด์ง a ํ์ผ์ ๋น์ด์์ต๋๋ค. touch
๋ช
๋ น์ด๋ฅผ ํตํด์ ์ฌ๋ฌ ๊ฐ ํ์ผ์ ํ๊บผ๋ฒ์ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
$ touch b c d e
$ ls
a b c d e world
mv
๋ ํ์ผ ์ด๋ฆ ์ด๋, cp
๋ ํ์ผ ๋ณต์ฌ์ ์ฌ์ฉํฉ๋๋ค.
cp <SRC> <DEST>
mv <SRC> <DEST>
์ฌ๊ธฐ์ <SRC>
๋ ๋ณต์ฌ/์ด๋ํ๊ณ ์ ํ๋ ํ์ผ์ ๊ฒฝ๋ก, <DEST>
๋ ์๋ก์ด ๊ฒฝ๋ก์
๋๋ค. a
ํ์ผ์ airport
๋ก ์ด๋ฆ์ ๋ณ๊ฒฝํ๊ณ , b
ํ์ผ์ ๋ณต์ฌํด batman
ํ์ผ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
$ mv a airport
$ ls
airport b c d e world
$ cp b batman
$ ls
airport b batman c d e world
์๋ ๋ช ๋ น์ด๋ฅผ ํด์ํด๋ด ์๋ค.
$ mv airport world/
world
๋๋ ํฐ๋ฆฌ ์๋๋ก airport
๋ฅผ ์ด๋์ํต๋๋ค. ๋ผ๋ ์๋ฏธ๋ผ๋ ๊ฒ์ผ๋ก ํด์๋๋์? ์ด ๋ช
๋ น์ด๋ mv airport world/airport
์ ๊ฐ์ ์๋ฏธ์ ๊ฐ์ต๋๋ค.
๋ค์ ํ์ผ์ ์์ ๋๋ ํฐ๋ฆฌ๋ก ์ฎ๊ธธ๋๋ ์ ๋ ๊ฒฝ๋ก(/User/xtring/hello)๋ฅผ ์ง์ ํ ์ ๋ ์์ง๋ง, ์๋๊ฒฝ๋ก(../)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๊ฐ๋จํฉ๋๋ค.
$ mv airport ../
$ cd ..
$ ls
airport b batman c d e world
ํ์ผ์ ์ ๊ฑฐํ๊ธฐ ์ํด์๋ rm
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ช
๋ น์ด๋ rmdir
์ด ์์ง๋ง rmdir
์ด ์์ง๋ง ๊ฑฐ์ ์ฌ์ฉํ์ง ์๊ณ rm
์ ์ต์
์ ๋ถ์ฌ ์ฌ์ฉํฉ๋๋ค. rm <option> <name>
$ rm -rf hello
-rf
๋ช
๋ น์ด๋ ๋๋ ํฐ๋ฆฌ์ ๊ทธ ์๋์ ๋ชจ๋ ๋ด์ฉ์ ์ญ์ ํ ์ ์์ต๋๋ค. rm
๋ช
๋ น์ด๋ ์ผ๋ฐ์ ์ธ ์ญ์ ๋ฐฉ๋ฒ๊ณผ ๋ค๋ฅด๊ฒ ๋ฐ๋ก ์ญ์ ๋ฉ๋๋ค. ์ด๋ฅผ ๋๋๋ฆด ๋ฐฉ๋ฒ์ ์์ผ๋ฉฐ rm -rf ~
๋ช
๋ น์ด๋ฅผ ์คํํ๋ ๊ฒ์ ๋งค์ฐ ์ํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๊ด๋ฆฌ์ ๊ถํ์์ ์คํ๊ฐ๋ฅํ์ง๋ง ๋ง์ํ๋ ์์คํ
๊ณผ ๊ด๋ จ๋ ํ์ผ์ด ์ญ์ ๋๊ฑฐ๋, ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ๋๋ ๊ฒฝ์ฐ ๋์ฌ์์ ๋ง์ดํ๊ฒ ๋ ๊ฒ์
๋๋ค.
๋ฌธ์์ด๊ณผ ํ์ผ ๋ด์ฉ์ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ด ์๋ค.
echo
๋ ์ธ์๋ฅผ ๋ฐ์์ ํ๋ฉด์ ์ถ๋ ฅํด์ค๋๋ค.
$ echo Hello, world!
Hello, world!
echo
๋ฅผ ๋
๋ฆฝ์ ์ผ๋ก ์ธ ์ผ์ ๋ง์ง ์์ต๋๋ค. ์ปค๋งจ๋๋ผ์ธ์์ ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ํ๋ฉด์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ๊ธฐ๋ฅ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
echo
๋ ์
ธ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๊ฑฐ๋, ํ๊ฒฝ๋ณ์ ์ถ๋ ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
$ echo My home directory is $HOME.
My home directory is /Users/xtring.
$Home
์ด /Users/xtring
์ผ๋ก ์นํ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋ค์์ผ๋ก๋ ํ์ผ ๋ด์ฉ์ ์ถ๋ ฅํ๋ cat
, head
, tail
๋ช
๋ น์ด์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ๋ช
๋ น์ด๋ cat
์
๋๋ค.
/etc
๋ก ์ด๋ํด์ bashrc
ํ์ผ์ ๋ด์ฉ์ ์ถ๋ ฅํด๋ด
์๋ค.(๋๋ bash.bashrc
)
$ cat bashrc
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
cat
์ ํ์ผ์ ์ ์ฒด ๋ด์ฉ์ ์ถ๋ ฅํด์ค๋๋ค. head
๋ ํ์ผ์ ์๋ถ๋ถ ์ผ๋ถ๋ฅผ ์ถ๋ ฅํด์ฃผ๊ณ , tail
์ ๋ค์์ ์ผ๋ถ๋ถ์ ์ถ๋ ฅํด์ค๋๋ค.
์ฌ๊ธฐ์ ์ต์
์ ์ถ๊ฐํด์ค ์ ์๋๋ฐ -n
์ต์
์ ์ฌ์ฉํ๋ฉด <N>
์ ์ธ์๋ก ๋ฐ์ต๋๋ค. head -n 2 bashrc
์ ๊ฐ์ด ์ฌ์ฉํ๋ฉด '์๋ถ๋ถ์ ๋ ์ค์ ์ถ๋ ฅํ๋ผ.'์ ์๋ฏธ์ ๊ฐ์ต๋๋ค.(-n 2
์ -n2
๋ ๊ฐ์ต๋๋ค.)
๋ฐ๋๋ก tail -n 2 bashrc
๋ '๋ง์ง๋ง๋ถ๋ถ์ 2์ค์ ์ถ๋ ฅํ๋ผ.'๋ผ๋ ์๋ฏธ์
๋๋ค.
$ head -n 2 bashrc
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
$ tail -n 2 bashrc
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
tail
์ -f
์ต์
๊ณผ๋ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ ํ๋ก์ธ์ค์ ๋ก๊ทธ ํ์ผ์ ๊ฒฝ์ฐ, ์๋ฒ์์ ์์ฒญ์ ๋ฐ์ ๋๋ง๋ค ๋ก๊ทธ ํ์ผ์ ์
๋ฐ์ดํธํฉ๋๋ค. ์ด ๋ tail -f <FILE>
๊ณผ ์คํํด๋๋ฉด, tail
ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋์ง ์๊ณ ์
๋ฐ์ดํธ๋๋ ๋ด์ฉ์ ๋ฐ๋ก ์ถ๋ ฅํด์ค๋๋ค.
๋ช ๋ น์ด๋ค์ ์ฌ์ฉ๋ฒ์ด ๊ถ๊ธํ๊ฑฐ๋, ์ด๋ค ๊ธฐ๋ฅ์ด๋ ์ต์ ์ด ์๋์ง ๊ถ๊ธํ๋ค๋ฉด ๋์๋ง์ ์ถ๋ ฅํด๋ณผ ์ ์์ต๋๋ค. ๋์๋ง์ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์์ต๋๋ค.
- ์๋ฌด๋ฐ ์ธ์์์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
-h
์ต์ ์ ๋ถ์ฌ์ ์คํํ๋ค.--help
์ต์ ์ ๋ถ์ฌ์ ์คํํ๋ค(๊ฐ๋์-help
์ธ ๊ฒฝ์ฐ๋ ์์ต๋๋ค).