์๋ฒ์ SSH๋ก ์ ์ํ๋ฉด ํ
์คํธ๋ก ๋ช
๋ น์ ์
๋ ฅํ๋ CLI(Command Line Interface) ํ๋ฉด์ด ๋ํ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ์กฐ์์ ๋ช
๋ น์ด๋ก ํด์ผ ํ๋ค.
CLI ํ๊ฒฝ์์ ๊ฐ์ฅ ๋จผ์ ์์ ์ตํ์ผ ํ ๋ช
๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
ls) cd) mkdir & touch) cp) mv) rm) ์ด ๋ช
๋ น์ด๋ค๋ง ์ตํ๋ ์๋ฒ์์ ํ์ผ์ ๋ค๋ฃจ๋ ๋ฐ ํ์ํ ์กฐ์์ ๊ฑฐ์ ํด๊ฒฐ๋๋ค.
๊ฐ ๋ช
๋ น์ด๋ง๋ค ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ๊ณผ ์์ฃผ ์ฐ๋ ํ๋๊ทธ, ๊ทธ๋ฆฌ๊ณ ์ค์ ์๋ฒ์์ ์ฌ๊ณ ๋ฅผ ๋ง๊ธฐ ์ํด ์ง์ผ์ผ ํ ์ต๊ด์ ํจ๊ป ์ ๋ฆฌํ๋ค.
๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋-๋ก ์์ํ๋ ํ๋๊ทธ(flag)๋ฅผ ๋ถ์ฌ ๋์ ๋ฐฉ์์ ๋ฐ๊ฟ ์ ์๋ค. ํ๋๊ทธ๋ls -a -l -h์ฒ๋ผ ๋์ดํ๊ฑฐ๋ls -alh์ฒ๋ผ ํ๋๋ก ๋ฌถ์ด ์ธ ์ ์๋ค.
ํ๋๊ทธ๊ฐ ๊ธฐ์ต๋์ง ์์ ๋๋man [๋ช ๋ น์ด]๋ก ๋งค๋ด์ผ์,[๋ช ๋ น์ด] --help๋ก ์์ฝ๋ ๋์๋ง์ ํ์ธํ ์ ์๋ค.
CLI์๋ ํ์๊ธฐ ์ฐฝ์ด ์์ผ๋ฏ๋ก, ์์
์ ์์ํ๊ธฐ ์ ์ ๋ด๊ฐ ์ด๋ ๋๋ ํฐ๋ฆฌ์ ์๊ณ ๊ทธ ์์ ๋ฌด์์ด ์๋์ง๋ถํฐ ํ์ธํด์ผ ํ๋ค. ์์น๋ pwd(print working directory), ๋ชฉ๋ก์ ls(list)๋ก ํ์ธํ ์ ์๋ค.
pwd
# /home/ubuntu
ls
# myFile myFolder test.txt
ls์ ์์ฃผ ์ฐ๋ ํ๋๊ทธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
-l(Long format): ๊ถํ, ์์ ์, ํฌ๊ธฐ, ์์ ์ผ ๋ฑ ์์ธ ์ ๋ณด๋ฅผ ํจ๊ป ์ถ๋ ฅํ๋ค. -a(All): ์ด๋ฆ์ด `.`์ผ๋ก ์์ํ๋ ์จ๊น ํ์ผ๊น์ง ๋ชจ๋ ์ถ๋ ฅํ๋ค. -h(Human-readable): ํ์ผ ํฌ๊ธฐ๋ฅผ `4.0K`, `12M`์ฒ๋ผ ์ฝ๊ธฐ ํธํ ๋จ์๋ก ํ์ํ๋ค. ์ธ ํ๋๊ทธ๋ ํจ๊ป ์ฌ์ฉํ ์๋ ์๋ค.
ls -alh
# drwxr-xr-x 2 ubuntu ubuntu 4.0K Aug 18 10:21 myFolder
# -rw-r--r-- 1 ubuntu ubuntu 0 Aug 18 10:21 myFile
# -rw-r--r-- 1 ubuntu ubuntu 12K Aug 18 10:20 test.txt
๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ ๋๋ cd(change directory)๋ฅผ ์ฌ์ฉํ๋ค. cd [๊ฒฝ๋ก] ํํ๋ก ์ฌ์ฉํ๋ฉฐ, ๊ฒฝ๋ก๋ ํ์ฌ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ์๋ ๊ฒฝ๋ก์ ๋ฃจํธ๋ถํฐ ์ ๋ ์ ๋ ๊ฒฝ๋ก ๋ชจ๋ ๊ฐ๋ฅํ๋ค.
cd myFolder # ์๋ ๊ฒฝ๋ก
cd /etc/nginx # ์ ๋ ๊ฒฝ๋ก
๊ฒฝ๋ก์๋ ํน์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค.
~: ํ ๋๋ ํฐ๋ฆฌ. cd ~๋ ์์น๊ฐ ์ด๋๋ ํ์ผ๋ก ๋์๊ฐ๋ค. -: ์ง์ ์ ๋จธ๋ฌผ๋ ๋ ๋๋ ํฐ๋ฆฌ. cd -๋ก ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค๊ฐ ์ ์๋ค. /: ๋ฃจํธ ๋๋ ํฐ๋ฆฌ. . ์ ํ์ฌ ๋๋ ํฐ๋ฆฌ, .. ์ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํจ๋ค. cd ../..์ฒ๋ผ ์ด์ด ๋ถ์ฌ ๋ ๋จ๊ณ ์๋ก ์ฌ๋ผ๊ฐ ์ ์๋ค. ์ค์ ์๋ฒ๋ ๊ฒฝ๋ก๊ฐ ๊ธธ๊ณ ๋ณต์กํ๊ธฐ ๋๋ฌธ์, ์ ๋ถ ์ ๋ ฅํ๋ ๋์ Tab ํค๋ฅผ ์ฐ๋ ๊ฒ์ด ์ข๋ค. ํ ๋ฒ ๋๋ฅด๋ฉด ์๋ ์์ฑ, ๋ ๋ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋ค.
๋๋ ํฐ๋ฆฌ๋ `mkdir [๋๋ ํฐ๋ฆฌ ๋ช ]`(make directory)์ผ๋ก ๋ง๋ ๋ค.
mkdir myFolder
ls
# myFolder
mkdir์ ์์ฃผ ์ฐ๋ ํ๋๊ทธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
-p(Parents): ์ค๊ฐ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด ์์ ๋๋ ํฐ๋ฆฌ๊น์ง ํ ๋ฒ์ ๋ง๋ ๋ค. mkdir -p parent/child๋ parent๋ฅผ ๋ง๋ ๋ค ๊ทธ ์์ child๋ฅผ ๋ง๋ ๋ค. -m(Mode): ์์ฑ๊ณผ ๋์์ ๊ถํ์ ์ง์ ํ๋ค. mkdir -m 755 myFolder๋ 755 ๊ถํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ ๋ค. ํ์ผ์ touch [ํ์ผ๋ช
]์ผ๋ก ๋ง๋ ๋ค. touch๋ ์๋ ํ์ผ์ ๋ง์ง๋ง ์์ ์๊ฐ๊ณผ ์ ๊ทผ ์๊ฐ์ ํ์ฌ ์๊ฐ์ผ๋ก ๊ฐฑ์ ํ๋ ๋ช
๋ น์ด์ง๋ง, ์กด์ฌํ์ง ์๋ ์ด๋ฆ์ ์ง์ ํ๋ฉด ๋น ํ์ผ์ ์๋ก ๋ง๋ ๋ค.
touch myFile
touch file1.txt file2.txt # ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฌ๋ฌ ๊ฐ๋ฅผ ํ ๋ฒ์ ์์ฑ
cp [์๋ณธ] [๋์](copy)์ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ค๋ฅธ ์์น๋ก ๋ณต์ฌํ๊ฑฐ๋, ์ด๋ฆ์ ๋ฐ๊พผ ๋ณต์ฌ๋ณธ์ ๋ง๋ ๋ค.
cp test.txt test.txt.bak # ๊ฐ์ ์์น์ ์ด๋ฆ์ ๋ฐ๊ฟ ๋ณต์ฌ
cp test.txt /home/ubuntu/backup # ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ๋ก ๋ณต์ฌ
cp์ ์์ฃผ ์ฐ๋ ํ๋๊ทธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
-r(Recursive): ํ์ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ชจ๋ ํฌํจํด ๋ณต์ฌํ๋ค. ๋๋ ํฐ๋ฆฌ๋ ์ด ํ๋๊ทธ ์์ด ๋ณต์ฌ๋์ง ์๋๋ค. -i(Interactive): ๋์ ์์น์ ๊ฐ์ ์ด๋ฆ์ ํ์ผ์ด ์์ผ๋ฉด ๋ฎ์ด์ธ์ง ํ์ธํ๋ค. -p(Preserve): ์๋ณธ์ ๊ถํ, ์์ ์, ์์ ์๊ฐ์ ๊ทธ๋๋ก ์ ์งํ๋ค. -a(Archive): -r๊ณผ -p๋ฅผ ํฌํจํ ํ๋๊ทธ๋ก, ์๋ณธ์ ๊ทธ๋๋ก ๋ณด์กดํด์ผ ํ๋ ๋ฐฑ์
์์
์ ์ด๋ค. ์๋ฒ ์ค์ ํ์ผ์ ์์ ํ๊ธฐ ์ ์๋ ํญ์ ์๋ณธ์ ๋ณต์ฌํด ๋๋ ์ต๊ด์ด ์ค์ํ๋ค. ๊ด์ต์ ์ผ๋ก ํ์ผ ์ด๋ฆ ๋ค์ .bak์ด๋ .orig๋ฅผ ๋ถ์ฌ, ์ค์ ์ด ์๋ชป๋์์ ๋ ์๋๋๋ก ๋๋๋ฆด ์ ์๊ฒ ํ๋ค.
mv [์๋ณธ] [๋์](move)์ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ์์น๋ฅผ ์ฎ๊ธฐ๊ฑฐ๋ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ค. ๋ฆฌ๋
์ค๋ ์ด๋๊ณผ ์ด๋ฆ ๋ณ๊ฒฝ์ ๊ฐ์ ๋์์ผ๋ก ์ทจ๊ธํ๋ค. ๋์ ๊ฒฝ๋ก๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉด ๊ทธ ์์ผ๋ก ์ฎ๊ธฐ๊ณ , ์กด์ฌํ์ง ์์ผ๋ฉด ๊ทธ ์ด๋ฆ์ผ๋ก ๋ฐ๊พผ๋ค.
mv myFile myFolder/ # ์ด๋
mv myFile newName # ์ด๋ฆ ๋ณ๊ฒฝ
mv myFile myFolder/newName # ์ด๋๊ณผ ์ด๋ฆ ๋ณ๊ฒฝ์ ๋์์
mv์ ์์ฃผ ์ฐ๋ ํ๋๊ทธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
-i(Interactive): ๋์ ์์น์ ๊ฐ์ ์ด๋ฆ์ ํ์ผ์ด ์์ผ๋ฉด ๋ฎ์ด์ธ์ง ํ์ธํ๋ค. -f(Force): ํ์ธ ์์ด ๊ฐ์ ๋ก ๋ฎ์ด์ด๋ค. -n(No-clobber): ๋์ ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ๋ฎ์ด์ฐ์ง ์๊ณ ์ด๋์ ๊ฑด๋๋ด๋ค. cp์ ๋ฌ๋ฆฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฎ๊ธธ ๋ -r์ด ํ์ ์๋ค. ๋ค๋ง ๊ฐ์ ์ด๋ฆ์ ํ์ผ์ด ์์ผ๋ฉด ๊ฒฝ๊ณ ์์ด ๋ฎ์ด์จ์ ์๋ณธ์ด ์ฌ๋ผ์ง๋ฏ๋ก, -i๋ฅผ ๋ถ์ฌ ์ฐ๋ ์ต๊ด์ ๋ค์ด๋ ๊ฒ์ด ์ข๋ค.
rm [ํ์ผ๋ช
](remove)์ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ๋ค. ๋ฆฌ๋
์ค์๋ ํด์งํต์ด ์์ด์ ์ญ์ ํ ํ์ผ์ ๊ทธ๋๋ก ์ฌ๋ผ์ง๋ค.
rm myFile
rm file1.txt file2.txt # ์ฌ๋ฌ ๊ฐ๋ฅผ ํ ๋ฒ์ ์ญ์
rm๊ณผ ์์ฃผ ์ฐ๋ ํ๋๊ทธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
-r(Recursive): ๋๋ ํฐ๋ฆฌ์ ๊ทธ ์์ ๋ชจ๋ ํ์ผ, ํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ํจ๊ป ์ญ์ ํ๋ค. -f(Force): ํ์ธ ๋ฉ์์ง๋ ๊ฒฝ๊ณ ์์ด ๊ฐ์ ๋ก ์ญ์ ํ๋ค. -i(Interactive): ํ์ผ์ ์ญ์ ํ ๋๋ง๋ค ํ์ธํ๋ค. ์ฌ์ฏ ๋ช
๋ น์ด ์ค ๊ฐ์ฅ ์ํํ ๋ช
๋ น์ด๋ค. -r๊ณผ -f๋ฅผ ํจ๊ป ์ด rm -rf๋ ํ์ธ ์์ด ๋๋ ํฐ๋ฆฌ ์ ์ฒด๋ฅผ ์ง์ฐ๋ฉฐ, ๊ฒฝ๋ก๋ฅผ ์๋ชป ์
๋ ฅํ๋ฉด ๋ณต๊ตฌํ ๋ฐฉ๋ฒ์ด ์๋ค. ์ญ์ ์ ์ ls๋ก ๋์์ ๋จผ์ ํ์ธํ๊ณ , -i๋ฅผ ๋ถ์ฌ ํ ๋ฒ ๋ ๊ฒํ ํ๋ ์ต๊ด์ ๋ค์ด๋ ๊ฒ์ด ์์ ํ๋ค.
ls myFolder # ๋ฌด์์ด ์ง์์ง์ง ๋จผ์ ํ์ธ
rm -ri myFolder # ์ญ์ ํ ๋๋ง๋ค ํ์ธ
