
๐ ์์ฝ
์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ด ์๋์ฐ๋ฅผ ์ค์นํด์ผ ์ฌ์ฉํ ์ ์์.
์๋์ฐ ํ๋ก๊ทธ๋จ์ OS(Operating System) ๋ผ๊ณ ํ๊ณ ์ด์์ฒด์ ๋ผ๊ณ ํจ.
์ด์์ฒด์ ๋ ํค๋ณด๋, ๋ง์ฐ์ค, ์์
, ๋์์ ๋ฑ์ ํ๊ฒฝ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ S/W ๋ก ์ต์ด๋ก ์ค์น๋์ด์ผ ํจ.
์ด์์ฒด์ ์ ์ข
๋ฅ๋ ์๋์ฐ(Window), ๋ฆฌ๋
์ค(Linux), ์ ๋์ค(Unix)๊ฐ ์์ผ๋ฉฐ ์ฃผ๋ก ๊ฐ์ธ์ฉ์ผ๋ก ์๋์ฐ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ฌ์์๋ ๋ฆฌ๋
์ค ๋๋ ์ ๋์ค๊ฐ ์ฌ์ฉ๋จ
์์ ๊ธฐ์ :
– Basic : ๋ฆฌ๋ ์ค
๐ ๊ธฐ์ ๊ตฌํ
์คํ :
- docker desktop
๐ ์ปจํ ์ด๋ ๊ฐ๋ฐ
์ฐธ๊ณ ) ์ ์คํฌ๋ฆฝํธ : ์ ์์ ์ํํ ๋ช ๋ น์ด๋ฅผ ์ ์ด ๋์ ํ์ผ
๋จ์ํ ๋ช ๋ น์ด๋ฅผ ๋์ดํ๊ธฐ๋ ํ๊ณ , ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ์ ๊ธฐ์ ํด์ ์ฌ์ฉํ ์ ์์(ํ๋ก๊ทธ๋๋ฐ ์ธ์ด)
์ฅ์ : 1) ๋ณต์กํ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ์คํํ ์ ์๊ณ
2) ๋ฐ๋ณต๋๋ ์ฒ๋ฆฌ๋ฅผ ํ๋ฒ์ ์์ฑ์ผ๋ก ์ฌ์ฌ์ฉํ ์ ์์
3) ํ์ผ๋ก ์ ์๋๋ฏ๋ก ๋ค๋ฅธ์ฌ๋์๊ฒ ๊ณต์ ๋ ๊ฐ๋ฅ
(1) ์ ์ ํ
sh : ๋ณธ์ (๊ณผ๊ฑฐ, ํ์ฌ)
bash : ์์ฆ ๋ง์ด ์ฌ์ฉํ๋ ์
(2) ์ ์คํฌ๋ฆฝํธ ์์ฑ
์์ 1) ํ ๋๋ ํ ๋ฆฌ์ ํ์ผ ์ฌ์ฉ๋์(ํฌ๊ธฐ) ์ถ๋ ฅ
๋จ์ : MByte, KByte ๋จ์
์ฌ์ฉ๋ฒ) du -h
(MByte, KByte ๋จ์๋ก ๋ณด์)
(1) ๋ฆฌ๋ ์ค ์ปจํ ์ด๋ ์คํ
์ปจํ ์ด๋ ์ ์ฒด ๋ชฉ๋ก ๋ณด๊ธฐ
docker ps -a
C:\Users2>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7aea09695595 ubuntu:18.04 "bash" 23 hours ago Exited (0) 22 hours ago elegant_swartz ...์๋ต
์ปจํ ์ด๋ ์คํ
docker start 7aea09695595
C:\Users2>docker start 7aea09695595 7aea09695595
์ปจํ ์ด๋ ์ ์
docker attach 7aea09695595
C:\Users2>docker attach 7aea09695595
(2) ๋ฆฌ๋ ์ค ์ ์
ubuntu ํ๋กฌํํธ
root@7aea09695595:/#
home ์ด๋
root@7aea09695595:/# cd home root@7aea09695595:/home# ls
oracle ๋๋ ํ ๋ฆฌ ์์ฑ
mkdir oracle
root@7aea09695595:/home# mkdir oracle
head : ๋ฌธ์ ์์์ ๋ช๊ฐ๋ง ๋ณด๊ธฐ ๋ช ๋ น์ด
tail : ๋ฌธ์ ๋์์ ๋ช๊ฐ๋ง ๋ณด๊ธฐ ๋ช ๋ น์ด
์ฌ์ฉ๋ฒ) tail -n ๊ฐ์
์ฌ์ฉ๋ฒ) ๋ช ๋ น์ด | ๋ช ๋ น์ด2 -> ๋ช ๋ น์ด์ ์ถ๋ ฅ๊ฒฐ๊ณผ๊ฐ ๋ช ๋ น์ด2์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋จ
root@7aea09695595:/home# du -h | tail -n 1 8.0K .
(3) ์ ์คํฌ๋ฆฝํธ ์์ฑ
1) homesize.sh ํ์ผ ์์ฑ
#!/bin/bash tail -n 1 echo End Shell Script
2) homesize.sh ์คํ ๊ถํ ๋ถ์ฌ : chmod ๋ช ๋ น์ด ์ด์ฉ
์ฌ์ฉ๋ฒ) chmod (u,g,o)+(r,w,x) ํ์ผ๋ช
u : user, g : group, o : other , r : read, w : write, x : execute
chmod +x homesize.sh
root@7aea09695595:/home# chmod +x homesize.sh root@7aea09695595:/home# ls -l total 8 -rwxr-xr-x 1 root root 31 Jun 9 01:35 homesize.sh drwxr-xr-x 2 root root 4096 Jun 9 01:01 oracle
์ ์คํฌ๋ฆฝํธ ์คํ
root@7aea09695595:/home# ./homesize.sh
3) ์ ๋ฑ : #!
์ฌ์ฉ๋ฒ) #!์ ๋ช ๋ น์ด
๋ฐฐ์ฌ์ ์ ์ฌ์ฉํ๊ฒ ๋ค๋ ์์คํฌ๋ฆฝํธ : #!/bin/bash
๋ณธ์ ์ ์ฌ์ฉํ๊ฒ ๋ค๋ ์์คํฌ๋ฆฝํธ : #!/bin/sh
์ฐธ๊ณ ) vim(vi) ์๋ํฐ ์ค์น
apt-get install -y vim
์ฐ์ต๋ฌธ์ 1) ์๋์ ๊ฒฐ๊ณผ์ ๊ฐ์ ์ ์คํฌ๋ฆฝํธ ์์ฑํ๊ธฐ
์ ์คํฌ๋ฆฝํธ๋ช : rootfs.sh
(1) echo “root directory”
(2) cd /
(3) ls -l
#!/bin/bash echo "root directory" cd / ls -l
๋จ, ์ ์คํฌ๋ฆฝํธ์ ์คํ ๊ถํ์ ์ถ๊ฐํ๊ณ ์คํํ์ธ์
์ ์คํฌ๋ฆฝํธ ์์ฑ : rootfs.sh
cat > rootfs.sh
root@7aea09695595:/home# cat > rootfs.sh #!/bin/bash echo "root directory" cd / ls -l
์คํ ๊ถํ ์ฃผ๊ธฐ :
chmod +x rootfs.sh
root@7aea09695595:/home# chmod +x rootfs.sh
์ ์คํฌ๋ฆฝํธ ์คํ
./rootfs.sh
root@7aea09695595:/home# ./rootfs.sh root directory total 80 drwxr-xr-x 1 root root 4096 Jun 8 01:53 bin drwxr-xr-x 2 root root 4096 Apr 24 2018 boot ...์๋ต
4) ๋ณ์ ์์ฑ
์ฐธ๊ณ ) ์ฃผ์ : #(์ ์คํฌ๋ฆฝํธ ์ฃผ์)
์ ๋ณ์(ํ๊ฒฝ๋ณ์) : ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋น์ทํ ์ฉ๋๋ก ์ฌ์ฉ
์ฌ์ฉ๋ฒ) ๋ณ์=๊ฐ : ๋ณ์์ ์
$๋ณ์ : ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ ์์ $ ๋ถ์ฌ์ผํจ
=(๋์ ์ฐ์ฐ์) ์๋ค์ ๊ณต๋ฐฑ์ด ์์ผ๋ฉด ์๋จ
๋ฌธ์์ด : ๋ฐ์ดํ(ํ, ์)
์ ์ : ์ซ์
์์ 2) hello world ์ ๋ณ์ HELLO ์ ๋ฃ๊ณ echo ์ ๋ณ์๋ฅผ ์ถ๋ ฅํด๋ณด์ธ์
ํ์ผ๋ช : hello.sh
#!/bin/bash HELLO="hello world" echo $HELLO
hello.sh ์ ์คํฌ๋ฆฝํธ ์์ฑ
cat > hello.sh
root@7aea09695595:/home# cat > hello.sh #!/bin/bash HELLO="hello world" echo $HELLO
์คํ ๊ถํ ์ฃผ๊ธฐ
chmod +x hello.sh
root@7aea09695595:/home# chmod +x hello.sh
์คํํ๊ธฐ
./hello.sh
root@7aea09695595:/home# ./hello.sh hello world root@7aea09695595:/home#
5) ๋ณ์์ ๋ช ๋ น์ด ๋ฃ๊ธฐ
์๋ณ์์ ๋ช ๋ น์ด ์์ฒด๋ฅผ ๋ฃ์ ์ ์์
์ฌ์ฉ๋ฒ) ๋ณ์=$(๋ช
๋ น์ด) == ๋ณ์=๋ช
๋ น์ด
์์ 3) ํ์ฌ๋ ์ง๋ฅผ ๋ณ์์ ๋ฃ๊ณ ํ์ฌ๋ ์ง ์ด๋ฆ์ผ๋ก ๋นํ์ผ์ ๋ง๋ค์ด ๋ณด์ธ์
ํ์ฌ๋ ์ง ๋ช ๋ น์ด) date +%Y-%m-%d
+ : ํฌ๋งท ์ฌ์ฉ
%Y : 4์๋ฆฌ ์ฐ๋
%m : ์
%d : ์ผ
์๊ฐ ์ฐพ์๋ณด๊ธฐ(๊ตฌ๊ธ)
var.sh ์์ฑ
root@7aea09695595:/home# cat > var.sh #!/bin/bash curdate=$(date +%Y-%m-%d) curdate2=`date +%Y-%m-%d` echo $curdate echo $curdate2
์คํ ๊ถํ ์ฃผ๊ธฐ
chmod +x var.sh
root@7aea09695595:/home# chmod +x var.sh
์คํ
root@7aea09695595:/home# ./var.sh 2023-06-09 2023-06-09 root@7aea09695595:/home#