λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

[07] 파일 μ‹œμŠ€ν…œ

@GAMEMING2024. 3. 29. 01:32

 

 

- 파일 (File)

 : 보쑰 κΈ°μ–΅ μž₯μΉ˜μ— μ €μž₯된 κ΄€λ ¨ μžˆλŠ” μ •λ³΄μ˜ μ§‘ν•©

 : 파일 μ‹€ν–‰ 정보 + 파일 κ΄€λ ¨ λΆ€κ°€ 정보 (속성/메타 데이터)κ°€ 쑴재 

 

 

 

- 파일 속성

 1) μœ ν˜• : OSκ°€ μΈμ§€ν•˜λŠ” 파일의 μ’…λ₯˜

 2) 크기 : 파일의 ν˜„μž¬ 크기와 ν—ˆμš© κ°€λŠ₯ μ΅œλŒ€ 크기

 3) 보호 : μ–΄λ–€ μ‚¬μš©μžκ°€ ν•΄λ‹Ή νŒŒμΌμ„ 읽고, μ“°κ³ , μ‹€ν–‰ν•  수 μžˆλŠ”μ§€

 4) 생성 λ‚ μ§œ : 파일이 μƒμ„±λœ λ‚ μ§œ

 5) λ§ˆμ§€λ§‰ μ ‘κ·Ό λ‚ μ§œ : νŒŒμΌμ— λ§ˆμ§€λ§‰μœΌλ‘œ μ ‘κ·Όν•œ λ‚ μ§œ

 6) λ§ˆμ§€λ§‰ μˆ˜μ • λ‚ μ§œ : 파일이 λ§ˆμ§€λ§‰μœΌλ‘œ μˆ˜μ •λœ λ‚ μ§œ

 7) μƒμ„±μž : 파일 생성 μ‚¬μš©μž

 8) μ†Œμœ μž : 파일 μ†Œμœ  μ‚¬μš©μž

 9) μœ„μΉ˜ : 파일의 보쑰기얡μž₯μΉ˜μƒ ν˜„μž¬ μœ„μΉ˜

 

 

 

- 파일 μœ ν˜•

 : 파일 뒀에 ν™•μž₯자λ₯Ό 톡해 ν‘œν˜„

 1) μ‹€ν–‰ 파일 : μ—†λŠ” 경우, exe, com, bin

 2) λͺ©μ  파일 : obj, o

 3) μ†ŒμŠ€ μ½”λ“œ 파일 : c, cpp, cc, java...

 4) μ›Œλ“œ ν”„λ‘œμ„Έμ„œ 파일 : xml, rtf, doc, docx

 5) 라이브러리 파일 : lib, a, so, dil

 6) λ©€ν‹°λ―Έλ””μ–΄ 파일 : mpeg, mov, mp3..

 7) λ°±μ—…/보관 파일 : rar, zip, tar

 

 

 

- 파일 연산을 μœ„ν•œ μ‹œμŠ€ν…œ 호좜

 1) 파일 생성

 2) 파일 μ‚­μ œ

 3) 파일 μ—΄κΈ°

 4) 파일 λ‹«κΈ°

 5) 파일 읽기

 6) 파일 μ“°κΈ°

 

 

 

- 디렉터리(directory)

 : → 폴더(folder)

 : ν˜„λŒ€ → 트리 ꡬ쑰 디렉터리(tree-structured directory)

https://andysbrainbook.readthedocs.io/en/stable/unix/Unix_01_Navigation.html

 

 : μ΅œμƒμœ„ 디렉터리 = 루트 디렉터리 ' / '둜 ν‘œν˜„ → 경둜(path)λΌλŠ” κ°œλ…μ΄ 생김

 

 

 

- μ ˆλŒ€ κ²½λ‘œμ™€ μƒλŒ€ 경둜

 : μ ˆλŒ€ 경둜 → 루트 디렉터리뢀터 μ‹œμž‘ν•˜λŠ” 경둜

 : μƒλŒ€ 경둜 → ν˜„μž¬ 디렉터리뢀터 μ‹œμž‘ν•˜λŠ” 경둜

 

 

 

- 디렉터리 μ‹œμŠ€ν…œ 호좜

 : 디렉터리 연산을 μœ„ν•œ μ‹œμŠ€ν…œ 호좜

 1) 디렉터리 생성

 2) 디렉터리 μ‚­μ œ

 3) 디렉터리 μ—΄κΈ°

 4) 디렉터리 λ‹«κΈ°

 5) 디렉터리 읽기

 

 

 

- 디렉터리 μ—”νŠΈλ¦¬

 : 파일이 내뢀에 ν•΄λ‹Ή 파일과 κ΄€λ ¨ 정보λ₯Ό λ‹΄κ³  μžˆλ‹€λ©΄, μ–˜λŠ” 내뢀에 ν•΄λ‹Ή 디렉터리에 λ‹΄κ²¨μžˆλŠ” λŒ€μƒκ³Ό κ΄€λ ¨λœ 정보λ₯Ό λ‹΄κ³  있음

 : 보톡 ν…Œμ΄λΈ”(ν‘œ) ν˜•νƒœ

 : .. → μƒμœ„ 디렉터리,  . → ν˜„μž¬ 디렉터리

 

 

 

- 파일 μ‹œμŠ€ν…œ

 : 파일과 디렉터리λ₯Ό μ €μž₯ν•˜κ³  μ ‘κ·Όν•˜κ²Œ ν•˜λŠ” OS λ‚΄λΆ€ ν”„λ‘œκ·Έλž¨

 : FAT 파일 μ‹œμŠ€ν…œ(μ €μš©λŸ‰ μ €μž₯ μž₯치) & μœ λ‹‰μŠ€ 파일 μ‹œμŠ€ν…œ

 : 보쑰 κΈ°μ–΅ μž₯치λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ νŒŒν‹°μ…˜μ„ λ‚˜λˆ„λŠ” μž‘μ—… (νŒŒν‹°μ…”λ‹) κ³Ό 포맷(ν¬λ§€νŒ…)을 거쳐야 함

 : νŒŒν‹°μ…”λ‹(partitioning) → μ €μž₯ μž₯치의 논리적인 μ˜μ—­μ„ κ΅¬νšν•˜λŠ” μž‘μ—… (νŒŒν‹°μ…˜ μž‘μ—…)

 : ν¬λ§€νŒ…(formatting) → 파일 μ‹œμŠ€ν…œμ„ μ„€μ •ν•΄ μ–΄λ–€ λ°©μ‹μœΌλ‘œ μ €μž₯ν•˜κ³  관리할지 κ²°μ •ν•˜κ³ , μƒˆλ‘œμš΄ 데이터λ₯Ό μ“Έ μ€€λΉ„ν•˜λŠ” μž‘μ—…

 

 

 

- 파일 ν• λ‹Ή 방법 

 : OS → 파일과 디렉터리λ₯Ό 블둝(block) λ‹¨μœ„λ‘œ 읽고 씀

 : 연속 ν• λ‹Ή, λΆˆμ—°μ† ν• λ‹Ή ζœ‰ (λΆˆμ—°μ† → μ—°κ²° ν• λ‹Ή, 색인 ν• λ‹Ή)

 

 1) 연속 ν• λ‹Ή : κ°€μž₯ λ‹¨μˆœ, 연속적인 블둝에 νŒŒμΌμ„ 할당함, μ™ΈλΆ€ λ‹¨νŽΈν™”λΌλŠ” 단점 쑴재 

    → 파일의 첫 블둝 μ£Όμ†Œμ™€ 블둝 λ‹¨μ΄μ˜ 길이만 μ•Œλ©΄ 됨

 

 2) μ—°κ²° ν• λ‹Ή : 각 블둝 일뢀에 λ‹€μŒ λΈ”λ‘μ˜ μ£Όμ†Œλ₯Ό μ €μž₯ν•΄, 각 블둝이 λ‹€μŒ 블둝을 κ°€λ¦¬ν‚€λŠ” ν˜•νƒœλ‘œ 할당함 (μ—°κ²° 리슀트)

     단점 : 첫 블둝뢀터 ν•˜λ‚˜μ”© 읽어야 함 (μž„μ˜ μ ‘κ·Ό 속도 맀우 느림), ν•˜λ“œμ›¨μ–΄ κ³ μž₯ μ‹œ ν•΄λ‹Ή 블둝 이후 블둝은 μ ‘κ·Ό λΆˆκ°€

 

3) 색인 ν• λ‹Ή : λͺ¨λ“  블둝 μ£Όμ†Œλ₯Ό 색인 λΈ”λ‘μ΄λΌλŠ” ν•˜λ‚˜μ˜ 블둝에 λͺ¨μ•„ 관리함

 

 

 

 

728x90
GAMEMING
@GAMEMING :: GAMEMING

< School > ν•œκ΅­κ³΅ν•™λŒ€ν•™κ΅ κ²Œμž„κ³΅ν•™κ³Ό λ²€μ²˜μ°½μ—… 뢀전곡 < Instagram > μž‘μ—… @game.plan.diary 본계 @mi.___.02

μ†Œν†΅ ν™˜μ˜ν•©λ‹ˆλ‹€ πŸ‘€

λͺ©μ°¨