๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€135

10 Pipe, Filter, Redirection ํŒŒ์ดํ”„ (|) ํŒŒ์ดํ”„๋Š” ๋‘ ๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•œ ๋ช…๋ น์–ด์˜ ์ถœ๋ ฅ์ด ๋‹ค๋ฅธ ๋ช…๋ น์–ด์˜ ์ž…๋ ฅ์œผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„ํ„ฐ (grep) grep์€ ํŠน์ • ํŒจํ„ด์ด๋‚˜ ํ…์ŠคํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ํ…์ŠคํŠธ๋ฅผ ์ฝ์–ด ํŒจํ„ด์— ๋งž๋Š” ๋ผ์ธ๋งŒ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋””๋ ‰์…˜ ๋ฆฌ๋””๋ ‰์…˜์€ ๋ช…๋ น์˜ ์ž…์ถœ๋ ฅ์„ ์กฐ์ ˆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. >๋Š” ์ถœ๋ ฅ์„ ํŒŒ์ผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, >>๋Š” ๊ธฐ์กด ํŒŒ์ผ์— ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 2024. 1. 28.
9 tar & find (+cron, at) tar command tar ๋ช…๋ น์–ด๋Š” ์—ฌ๋Ÿฌ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ฌถ๊ฑฐ๋‚˜ ์••์ถ•ํ•˜์—ฌ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋งŒ๋“œ๋Š” ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜์—๋Š” tar ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๋ฌถ๊ณ , ๊ทธ๋ฆฌ๊ณ  ๋ฌถ์€ ํŒŒ์ผ์„ ํ•ด์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์„ค๋ช…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ๋ฌถ๊ธฐ (tar) -c: ์ƒˆ๋กœ์šด ์•„์นด์ด๋ธŒ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. -v: ์ƒ์„ธํ•œ ์ถœ๋ ฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค (์ƒ๋žต ๊ฐ€๋Šฅ). -f: ์•„์นด์ด๋ธŒ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์••์ถ• ํ•ด์ œ (tar) -x: ์•„์นด์ด๋ธŒ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. -v: ์ƒ์„ธํ•œ ์ถœ๋ ฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค (์ƒ๋žต ๊ฐ€๋Šฅ). -f: ์•„์นด์ด๋ธŒ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์— ์ถ”์ถœํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•œ ํ›„ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค: ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์•„์นด์ด๋ธŒ ํŒŒ์ผ์— ํฌํ•จ๋œ ํŒŒ์ผ๋“ค์ด /path/to/extract ๋””๋ ‰ํ† ๋ฆฌ์— ์ถ”์ถœ๋ฉ๋‹ˆ๋‹ค. F.. 2024. 1. 28.
8 dpkg & apt ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์˜ ํž˜์€ ๊ทธ ์œ ์—ฐ์„ฑ๊ณผ ๋‹ค์–‘์„ฑ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋“ค์€ ์šด์˜์ฒด์ œ๋ฅผ ๊ฐœ์ธ์ ์œผ๋กœ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ณผ์ •์—์„œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ๋Š” ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ธ”๋กœ๊ทธ์—์„œ๋Š” Debian ๊ณ„์—ด์˜ ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ์ธ dpkg์™€ apt์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. dpkg๋Š” ๋‚ฎ์€ ์ˆ˜์ค€์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ณ„ ํŒจํ‚ค์ง€๋ฅผ ์ง์ ‘ ๋‹ค๋ฃจ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— apt๋Š” dpkg๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋” ๋†’์€ ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•˜์—ฌ ์˜์กด์„ฑ์„ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ฐ ๋„๊ตฌ์˜ ๊ธฐ๋Šฅ, ์‚ฌ์šฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. apt์™€ dpkg๋ฅผ ์ดํ•ดํ•จ์œผ๋กœ์จ, .. 2024. 1. 28.
7 Hard Link & Soft(symbolic) Link ํ•˜๋“œ ๋งํฌ(Hard Link)์™€ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ(Soft Link ๋˜๋Š” Symlink)๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ ๋งํฌ (Hard Link) ํ•˜๋“œ ๋งํฌ๋Š” ๋™์ผํ•œ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์ด๋ฆ„์˜ ์ถ”๊ฐ€ ๋งํฌ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ํŒŒ์ผ๊ณผ ํ•˜๋“œ ๋งํฌ ๊ฐ„์—๋Š” ๋ฐ์ดํ„ฐ ๋‚ด์šฉ์ด ์‹ค์ œ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ๋Š” ๊ฐ๊ฐ์˜ ๋งํฌ๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜๋“œ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์›๋ณธ ํŒŒ์ผ๊ณผ ํ•˜๋“œ ๋งํฌ ๊ฐ„์˜ ์šฉ๋Ÿ‰์€ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์‚ญ์ œ ์‹œ, ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์€ ๋งํฌ๊ฐ€ ๋ชจ๋‘ ์ œ๊ฑฐ๋  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ์‹ฌ๋ณผ๋ฆญ ๋งํฌ (Soft Link ๋˜๋Š” Symlink) ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋Š” ์›๋ณธ ํŒŒ์ผ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ„๋„์˜ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ๋งํฌ๋ฅผ ํ†ตํ•ด ์›๋ณธ ํŒŒ์ผ์—.. 2024. 1. 28.
6 ํŒŒ์ผ ํ—ˆ๊ฐ€๊ถŒ(Permission) ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ(Ubuntu)์—์„œ ํŒŒ์ผ ํ—ˆ๊ฐ€๊ถŒ(Permission)์€ ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน ๋ฐ ๊ธฐํƒ€ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ฝ๊ธฐ, ์“ฐ๊ธฐ ๋ฐ ์‹คํ–‰ ๊ถŒํ•œ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ํ—ˆ๊ฐ€๊ถŒ์€ chmod ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ˆ๊ฐ€๊ถŒ ํ‘œ๊ธฐ๋ฒ• ํ—ˆ๊ฐ€๊ถŒ์€ 3์ž๋ฆฌ ์ˆซ์ž๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ž๋ฆฌ๋Š” ์‚ฌ์šฉ์ž ์œ ํ˜•์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๊ฐ๊ฐ ์ฝ๊ธฐ(r), ์“ฐ๊ธฐ(w), ์‹คํ–‰(x) ๊ถŒํ•œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 755๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ๊ธฐ, ์“ฐ๊ธฐ ๋ฐ ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ณ , ๊ทธ๋ฃน ๋ฐ ๊ธฐํƒ€ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ฝ๊ธฐ ๋ฐ ์‹คํ–‰ ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ๊ฐ€๊ถŒ ๋ณ€๊ฒฝ ๋ช…๋ น์–ด(chmod) chmod ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ํ—ˆ๊ฐ€๊ถŒ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ํ—ˆ๊ฐ€๊ถŒ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ํŒŒ์ผ ํ—ˆ๊ฐ€๊ถŒ์€ ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ๋ฐ ๊ด€๋ฆฌ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ.. 2024. 1. 28.
5 User, Group ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์€ ์‚ฌ์šฉ์ž๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๊ฐ ์‚ฌ์šฉ์ž๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ๊ทธ๋ฃน์— ์†ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ๋ฃน์€ ์‚ฌ์šฉ์ž ๊ฐ„์— ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๊ณต์œ ํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ ๋ฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์˜ ์—ญํ•  ๋ณด์•ˆ ๊ฐ•ํ™”: ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์€ ํŠน์ • ์ž‘์—…์ด๋‚˜ ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ํ†ต์ œํ•˜์—ฌ ์‹œ์Šคํ…œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ๊ทธ๋ฃน์— ์†ํ•œ ์‚ฌ์šฉ์ž๋“ค๋งŒ์ด ํ•ด๋‹น ๊ทธ๋ฃน์˜ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ๊ณต์œ : ๊ทธ๋ฃน์€ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์†Œ์œ ๊ถŒ ๋ฐ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ํ”„๋กœ์ ํŠธ๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์˜ ํšจ์œจ์„ฑ: ๊ทธ๋ฃน.. 2024. 1. 27.
4 Editor in Ubuntu gedit, nano, ๊ทธ๋ฆฌ๊ณ  vim์€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋กœ, ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ์™€ ๊ฐ™์€ ์œ ๋‹‰์Šค ๊ณ„์—ด ์‹œ์Šคํ…œ์—์„œ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ํŽธ์ง‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์—๋””ํ„ฐ๋Š” ํŠน์ง•๊ณผ ์‚ฌ์šฉ๋ฒ•์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธ ์ทจํ–ฅ์ด๋‚˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. gedit ์œ ํ˜•: GUI (๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค) GNOME ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ์— ๊ธฐ๋ณธ์œผ๋กœ ํฌํ•จ๋œ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ. ์‚ฌ์šฉ์ž ์นœํ™”์ ์ด๋ฉฐ ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณต. ๋ฌธ๋ฒ• ๊ฐ•์กฐ, ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›, ๋‹ค์ค‘ ๋ฌธ์„œ ํŽธ์ง‘ ๋“ฑ์˜ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณต. ์‚ฌ์šฉ๋ฒ•: ๋งˆ์šฐ์Šค์™€ ํ‚ค๋ณด๋“œ๋กœ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•œ GUI ํ™˜๊ฒฝ์—์„œ ํ…์ŠคํŠธ๋ฅผ ํŽธ์ง‘. nano ์œ ํ˜•: ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ฐ˜ (์ฝ˜์†”) ๊ฐ€๋ณ๊ณ  ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ. ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋กœ ํ…์ŠคํŠธ๋ฅผ ํŽธ์ง‘ํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ .. 2024. 1. 27.
15 File input & output ํŒŒ์ผ ์ž…์ถœ๋ ฅ์€ ํ”„๋กœ๊ทธ๋žจ์ด ํŒŒ์ผ์„ ์ฝ์–ด๋“ค์ด๊ฑฐ๋‚˜ ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ ํŒŒ์ผ ์ž…์ถœ๋ ฅ์€ stdio.h ํ—ค๋” ํŒŒ์ผ์— ์ •์˜๋œ ํ•จ์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. Linux base "r": ์ฝ๊ธฐ ๋ชจ๋“œ (ํŒŒ์ผ์ด ์กด์žฌํ•ด์•ผ ํ•จ) "w": ์“ฐ๊ธฐ ๋ชจ๋“œ (ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋ฉฐ, ํŒŒ์ผ์ด ์ด๋ฏธ ์žˆ์œผ๋ฉด ๊ธฐ์กด ๋‚ด์šฉ์„ ์ง€์›€) "a": ์ถ”๊ฐ€ ๋ชจ๋“œ (ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋ฉฐ, ํŒŒ์ผ์ด ์ด๋ฏธ ์žˆ์œผ๋ฉด ๊ธฐ์กด ๋‚ด์šฉ ๋์— ์ถ”๊ฐ€) "rb", "wb", "ab": ์ด์ง„ ํŒŒ์ผ์„ ์ฝ๊ธฐ/์“ฐ๊ธฐ/์ถ”๊ฐ€ ๋ชจ๋“œ๋กœ ์—ด๊ธฐ 1) ํŒŒ์ผ ์“ฐ๊ธฐ(File Wirte): fopen ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์—ด ๊ณ , ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์“ธ ์ˆ˜(์ƒ์„ฑ) ์žˆ์Šต๋‹ˆ๋‹ค. ๋”๋ณด๊ธฐ #include int main() { FILE * file = fopen("/mnt/.. 2024. 1. 25.
14 Structure (๊ตฌ์กฐ์ฒด) ๊ตฌ์กฐ์ฒด(Structure)๋Š” C ์–ธ์–ด์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์„œ ์ƒˆ๋กœ์šด ์ž๋ฃŒํ˜•์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ๋‹ค๋ฃจ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋”๋ณด๊ธฐ #include #include // ํ•™์ƒ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ตฌ์กฐ์ฒด ์ •์˜ struct Student { char name[50]; int age; float gpa; }; int main() { // ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™” struct Student student1; strcpy(student1.name, "John Doe"); student1.age = 20; student1.gpa = 3.5;.. 2024. 1. 25.