๐ Linux ๋ช
๋ น์ด ์ ๋ฆฌ: ls์ cd
๐ ls : ๋๋ ํ ๋ฆฌ ๋ด์ฉ ๋์ด
๐น ์ญํ
- ๋๋ ํ ๋ฆฌ ์์ ํ์ผ ๋ฐ ํด๋ ๋ชฉ๋ก์ ๋ณด์ฌ์ค
โ
๊ธฐ๋ณธ ๋ฌธ๋ฒ
ls [์ต์
] [๊ฒฝ๋ก]
๐ ์์
ls # ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชฉ๋ก
ls /home/user # ํน์ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก ์ถ๋ ฅ
๐ ๏ธ ์์ฃผ ์ฐ๋ ์ต์
| ์ต์
| ์ค๋ช
|
|---|
-l | ์์ธํ ์ ๋ณด ํ์ (ํ์ผ ํฌ๊ธฐ, ๊ถํ, ์์ ์ผ ๋ฑ) |
-a | ์จ๊น ํ์ผ ํฌํจ (์: .bashrc) |
-h | ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํฌ๊ธฐ๋ก ํ์ (-l๊ณผ ํจ๊ป ์ฌ์ฉ) |
-t | ์์ ์๊ฐ ์์ผ๋ก ์ ๋ ฌ |
-r | ์ญ์ ์ ๋ ฌ |
-R | ํ์ ๋๋ ํ ๋ฆฌ๊น์ง ์ฌ๊ท์ ์ผ๋ก ์ถ๋ ฅ |
๐ ์์ - ์ต์
์กฐํฉ
ls -la # ์จ๊น ํ์ผ ํฌํจ + ์์ธ ์ ๋ณด
ls -lh # ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ์ฉ๋์ผ๋ก ํ์
ls -ltr # ์ค๋๋ ์์ผ๋ก ์ ๋ ฌ
๐ cd : ๋๋ ํ ๋ฆฌ ์ด๋
๐น ์ญํ
- ํ์ฌ ์์
์ค์ธ ๋๋ ํ ๋ฆฌ(Working Directory)๋ฅผ ๋ณ๊ฒฝ
โ
๊ธฐ๋ณธ ๋ฌธ๋ฒ
cd [๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก]
๐ ์์
cd /home/user # ์ ๋ ๊ฒฝ๋ก๋ก ์ด๋
cd Documents # ์๋ ๊ฒฝ๋ก๋ก ์ด๋
cd .. # ์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
cd ~ # ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
cd # ์๋ฌด ๊ฒฝ๋ก ์์ด ์
๋ ฅํ๋ฉด ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
๐ ๊ด๋ จ ๋ช
๋ น์ด
| ๋ช
๋ น์ด | ์ค๋ช
|
|---|
pwd | ํ์ฌ ์์
๋๋ ํ ๋ฆฌ ์ถ๋ ฅ |
ls | ๋๋ ํ ๋ฆฌ ์์ ๋ด์ฉ ๋์ด |
cd | ๋๋ ํ ๋ฆฌ ์ด๋ |
โ
์ค์ ์์
pwd # ํ์ฌ ๊ฒฝ๋ก ํ์ธ
ls -al /etc # /etc ๋๋ ํ ๋ฆฌ์ ์ ์ฒด ๋ชฉ๋ก ๋ณด๊ธฐ
cd /var/log # ๋ก๊ทธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
ls -lh # ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํ์์ผ๋ก ๋ชฉ๋ก ๋ณด๊ธฐ
cd .. # ํ ๋จ๊ณ ์๋ก ์ด๋
๐ ์ฐธ๊ณ
cd๋ ์ ๋ด์ฅ ๋ช
๋ น์ด์ด๋ฉฐ, ls๋ ์ธ๋ถ ๋ช
๋ น์ด์
๋๋ค.
- ํ ๋๋ ํ ๋ฆฌ๋
~๋ก, ํ์ฌ ๋๋ ํ ๋ฆฌ๋ .๋ก, ์์ ๋๋ ํ ๋ฆฌ๋ ..์ผ๋ก ํํํฉ๋๋ค.
๐ Linux ๋ช
๋ น์ด: mkdir (๋๋ ํ ๋ฆฌ ์์ฑ)
๐งฑ mkdir : Make Directory
๐น ์ญํ
- ์๋ก์ด ๋๋ ํ ๋ฆฌ(ํด๋)๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ
โ
๊ธฐ๋ณธ ๋ฌธ๋ฒ
mkdir [์ต์
] ๋๋ ํ ๋ฆฌ๋ช
๐ ๊ธฐ๋ณธ ์์
mkdir myfolder # ํ์ฌ ๋๋ ํ ๋ฆฌ์ 'myfolder' ์์ฑ
mkdir /home/user/test # ์ ๋ ๊ฒฝ๋ก๋ก ๋๋ ํ ๋ฆฌ ์์ฑ
๐ ๏ธ ์์ฃผ ์ฌ์ฉํ๋ ์ต์
| ์ต์
| ์ค๋ช
|
|---|
-p | ์์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ผ๋ฉด ์๋์ผ๋ก ํจ๊ป ์์ฑ (๋ถ๋ชจ ๋๋ ํ ๋ฆฌ ํฌํจ) |
-v | ์์ฑ ๊ณผ์ ์ ์ถ๋ ฅ (verbose) |
--mode=777 | ์์ฑ๋ ๋๋ ํ ๋ฆฌ์ ๊ถํ์ ์ง์ |
๐ ์์ - ์ค์ ์ฌ์ฉ
mkdir project # ๋จ์ผ ๋๋ ํ ๋ฆฌ ์์ฑ
mkdir project1 project2 # ์ฌ๋ฌ ๋๋ ํ ๋ฆฌ ํ ๋ฒ์ ์์ฑ
mkdir -p a/b/c # ์์ ๋๋ ํ ๋ฆฌ๊น์ง ์๋ ์์ฑ
mkdir -v newdir # ์์ฑ ๊ฒฐ๊ณผ ์ถ๋ ฅ
mkdir --mode=755 myapp # ๊ถํ ์ง์ ํ์ฌ ์์ฑ
๐ ์ฐธ๊ณ ์ฌํญ
mkdir๋ก ์ด๋ฏธ ์กด์ฌํ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ ค๊ณ ํ๋ฉด ์ค๋ฅ ๋ฐ์
-p ์ต์
์ ์ฌ์ฉํ๋ฉด ์กด์ฌํ๋ ๋๋ ํ ๋ฆฌ๋ผ๋ ๋ฌด์ํ๊ณ ๋์ด๊ฐ (์ค๋ฅ ์์)
- ๊ถํ ์ค์ ์
chmod ๋ช
๋ น์ด๋ก ๋์ค์ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ
โ
๊ด๋ จ ๋ช
๋ น์ด
| ๋ช
๋ น์ด | ์ค๋ช
|
|---|
rmdir | ๋น์ด ์๋ ๋๋ ํ ๋ฆฌ ์ญ์ |
rm -r | ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ ํญ๋ชฉ๊น์ง ์ญ์ |
ls | ๋๋ ํ ๋ฆฌ ๋ด์ฉ ๋ณด๊ธฐ |
๐ฏ ์ค์ต ์์
mkdir -p ~/work/project1/src # ํ ๋๋ ํ ๋ฆฌ ์๋ ๊ฒฝ๋ก ์ ์ฒด ์์ฑ
ls -l ~/work/project1 # ์์ฑ๋ ํด๋ ๊ตฌ์กฐ ํ์ธ
๐ Linux ๋ช
๋ น์ด: vi (๋๋ vim) ํ
์คํธ ํธ์ง๊ธฐ ์ฌ์ฉ๋ฒ
๐ vi ๋?
- Unix/Linux ๊ธฐ๋ณธ ํ
์คํธ ํธ์ง๊ธฐ
- ํฐ๋ฏธ๋ ๊ธฐ๋ฐ์์ ํ์ผ์ ์ด๊ณ ํธ์งํ ์ ์์
- ๊ณ ๊ธ ๋ฒ์ :
vim (Vi IMproved)
โ
๊ธฐ๋ณธ ๋ฌธ๋ฒ
vi [์ต์
] ํ์ผ๋ช
๐ ์์
vi memo.txt # memo.txt ํ์ผ ์ด๊ธฐ (์์ผ๋ฉด ์๋ก ์์ฑ)
vi /etc/hosts # ์์คํ
ํ์ผ ํธ์ง (root ๊ถํ ํ์)
๐ฆ ๊ธฐ๋ณธ ๋ชจ๋ 3๊ฐ์ง
| ๋ชจ๋ | ์ค๋ช
| ์ ํ ๋ฐฉ๋ฒ |
|---|
| ๋ช
๋ น ๋ชจ๋ | ๊ธฐ๋ณธ ์ํ, ๋ช
๋ น ์
๋ ฅ | Esc |
| ์
๋ ฅ ๋ชจ๋ | ๊ธ์ ์
๋ ฅ | i, a, o ๋ฑ |
| ๋ง์ง๋ง ์ค ๋ชจ๋ | ์ ์ฅ, ์ข
๋ฃ ๋ฑ ๋ช
๋ น | : ํค |
๐ ์
๋ ฅ ๋ชจ๋๋ก ์ ํ
| ๋ช
๋ น | ์ค๋ช
|
|---|
i | ํ์ฌ ์์น์์ ์
๋ ฅ ์์ |
a | ํ์ฌ ์์น ๋ค์์์ ์
๋ ฅ ์์ |
o | ๋ค์ ์ค์์ ์ ์ค ์
๋ ฅ ์์ |
๐พ ์ ์ฅ ๋ฐ ์ข
๋ฃ (๋ง์ง๋ง ์ค ๋ชจ๋์์)
| ๋ช
๋ น | ์ค๋ช
|
|---|
:w | ์ ์ฅ (write) |
:q | ์ข
๋ฃ (quit) |
:wq ๋๋ ZZ | ์ ์ฅ ํ ์ข
๋ฃ |
:q! | ์ ์ฅ ์์ด ๊ฐ์ ์ข
๋ฃ |
โ๏ธ ๋ช
๋ น ๋ชจ๋์์์ ์ฃผ์ ๋ช
๋ น์ด
| ๋ช
๋ น | ์ค๋ช
|
|---|
dd | ํ์ฌ ์ค ์ญ์ |
yy | ํ์ฌ ์ค ๋ณต์ฌ (yank) |
p | ๋ถ์ฌ๋ฃ๊ธฐ (paste) |
x | ์ปค์ ์์น์ ๋ฌธ์ ์ญ์ |
u | ์คํ ์ทจ์ (undo) |
/๋ฌธ์์ด | ๋ฌธ์์ด ๊ฒ์ |
n | ๋ค์ ๊ฒ์ ๊ฒฐ๊ณผ๋ก ์ด๋ |
G | ํ์ผ ๋์ผ๋ก ์ด๋ |
gg | ํ์ผ ์ฒ์์ผ๋ก ์ด๋ |
โ
์ค์ต ์์
- ํ์ผ ์ด๊ธฐ
vi memo.txt
- ์
๋ ฅ ๋ชจ๋๋ก ์ ํ
- ์ ์ฅ ๋ฐ ์ข
๋ฃ
๐ ์ฐธ๊ณ ํ
- ์ ์ฅํ์ง ์๊ณ ๋๊ฐ๋ ค๋ฉด:
Esc โ :q! โ Enter
vi๋ ํค๋ณด๋๋ง์ผ๋ก ์์
ํ๋ ๋ฐ ์ต์ ํ๋จ
vim์ ๋ฌธ๋ฒ ๊ฐ์กฐ, ํธ๋ฆฌํ ํ์ ๋ฑ ๊ณ ๊ธ ๊ธฐ๋ฅ ์ ๊ณต
๐ ๊ด๋ จ ๋ช
๋ น์ด
| ๋ช
๋ น์ด | ์ค๋ช
|
|---|
nano | ๋ ์ฌ์ด ํธ์ง๊ธฐ |
cat / less | ํ์ผ ๋ด์ฉ ๋ณด๊ธฐ ์ ์ฉ |
vim | vi์ ํฅ์๋ ๋ฒ์ (๋๋ถ๋ถ ์์คํ
์ ์ค์น๋์ด ์์) |
๐ Linux ๋ช
๋ น์ด: yum ํจํค์ง ์
๋ฐ์ดํธ
๐ฝ๏ธ yum ์ด๋?
- RHEL, CentOS, Amazon Linux ๋ฑ์์ ์ฌ์ฉ๋๋ ํจํค์ง ๊ด๋ฆฌ์
rpm ๊ธฐ๋ฐ์ผ๋ก ์ค์น, ์
๋ฐ์ดํธ, ์ญ์ , ๊ฒ์ ๊ฐ๋ฅ
- ์๋ ์์กด์ฑ ํด๊ฒฐ ๊ธฐ๋ฅ ํฌํจ
โ
์์คํ
์ ์ฒด ์
๋ฐ์ดํธ
๐ ์ ์ฒด ํจํค์ง ์
๋ฐ์ดํธ
sudo yum update
- ์ค์น๋ ๋ชจ๋ ํจํค์ง๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋
- ์ปค๋๊น์ง ํฌํจ๋๋ฏ๋ก ์ฌ๋ถํ
์ด ํ์ํ ์๋ ์์
๐ ํน์ ํจํค์ง๋ง ์
๋ฐ์ดํธ
๐ ํน์ ํจํค์ง ์
๋ฐ์ดํธ
sudo yum update ํจํค์ง๋ช
์:
sudo yum update httpd
httpd ํจํค์ง๋ง ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ
๐ ๏ธ ๊ด๋ จ ์ต์
์ ๋ฆฌ
| ์ต์
| ์ค๋ช
|
|---|
-y | ์ฌ์ฉ์ ํ์ธ ์์ด ์๋ ์งํ (yes ์๋ ์๋ต) |
--security | ๋ณด์ ์
๋ฐ์ดํธ๋ง ์ค์น |
--exclude=ํจํด | ํน์ ํจํค์ง๋ ์ ์ธํ๊ณ ์
๋ฐ์ดํธ |
--skip-broken | ์์๋ ์์กด์ฑ ๋ฌด์ํ๊ณ ๊ฐ๋ฅํ ๊ฒ๋ง ์
๋ฐ์ดํธ |
โ
์์
sudo yum update -y # ์๋ ์๋ต์ผ๋ก ์ ์ฒด ์
๋ฐ์ดํธ
sudo yum update --security # ๋ณด์ ๊ด๋ จ ์
๋ฐ์ดํธ๋ง
sudo yum update --exclude=kernel* # ์ปค๋์ ์ ์ธํ๊ณ ์
๋ฐ์ดํธ
๐งพ ์
๋ฐ์ดํธ ์ ์ ๋ณด ํ์ธ
๐ ์
๋ฐ์ดํธ ๊ฐ๋ฅํ ๋ชฉ๋ก ํ์ธ
yum check-update
๐ ํน์ ํจํค์ง ์ ๋ณด ํ์ธ
yum info ํจํค์ง๋ช
๐งผ ์บ์ ์ ๋ฆฌ
sudo yum clean all
- ๋ค์ด๋ก๋๋ ๋ฉํ๋ฐ์ดํฐ, ์บ์ ์ญ์
- ์ ์ฅ์๋ฅผ ์ฌ๊ฒ์ฌํ ๋ ์ ์ฉ
๐ ๊ด๋ จ ๋ช
๋ น์ด
| ๋ช
๋ น์ด | ์ค๋ช
|
|---|
yum install ํจํค์ง | ์ ํจํค์ง ์ค์น |
yum remove ํจํค์ง | ํจํค์ง ์ญ์ |
yum list installed | ์ค์น๋ ํจํค์ง ๋ชฉ๋ก |
yum history | ์ค์น/์
๋ฐ์ดํธ ์ด๋ ฅ ํ์ธ |
๐ง Linux ๋ช
๋ น์ด: mv์ cp ์ ๋ฆฌ
๐ฆ mv (move ๋๋ rename)
๐น ์ญํ
- ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๋ํ ๋ ์ฌ์ฉ
- ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ ์ด๋ฆ ๋ณ๊ฒฝ ์์๋ ์ฌ์ฉ
โ
๊ธฐ๋ณธ ๋ฌธ๋ฒ
mv [์ต์
] ์๋ณธ ๋์
๐ ์์
mv file1.txt /home/user/docs/ # file1.txt ๋ฅผ docs ํด๋๋ก ์ด๋
mv file1.txt file2.txt # file1.txt ์ ์ด๋ฆ์ file2.txt ๋ก ๋ณ๊ฒฝ
๐ ๏ธ ์์ฃผ ์ฐ๋ ์ต์
| ์ต์
| ์ค๋ช
|
|---|
-i | ๋์ ํ์ผ์ด ์์ ๊ฒฝ์ฐ ๋ฎ์ด์ฐ๊ธฐ ์ ์ ๋ฌผ์ด๋ด (interactively) |
-f | ๊ฐ์ ๋ก ๋ฎ์ด์ฐ๊ธฐ, ๋ฌผ์ด๋ณด์ง ์์ (force) |
-u | ๋์๋ณด๋ค ์ ํ์ผ๋ง ์ด๋ํจ (update) |
-v | ์ํ ๋ด์ฉ์ ์์ธํ ์ถ๋ ฅํจ (verbose) |
๐ ์์ - ์ต์
์ฌ์ฉ
mv -i report.txt backup/report.txt # ๊ธฐ์กด ํ์ผ์ด ์์ผ๋ฉด ๋ฎ์ด์ฐ๊ธฐ ์ ์ ๋ฌผ์ด๋ด
mv -v *.txt /tmp/ # txt ํ์ผ๋ค ์ด๋ํ๋ฉฐ ์ถ๋ ฅํจ
๐ cp (copy)
๐น ์ญํ
- ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ณต์ฌํ ๋ ์ฌ์ฉ
โ
๊ธฐ๋ณธ ๋ฌธ๋ฒ
cp [์ต์
] ์๋ณธ ๋์
๐ ์์
cp file1.txt file2.txt # file1.txt๋ฅผ file2.txt๋ก ๋ณต์ฌ
cp file1.txt /home/user/ # file1.txt๋ฅผ ํน์ ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ฌ
๐ ๏ธ ์์ฃผ ์ฐ๋ ์ต์
| ์ต์
| ์ค๋ช
|
|---|
-r ๋๋ -R | ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ณต์ฌ (recursive) |
-i | ๋์์ด ์กด์ฌํ๋ฉด ๋ฎ์ด์ฐ๊ธฐ ์ ์ ๋ฌผ์ด๋ด |
-f | ๊ฐ์ ๋ก ๋ฎ์ด์ฐ๊ธฐ |
-u | ๋์๋ณด๋ค ์ ํ์ผ๋ง ๋ณต์ฌ |
-v | ๋ณต์ฌ ๊ณผ์ ์ ์์ธํ ์ถ๋ ฅ |
-a | ๋ณด์กด ๋ชจ๋๋ก ๋ชจ๋ ์์ฑ ํฌํจ (๋๋ ํ ๋ฆฌ + ์ฌ๋ณผ๋ฆญ ๋งํฌ ๋ฑ ํฌํจ, -Rdp์ ์ ์ฌ) |
๐ ์์ - ๋๋ ํ ๋ฆฌ ๋ณต์ฌ
cp -r project1/ backup/ # project1 ๋๋ ํ ๋ฆฌ ์ ์ฒด๋ฅผ backup ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌ
cp -a mydir /mnt/backup/ # ์์ฑ๊น์ง ๋ชจ๋ ์ ์งํ๋ฉฐ ๋ณต์ฌ (๋ณด์กด ๋ชจ๋)
๐ mv vs cp ์ฐจ์ด์ ์ ๋ฆฌ
| ๊ตฌ๋ถ | mv | cp |
|---|
| ๋์ | ์ด๋ ๋๋ ์ด๋ฆ ๋ณ๊ฒฝ | ๋ณต์ฌ |
| ์๋ณธ ํ์ผ | ์ญ์ ๋จ | ์ ์ง๋จ |
| ์๋ | ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฆ | ์๋์ ์ผ๋ก ๋๋ฆด ์ ์์ (ํ์ผ ํฌ๊ธฐ์ ๋ฐ๋ผ) |
๐ฆ Linux tar ๋ช
๋ น์ด ์ ๋ฆฌ - ์์ถ ๋ฐ ์์ถ ํด์
๐งญ tar ์ด๋?
- ์ฌ๋ฌ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ํ๋์ ํ์ผ๋ก ๋ฌถ๋ ๋๊ตฌ
- ๊ธฐ๋ณธ์ ์ผ๋ก ์์ถํ์ง ์๊ณ "๋ฌถ๊ธฐ(tape archive)"๋ง ์ํ
- gzip (
.gz), bzip2 (.bz2), xz (.xz) ๋ฑ์ ์์ถ ํ๋ก๊ทธ๋จ๊ณผ ํจ๊ป ์ฌ์ฉ ๊ฐ๋ฅ
๐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
tar [์ต์
] [ํ์ผ๋ช
.tar] [๋์ ํ์ผ/๋๋ ํ ๋ฆฌ]
๐ฅ ๋ฌถ๊ธฐ (์์ถ ์์ด ์์นด์ด๋ธ ์์ฑ)
tar -cf archive.tar file1 file2 dir/
-c : ์ ์์นด์ด๋ธ ์์ฑ(create)
-f : ํ์ผ ์ด๋ฆ ์ง์ (file)
๐ฆ ์์ถํ๋ฉด์ ๋ฌถ๊ธฐ
| ์์ถ ํ์ | ๋ช
๋ น์ด ์์ | ์ค๋ช
|
|---|
gzip (.tar.gz) | tar -czf archive.tar.gz dir/ | gzip ์์ถ๊ณผ ํจ๊ป ๋ฌถ๊ธฐ |
bzip2 (.tar.bz2) | tar -cjf archive.tar.bz2 dir/ | ๋ ๋์ ์์ถ๋ฅ |
xz (.tar.xz) | tar -cJf archive.tar.xz dir/ | ๋งค์ฐ ๋์ ์์ถ๋ฅ |
๐ค ์์ถ ํด์ (๋ฌถ์ ํด์ )
์ผ๋ฐ .tar ํ์ผ ํด์
tar -xf archive.tar
.tar.gz ํด์ (gzip)
tar -xzf archive.tar.gz
.tar.bz2 ํด์ (bzip2)
tar -xjf archive.tar.bz2
.tar.xz ํด์ (xz)
tar -xJf archive.tar.xz
๐ ํน์ ๋๋ ํ ๋ฆฌ ์๋์ ์์ถ ํด์
tar -xzf archive.tar.gz -C /path/to/target/
-C ์ต์
: ์์ถ์ ์ง์ ํ ๋๋ ํ ๋ฆฌ ์๋์ ํด์
๐งฐ ์์ฃผ ์ฌ์ฉํ๋ ์ต์
์ ๋ฆฌ
| ์ต์
| ์๋ฏธ |
|---|
-c | ์ ์์นด์ด๋ธ ์์ฑ (create) |
-x | ์์ถ ํด์ (extract) |
-f | ํ์ผ ์ด๋ฆ ์ง์ (file) |
-v | ์ฒ๋ฆฌ ๊ณผ์ ์ ์์ธํ ์ถ๋ ฅ (verbose) |
-z | gzip ์ฌ์ฉ |
-j | bzip2 ์ฌ์ฉ |
-J | xz ์ฌ์ฉ |
-C | ๋๋ ํ ๋ฆฌ ์ง์ ํ์ฌ ์์ถ ํด์ |
โ
์ค์ ์์ ๋ชจ์
# 1. ๋๋ ํ ๋ฆฌ๋ฅผ gzip ์์ถํ tar ํ์ผ๋ก ๋ง๋ค๊ธฐ
tar -czvf backup.tar.gz myfolder/
# 2. ์์ถ ํ์ผ ํด์ (ํ์ฌ ๋๋ ํ ๋ฆฌ์)
tar -xzvf backup.tar.gz
# 3. ํน์ ํด๋์ ์์ถ ํด์
tar -xzvf backup.tar.gz -C /tmp/extracted/
๐ ์ฐธ๊ณ
.tar๋ ๋ฌถ๊ธฐ๋ง ํ๊ณ ์์ถ์ ํ์ง ์์
.tar.gz, .tgz๋ gzip ์์ถ + tar
.tar.bz2, .tar.xz๋ ์์ถ๋ฅ ์ด ๋ ๋์ง๋ง ์์ถ/ํด์ ์๊ฐ์ด ๊ธธ ์ ์์
๐ณ Docker๋ ๋ฌด์์ธ๊ฐ?
1. ํ ์ค ์ ์
Docker๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ฒ ์คํํ ์ ์๋ ์ปจํ
์ด๋ ๊ธฐ์ ์
๋๋ค.
2. ๊ฐ์๋จธ์ (VM)๊ณผ Docker์ ์ฐจ์ด์
| ํญ๋ชฉ | ์ ํต์ ์ธ ๊ฐ์ ๋จธ์ (VM) | Docker (์ปจํ
์ด๋) |
|---|
| ์ด์์ฒด์ ํฌํจ ์ฌ๋ถ | โ
๊ฒ์คํธ OS ํฌํจ (๋ฌด๊ฑฐ์) | โ OS ์์ด, ์ปค๋๋ง ๊ณต์ (๊ฐ๋ฒผ์) |
| ์คํ ์๋ | ๋๋ฆผ (์์ญ ์ด~์ ๋ถ) | ๋งค์ฐ ๋น ๋ฆ (์ ์ด ์ด๋ด) |
| ๋ฆฌ์์ค ์ฌ์ฉ๋ | ์ GB ์ด์ | ์ MB ์์ค |
| ์คํ ๋จ์ | ์ ์ฒด ์์คํ
| ํ๋์ ์ฑ ๋๋ ์๋น์ค ๋จ์ |
| ์ฑ๋ฅ | ํ๋์จ์ด ๊ฐ์ํ๋ก ๋๋ ค์ง | ๊ฑฐ์ ๋ค์ดํฐ๋ธ ์์ค์ ์ฑ๋ฅ |
| ๊ฒฉ๋ฆฌ ๋ฐฉ์ | Hypervisor (ํ๋์จ์ด ๊ฐ์ํ) | Namespace + cgroups (์ปค๋ ๋ ๋ฒจ ๊ฒฉ๋ฆฌ) |
3. Docker๋ ์ ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ด๊ฐ?
โ
ํต์ฌ ์ด์ : ํธ์คํธ์ ๋ฆฌ๋
์ค ์ปค๋์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
- ์ปจํ
์ด๋๋ ์๋ก์ด OS๋ฅผ ์คํํ์ง ์๊ณ ,
- ๋จ์ง ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌํด์ ๋ถ๋ฆฌํด์ฃผ๋ ๊ตฌ์กฐ์
๋๋ค.
๐ง Docker ํต์ฌ ๊ธฐ์
- Namespaces: ํ๋ก์ธ์ค, ๋คํธ์ํฌ, ํ์ผ ์์คํ
๋ถ๋ฆฌ
- cgroups: CPU/๋ฉ๋ชจ๋ฆฌ ๋ฑ ๋ฆฌ์์ค ์ ํ
- UnionFS: ๊ณ์ธต์ ์ด๋ฏธ์ง ๊ด๋ฆฌ (Dockerfile ์ด๋ฏธ์ง ๊ตฌ์กฐ)
4. ๊ตฌ์กฐ ๋น๊ต: VM vs Docker
5. Docker ์คํ ํ๋ฆ
Dockerfile๋ก ์ ํ๋ฆฌ์ผ์ด์
ํ๊ฒฝ ์ ์
docker build โ ์ด๋ฏธ์ง๋ฅผ ์์ฑ
docker run โ ์ปจํ
์ด๋ ์คํ (์ฑ ๋์)
-p ์ต์
์ผ๋ก ํฌํธ ์ฐ๊ฒฐ
-v ์ต์
์ผ๋ก ํ์ผ ๊ณต์
-e ์ต์
์ผ๋ก ํ๊ฒฝ๋ณ์ ์ ๋ฌ
6. ๋น์ ๋ก ์ดํดํ๊ธฐ ๐
- VM: ์บ ํํ ๋ ์ง ํ ์ฑ๋ฅผ ํต์งธ๋ก ๋ค๊ณ ๊ฐ๋ ๊ฒ
- Docker: ๋ฐฑํฉ ํ๋์ ํ์ํ ๊ฒ๋ง ์ฑ๊ฒจ ๊ฐ๋ณ๊ฒ ์ด๋ํ๋ ๊ฒ
7. Docker์ ์ฅ์
โ
๋น ๋ฅธ ์คํ (์ด ๋จ์)
โ
์ ํ๋ฆฌ์ผ์ด์
๊ฐ ๊ฒฉ๋ฆฌ
โ
์ด์์ฒด์ ์์กด์ฑ ์์
โ
์ด๋์๋ ๊ฐ์ ํ๊ฒฝ (๊ฐ๋ฐ โ ํ
์คํธ โ ๋ฐฐํฌ ๋์ผ)
โ
CI/CD, ํด๋ผ์ฐ๋ ๋ฐฐํฌ์ ์ต์ ํ
8. ์ค์ ์์ Docker๊ฐ ์ฐ์ด๋ ๊ณณ
- Spring Boot, Node.js, Python ๋ฑ ์ฑ ๋ฐฐํฌ
- DB ์๋ฒ (MySQL, Redis, Oracle) ์ปจํ
์ด๋ํ
- Jenkins, GitLab ๋ฑ DevOps ๋๊ตฌ ์คํ
- Nginx, ์น์๋ฒ ํ๋ก์ ์ค์
- Kubernetes์ ํจ๊ป ๋ง์ดํฌ๋ก์๋น์ค ์ด์
9. ์์ฝ โจ
| ํค์๋ | ์๋ฏธ |
|---|
| ์ด๋ฏธ์ง | ์ปจํ
์ด๋ ์คํ์ ์ํ ์ค๊ณ๋ |
| ์ปจํ
์ด๋ | ์คํ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์
์ธ์คํด์ค |
| Dockerfile | ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ช
์ธ์ |
| ๋น๋ | Dockerfile๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๊ณผ์ |
| ์คํ | ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ๋์ฐ๋ ๊ฒ |