[OS] ํ๋ ๋งํฌ, ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ฐจ์ด์
ํ์ผ ์์คํ ์์ ์ค์ ๋ฐ์ดํฐ๋ ๋์คํฌ์ ๋ฐ์ดํฐ ๋ธ๋ก(๋ฌผ๋ฆฌ์ ๋์คํฌ ๊ณต๊ฐ)์ ์ ์ฅ๋๊ณ , ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ(๊ถํ/์์ ์/ํฌ๊ธฐ ๋ฑ)์ ๋ฐ์ดํฐ ๋ธ๋ก์ ์์น(์ฃผ์) ์ ๋ณด๊ฐ inode์ ์ ์ฅ๋๋ค.
inode๋ ์ฝ 128๋ฐ์ดํธ ํฌ๊ธฐ์ ๊ณ ์ ๋ ๊ตฌ์กฐ์ฒด๋ก, ํ์ผ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ํ ์ด๋ธ ๊ฐ์ ๊ณณ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ํ์ผ ์ด๋ฆ์ ์ฌ์ค ์ด inode๋ฅผ ๊ฐ๋ฆฌํค๋ ํ๋์ ์ด๋ฆ์ผ ๋ฟ์ด๋ค. ํ๋ ๋งํฌ๋ฅผ ๋ง๋ค๋ฉด ๊ฐ์ inode๋ฅผ ๊ฐ๋ฆฌํค๋ ์ด๋ฆ์ด ํ๋ ๋ ์๊ธฐ๋ ์ ์ด๋ค. inode๋ ๋งํฌ ์นด์ดํธ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ํ๋ ๋งํฌ๋ฅผ ์ถ๊ฐํ ๋๋ง๋ค ์ด ์นด์ดํธ๊ฐ 1์ฉ ์ฆ๊ฐํ๋ค.
ํ๋ ๋งํฌ Hard Link
# ํ๋ ๋งํฌ ์์ฑ ๋ช
๋ น์ด
ln <์๋ณธ ๊ฒฝ๋ก> <๋งํฌ ์ด๋ฆ>
# test.txt์ ํ๋ ๋งํฌ test2.txt ์์ฑ
ln test.txt test2.txt
๋์ผํ ํ์ผ(inode)์ ๊ฐ๋ฆฌํค๋ ๋ ํ๋์ ์ด๋ฆ. ์ด๋ ์ชฝ์ ์์ ํ๋ ๊ฐ์ ๋ฐ์ดํฐ ๋ธ๋ก์ด ์์ ๋๋ค.
์๋ฅผ ๋ค์ด touch test.txt
ํ์ผ 1๊ฐ๋ฅผ ์์ฑํ๋ฉด ์๋ก์ด inode ์์ฑ → ๋ฐ์ดํฐ ๋ธ๋ก ํ ๋น → test.txt
๋ผ๋ ์ด๋ฆ์ด ๊ทธ inode๋ฅผ ๊ฐ๋ผํค๋ ์ฒซ ๋ฒ์งธ ํ๋ ๋งํฌ๊ฐ ๋๋ค.
๊ทธ ํ ln test.txt test2.txt
๋ช
๋ น์ด๋ก ํ๋ ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ฉด ์๋ก์ด inode๋ฅผ ์์ฑํ์ง ์๊ณ ๊ฐ์ inode๋ฅผ ๊ฐ๋ฆฌํค๋ ์ด๋ฆ test2.txt
๊ฐ ํ๋ ๋ ์๊ธด๋ค. ์ด๋ inode์ ๋งํฌ ์นด์ดํธ๊ฐ 2๋ก ์ฆ๊ฐํ๋ค. ํ์ผ์ ์ญ์ (rm
)ํ๋ฉด ์ค์ ๋ก๋ ๋งํฌ ์นด์ดํธ๋ง 1 ๊ฐ์ํ๊ณ , ์นด์ดํธ๊ฐ 0์ด ๋์ด์ผ inode์ ๋ฐ์ดํฐ ๋ธ๋ก์ด ์ค์ ๋ก ํด์ ๋๋ค.
- ๋๋ ํ ๋ฆฌ๋ ํ๋ ๋งํฌ๋ฅผ ๋ง๋ค ์ ์๋ค (๋ฃจํธ๋ ์์ธ์ ์ผ๋ก
.
๊ณผ..
๋ณด์ ) - ๋ค๋ฅธ ํ์ผ ์์คํ (ํํฐ์ )์ ๋์ด์ ํ๋ ๋งํฌ๋ฅผ ๋ง๋ค ์ ์๋ค (inode ๋ฒํธ๋ ํ์ผ ์์คํ ๋ง๋ค ๋ ๋ฆฝ์ )
์ฌ๋ณผ๋ฆญ ๋งํฌ Symbolic Link
# ์ฌ๋ณผ๋ฆญ ๋งํฌ ์์ฑ ๋ช
๋ น์ด
ln -s <์๋ณธ ๊ฒฝ๋ก> <๋งํฌ ์ด๋ฆ>
# test.txt๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ link_to_test.txt ์์ฑ
ln -s /home/user/test.txt link_to_test.txt
์๋ณธ ํ์ผ ๊ฒฝ๋ก(์: /home/user/file.txt)๋ฅผ ๋ฌธ์์ด๋ก ์ ์ฅํ ํ์ผ. ์๋์ฐ์ ๋ฐ๋ก๊ฐ๊ธฐ์ ์ ์ฌํ๋ค.
์ฌ๋ณผ๋ฆญ ๋งํฌ์ ์ ๊ทผํ๋ฉด ํ์ผ ์์คํ ์ด ์ ์ฅ๋ ๊ฒฝ๋ก๋ก ์ด๋ํ ํ, ํด๋น ํ์ผ(ํ๋ ๋งํฌ)์ ํตํด inode์ ์ ๊ทผํ๋ค. ๋ง์ฝ ์๋ณธ ํ์ผ์ด ์ญ์ ๋๋ฉด ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ ๊ฒฝ๋ก๊ฐ ๋๊ฒจ์ ๋ฌดํจํ๋์ง๋ง, ํ๋ ๋งํฌ๋ ์ฌ์ ํ ๊ฐ์ ๋ฐ์ดํฐ(inode)๋ฅผ ๊ฐ๋ฆฌํค๋ฏ๋ก ์ ๊ทผ/์์ ์ด ๊ฐ๋ฅํ๋ค.
- ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ ์ํํธ ๋งํฌ๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค
- ์ฌ๋ณผ๋ฆญ ๋งํฌ ์์ฒด๋ ๊ณ ์ ํ inode๋ฅผ ๊ฐ์ง๋ค
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ๊ณ์ฐํ๊ธฐ (0) | 2025.07.20 |
---|---|
[CS] ๋ฒ ์ง์ ๊ณก์ ์๋ฆฌ ์ดํดํ๊ธฐ feat. ์นด์คํ ์กฐ ์๊ณ ๋ฆฌ์ฆ (0) | 2025.06.23 |
[JS] async ํจ์๊ฐ await๋ฅผ ๋ง๋ฌ์ ๋ ๋์ ํ๋ฆ (1) | 2025.06.14 |
[CSS] grid-row ๋์ ๋ฐฉ์ ์ดํด๋ณด๊ธฐ (0) | 2025.06.03 |
[HTTP] ETag ์ํฐํฐ ํ๊ทธ ํค๋ (0) | 2025.05.05 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[JS] ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ๊ณ์ฐํ๊ธฐ
[JS] ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ๊ณ์ฐํ๊ธฐ
2025.07.20 -
[CS] ๋ฒ ์ง์ ๊ณก์ ์๋ฆฌ ์ดํดํ๊ธฐ feat. ์นด์คํ ์กฐ ์๊ณ ๋ฆฌ์ฆ
[CS] ๋ฒ ์ง์ ๊ณก์ ์๋ฆฌ ์ดํดํ๊ธฐ feat. ์นด์คํ ์กฐ ์๊ณ ๋ฆฌ์ฆ
2025.06.23 -
[JS] async ํจ์๊ฐ await๋ฅผ ๋ง๋ฌ์ ๋ ๋์ ํ๋ฆ
[JS] async ํจ์๊ฐ await๋ฅผ ๋ง๋ฌ์ ๋ ๋์ ํ๋ฆ
2025.06.14 -
[CSS] grid-row ๋์ ๋ฐฉ์ ์ดํด๋ณด๊ธฐ
[CSS] grid-row ๋์ ๋ฐฉ์ ์ดํด๋ณด๊ธฐ
2025.06.03