Category88 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. ์ด์ 1 2 3 4 5 ยทยทยท 10 ๋ค์