๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ Linux Programming/with Docker

[Linux] ๋ธ”๋Ÿญ ๋””๋ฐ”์ด์Šค์™€ ์บ๋ฆญํ„ฐ ๋””๋ฐ”์ด์Šค + If๋ฌธ ํ…Œ์ŠคํŠธ ๋ช…๋ น๊ณผ bash ํŒŒ์ผ + ์‰˜ ๋ช…๋ น์–ด(df, du)

by A Lim Han 2022. 11. 7.

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

 

 

 

 

+ ์ฝ”๋“œ ๋ฐ ๋‚ด์šฉ ์ฐธ์กฐ

https://wikidocs.net/173672