7. ๋ธ๋ญ ๋๋ฐ์ด์ค์ ์บ๋ฆญํฐ ๋๋ฐ์ด์ค + If๋ฌธ ํ ์คํธ ๋ช ๋ น๊ณผ bash ํ์ผ + df & du ์ ๋ช ๋ น์ด + ํ๋ก๊ทธ๋จ ๋ฐ ํจํค์ง ์ค์น์ ์คํ ์์ค + apt, yum๊ณผ ์ค์ ํ์ผ ๋ฐ ํจํค์ง
# ๋ธ๋ญ ๋๋ฐ์ด์ค์ ์บ๋ฆญํฐ ๋๋ฐ์ด์ค
๋ธ๋ญ ๋๋ฐ์ด์ค ( = Block device ) |
์บ๋ฆญํฐ ๋๋ฐ์ด์ค ( = Character device ) | |
๋ฐ์ดํฐ ์ ์ก ๋จ์ | ๋ธ๋ญ | ๊ธ์ |
์ ์ก ์๋ ๋ฐ ๋๋ ์ด | ์ ์ก์๋ ↑ | ์ ์ก์๋ ๋ฐ ๋๋ ์ด ↓ |
์์ | HDD , SSD, CD-ROM | ๋ง์ฐ์ค, ํค๋ณด๋, ๋ชจ๋ํฐ, ํ๋ฆฐํฐ |
- # cd /dev ๋ฅผ ํตํด /dev ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ ํ ls -al ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ์ถ๋ ฅ
+ /dev ๋๋ ํฐ๋ฆฌ
: ๋ฆฌ๋ ์ค์ ๋ชจ๋ ์ฅ์น๋ฅผ ๊ด๋ฆฌํ๋ ๋๋ ํฐ๋ฆฌ๋ก, ์ฃผ๋ณ ์ฅ์น๋ค์ ๋ํ๋ด๋ ํ์ผ์ ํฌํจํ๋ค.
+ ๋งจ ์์๋ฆฌ๊ฐ c ์ธ ํ์ผ --> ์บ๋ฆญํฐ ๋๋ฐ์ด์ค
+ ๋งจ ์์๋ฆฌ๊ฐ b ์ธ ํ์ผ --> ๋ธ๋ญ ๋๋ฐ์ด์ค (๋์ปค์์๋ ์กด์ฌ X)
+ ์ฐธ๊ณ ๋ก /dev/hda1 ์ ๋ฌผ๋ฆฌ๋์คํฌ 1๋ฒ์ ์ฒซ ๋ฒ์งธ ํํฐ์ ์,
/dev/hdb2 ๋ ๋ฌผ๋ฆฌ๋์คํฌ 2๋ฒ์ ๋ ๋ฒ์งธ ํํฐ์ ์ ์๋ฏธํ๋ค.
# If ๋ฌธ ํ ์คํธ ๋ช ๋ น๊ณผ bash ํ์ผ
-e | ํ์ผ์ด ์กด์ฌํ๋ฉด true |
-f | ์ผ๋ฐ ํ์ผ์ผ ๊ฒฝ์ฐ true |
-s | ํ์ผ์ด ์ฌ์ด์ฆ๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ true |
-d | ๋๋ ํฐ๋ฆฌ๋ ํด๋์ผ ๊ฒฝ์ฐ true |
-b | ๋ธ๋ก ๋๋ฐ์ด์ค์ผ ๊ฒฝ์ฐ true |
-L | ์ฌ๋ณผ๋ฆญ ๋งํฌ์ผ ๊ฒฝ์ฐ true |
-r | ์ฝ๊ธฐ ๊ถํ์ ๊ฐ์ง ๊ฒฝ์ฐ true |
-x | ์คํ ๊ถํ์ ๊ฐ์ง ๊ฒฝ์ฐ true |
-z | ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 0์ผ ๊ฒฝ์ฐ true |
-c | ์บ๋ฆญํฐ ๋๋ฐ์ด์ค์ผ ๊ฒฝ์ฐ true |
-w | ์ฐ๊ธฐ ๊ถํ์ ๊ฐ์ง ๊ฒฝ์ฐ true |
ex 1)
+ ์ฒซ ๋ฒ์งธ ์์๋ถํฐ
1. bashmor ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด "no file" ์ถ๋ ฅ
2. doll ํ์ผ์ด ์คํ ๊ถํ์ ๊ฐ์ง๋ฉด "you can execute" ์ถ๋ ฅ
3. "๊ณผ "์ฌ์ด์ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 0์ด๋ฉด "it is zero" ์ถ๋ ฅ
4. here ํ์ผ์ด ์กด์ฌํ๋ฉด "exists" ์ถ๋ ฅ
5. one ์ด๋ผ๋ ํ์ผ, ๋๋ ํฐ๋ฆฌ, ๋๋ฐ์ด์ค๊ฐ ๋ธ๋ก ๋๋ฐ์ด์ค๊ฐ ์๋๋ฉด "not block device" ์ถ๋ ฅ
ex 2)
+ ์ฒซ ๋ฒ์งธ ์์๋ถํฐ
1. doll ์ด ์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ์๋ ๊ฒฝ์ฐ "doll is not symbolic link." ์ถ๋ ฅ
2. doll ํ์ผ์ ๋ํด ์ฝ๊ธฐ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ "Can read doll." ์ถ๋ ฅ
3. doll ํ์ผ์ ๋ํด ์ฐ๊ธฐ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ "Can write something on doll." ์ถ๋ ฅ
4. doll23์ด ํด๋๋ ๋๋ ํฐ๋ฆฌ์ผ ๊ฒฝ์ฐ "file doll23 is directory or folder." ์ถ๋ ฅ
5. doll์ ํ์ผ ํฌ๊ธฐ๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ "file size is not 0." ์ถ๋ ฅ
6. doll์ด ์บ๋ฆญํฐ ๋๋ฐ์ด์ค๊ฐ ์๋ ๊ฒฝ์ฐ "doll is not Character device." ์ถ๋ ฅ
# ์ ๋ช ๋ น์ด df ์ du
# df
: ํํฐ์ ๋ฆฌ์คํธ์ ๊ทธ ์ฌ์ฉ๋ ์ถ๋ ฅ
# du
: ํด๋๋ณ ํฌ๊ธฐ ์ถ๋ ฅ
# ํ๋ก๊ทธ๋จ ๋ฐ ํจํค์ง ์ค์น์ ์คํ ์์ค
1. ์์์ ์ผ๋ก ์ค์น(DIY)
: ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๋ก๋ถํฐ ์์ค์ฝ๋ ๋ค์ด --> ์ฌ์ฉ์๊ฐ ์ง์ ์ปดํ์ผ ํ ์ค์น
2. ๋น๋์ฉ ํด ์ฌ์ฉ
: make compile --> make install
: mvn compile --> mvn install
3. ์๋ ์ค์น ํจํค์ง ์ด์ฉ
- ๋ ๋ํ ๊ณ์ด
--> rpm -i [ํจํค์ง๋ช ].rpm
- ๋ฐ๋น์ ๊ณ์ด
--> dpkg -i [ํจํค์ง๋ช ].deb
4. ํจํค์ง ๋งค๋์
: ์ ์ฅ์(Repository)์์ ์์ค ๋ค์ด + ์ปดํ์ผ + ์ค์น
- ๋ฐ๋น์ ๊ณ์ด
--> apt-get install [ํจํค์ง๋ช ]
--> apt install [ํจํค์ง๋ช ]
- ๋ ๋ํ ๊ณ์ด
--> yum install [ํจํค์ง๋ช ]
5. ๋์ปค ๊ธฐ๋ฐ ์ค์น
: docker run [ํจํค์ง๋ช ]
# apt์ ์ค์ ํ์ผ ๋ฐ ํจํค์ง
# apt
# apt update
# apt install [ํจํค์ง๋ช ]
+ # nano ์ ๋ ฅ ์ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋จ์ ํ์ธ
# apt remove [ํจํค์ง๋ช ]
: ์ค์ ํ์ผ์ ์ญ์ X
# apt purge [ํจํค์ง๋ช ]
: ์ค์ ํ์ผ๊น์ง ์ญ์
# yum๊ณผ ์ค์ ํ์ผ ๋ฐ ํจํค์ง
# docker pull centos
# docker run -it --name=centos2 centos:7
# docker attach centos2
# yum update
# yum install nano
# yum remove nano
+ ์ฝ๋ ๋ฐ ๋ด์ฉ ์ฐธ์กฐ