๐ง Linux
1. ์ด์์ฒด์ (OS) ๊ฐ์
- *์ด์์ฒด์ (Operating System)**๋ ํ๋์จ์ด์ ์ํํธ์จ์ด ์์์ ๊ด๋ฆฌํ๊ณ , ์ฌ์ฉ์์ ์ปดํจํฐ ๊ฐ์ ์ค๊ฐ์ ์ญํ ์ ํ๋ ๊ธฐ๋ณธ ์ํํธ์จ์ด์
๋๋ค.
- ํต์ฌ ๊ธฐ๋ฅ: ํ๋ก์ธ์ค ๊ด๋ฆฌ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ํ์ผ ์์คํ
๊ด๋ฆฌ, ์ฅ์น ๊ด๋ฆฌ, ๋ณด์ ๋ฐ ์ ๊ทผ ์ ์ด
- ๋ํ OS:
- PC/Mobile: Windows, macOS, Android, iOS
- Server: Linux (ํด๋ผ์ฐ๋ ๋ฐ ์๋ฒ ์์ฅ์ ํ์ค)
2. Linux์ ์ญ์ฌ์ ํน์ง
์ญ์ฌ์ ๋ฐฐ๊ฒฝ
- UNIX (1969): AT&T ๋ฒจ ์ฐ๊ตฌ์(Ken Thompson, Dennis Ritchie)์์ ๊ฐ๋ฐ. C์ธ์ด๋ก ์์ฑ๋์ด ์ด์์ฑ์ด ๋์. ํ๋ OS์ ๊ธฐ๋ฐ.
- GNU ํ๋ก์ ํธ: Richard Stallman์ด ์์. "GNU's Not Unix". ์์ ์ํํธ์จ์ด(Free Software) ์ด๋.
- Linux (1991): Linus Torvalds๊ฐ ์ปค๋์ ๊ฐ๋ฐํ๊ณ , GNU์ ๋๊ตฌ๋ค๊ณผ ๊ฒฐํฉํ์ฌ ์์ฑ๋ OS๊ฐ ๋จ.
UNIX vs Linux
| ๊ตฌ๋ถ | UNIX | Linux |
|---|
| ๊ฐ๋ฐ ์ฃผ์ฒด | ๊ธฐ์
(AT&T, IBM, HP ๋ฑ) ์ฃผ๋์ ๋
์ ์ ๊ฐ๋ฐ | ์ปค๋ฎค๋ํฐ์ Linus Torvalds ์ฃผ๋์ ์คํ ์์ค ๊ฐ๋ฐ |
| ๋น์ฉ | ๊ณ ๊ฐ, ํ๋์จ์ด ์ข
์์ | ๋ฌด๋ฃ (GPL ๋ผ์ด์ ์ค), ๋ฒ์ฉ ํ๋์จ์ด ์ง์ |
| ํ์คํ | ๊ฐ ๋ฒค๋๋ณ๋ก ํ์คํ๋จ (AIX, Solaris ๋ฑ) | ๋ค์ํ ๋ฐฐํฌํ ์กด์ฌ (Ubuntu, CentOS, Debian ๋ฑ) |
Microsoft์ Linux์ ๊ด๊ณ ๋ณํ
- ๊ณผ๊ฑฐ (Steve Ballmer): "Linux๋ ์์ ์ธ ์กด์ฌ(Cancer)" (์ ๋์ )
- ํ์ฌ (Satya Nadella): "Microsoft loves Linux" (์นํ์ ). Azure ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋ฆฌ๋
์ค๋ ํต์ฌ์ ์ธ ์์น๋ฅผ ์ฐจ์งํจ.
3. Linux ๋ฐฐํฌํ (Distros)
๋ฆฌ๋
์ค ์ปค๋์ ํ๋์ง๋ง, ์ฌ์ฉ์ ํ๊ฒฝ๊ณผ ํจํค์ง๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํ๋๋์ ๋ฐ๋ผ ์๋ง์ ๋ฐฐํฌํ์ด ์กด์ฌํฉ๋๋ค.
- Ubuntu (์ฐ๋ถํฌ): Debian ๊ณ์ด. ๊ฐ์ฅ ๋์ค์ ์ด๋ฉฐ ์ด๋ณด์์๊ฒ ์ ํฉ.
- LTS (Long Term Support): ์ฅ๊ธฐ ์ง์ ๋ฒ์ (์: 22.04 LTS). ์๋ฒ ์ด์ ์ ์์ ์ฑ์ ์ํด LTS ๋ฒ์ ์ฌ์ฉ ๊ถ์ฅ.
- ๊ธฐํ: CentOS (RedHat ๊ณ์ด, ์๋ฒ์ฉ์ผ๋ก ์ธ๊ธฐ), Fedora, Debian ๋ฑ.
4. Linux ํต์ฌ ์ํคํ
์ฒ
๋ฆฌ๋
์ค๋ ํฌ๊ฒ ํ๋์จ์ด < ์ปค๋ < ์ < ์ ํ๋ฆฌ์ผ์ด์
๊ตฌ์กฐ๋ก ๋์ด ์์ต๋๋ค.
1) ์ปค๋ (Kernel)
- ์ด์์ฒด์ ์ ์ฌ์ฅ. ํ๋์จ์ด์ ์ํํธ์จ์ด ์ฌ์ด์ ์ธํฐํ์ด์ค ์ญํ .
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ํ๋ก์ธ์ค ์ค์ผ์ค๋ง, ํ๋์จ์ด ์ ์ด ๋ด๋น.
2) ์ (Shell)
- ์ฌ์ฉ์์ ์ปค๋ ์ฌ์ด์ ์ค๊ฐ์(์ธํฐํ๋ฆฌํฐ).
- ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ช
๋ น์ด๋ฅผ ํด์ํ์ฌ ์ปค๋์ ์ ๋ฌ.
- ๋ํ์ ์ธ ์: bash (๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ), zsh, ksh ๋ฑ.
3) ํ์ผ ์์คํ
(File System)
- ๊ตฌ์กฐ:
/ (Root) ๋๋ ํฐ๋ฆฌ๋ฅผ ์ต์์๋ก ํ๋ ํธ๋ฆฌ(Tree) ๊ตฌ์กฐ.
- ํน์ง:
- FHS (Filesystem Hierarchy Standard): ๊ณผ๊ฑฐ์๋ ์ ๊ฐ๊ฐ์ด์์ผ๋, ํ์ฌ๋ ํด๋ ๊ตฌ์กฐ๊ฐ ํ์คํ๋จ (์:
/bin, /etc, /home ๋ฑ ์ญํ ์ด ์ ํด์ง).
- ์ฌ๋์ ๊ตฌ๋ถ: Windows๋
\\(์ญ์ฌ๋์)๋ฅผ ์ฐ์ง๋ง, Linux๋ /(์ฌ๋์)๋ฅผ ์ฌ์ฉ.
- Everything is a file: ํ๋์จ์ด ์ฅ์น, ํ๋ก์ธ์ค ๋ฑ ๋ชจ๋ ๊ฒ์ ํ์ผ๋ก ์ทจ๊ธ.
5. ์ฃผ์ ๊ฐ๋
๋ฐ ์ฃผ์์ฌํญ
๊ฒฝ๋ก (Path)
- ์ ๋ ๊ฒฝ๋ก (Absolute Path): ๋ฃจํธ(
/)๋ถํฐ ์์ํ๋ ์ ์ฒด ๊ฒฝ๋ก. (์: /home/user/doc)
- ์๋ ๊ฒฝ๋ก (Relative Path): ํ์ฌ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ๊ฒฝ๋ก. (์:
./doc)
ํ์ผ ๊ถํ (Permission) โญ๏ธ
๋ฆฌ๋
์ค๋ ๋ค์ค ์ฌ์ฉ์(Multi-user) ์์คํ
์ด๋ฏ๋ก ๊ถํ ๊ด๋ฆฌ๊ฐ ํ์์ ์
๋๋ค.
- ๊ตฌ์กฐ:
rwx (Read/Write/Execute)
- ๋์: ์์ ์(Owner) / ๊ทธ๋ฃน(Group) / ๊ธฐํ(Others)
- ๋ช
๋ น์ด:
chmod (๊ถํ ๋ณ๊ฒฝ), chown (์์ ์ ๋ณ๊ฒฝ)
์ํผ ์ ์ (Super User)
- Windows์ Administrator์ ํด๋น. ๋ชจ๋ ๊ถํ์ ๊ฐ์ง ๊ณ์ .
- su: ๊ณ์ ์์ฒด๋ฅผ ์ ํ.
- sudo: ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์์๋ก ๊ด๋ฆฌ์ ๊ถํ์ ๋น๋ ค ๋ช
๋ น์ด ์คํ (๊ถ์ฅ).
CLI ์ฌ์ฉ ์ ์ฃผ์์ฌํญ (Encoding & Quotes)
- ์ธ์ฝ๋ฉ: ASCII(์์ด ์ค์ฌ)๋ฅผ ๋์ด ํ์ฌ๋ Unicode (UTF-8)๊ฐ ํ์ค. ํ๊ธ ํํ ๊ฐ๋ฅ.
- ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ์ค๋ฅ ์ฃผ์:
โ ๏ธ PPT๋ ์น์์ ๋ช
๋ น์ด ๋ณต์ฌ ์ ์ฃผ์!
ํ์ํฌ์ธํธ์ '์ค๋งํธ ๋ฐ์ดํ' ๊ธฐ๋ฅ ๋๋ฌธ์ " ๋ - (ํ์ดํ)์ด ํน์๋ฌธ์๋ก ๋ณํ๋์ด ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ํฐ๋ฏธ๋์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ง์ ํ์ดํํ๊ฑฐ๋ ๋ฉ๋ชจ์ฅ์ ์ฎ๊ฒจ์ ํ์ธํด์ผ ํฉ๋๋ค.
๋ฆฌ๋๋ ์
(Redirection)๊ณผ ํ์ดํ(Pipe)
> : ์ถ๋ ฅ ๋ฐฉํฅ์ ํ์ผ๋ก ์ ํ (๋ฎ์ด์ฐ๊ธฐ)
>> : ์ถ๋ ฅ ๋ฐฉํฅ์ ํ์ผ๋ก ์ ํ (์ด์ด์ฐ๊ธฐ)
| (Pipe) : ์ ๋ช
๋ น์ด์ ์ถ๋ ฅ์ ๋ค ๋ช
๋ น์ด์ ์
๋ ฅ์ผ๋ก ์ฐ๊ฒฐ. (์: ls | grep txt)
6. ํ์ ๊ธฐ๋ณธ ๋ช
๋ น์ด (Basic Commands)
| ๋ช
๋ น์ด | ์ค๋ช
| ์์ |
|---|
| pwd | ํ์ฌ ์์น ํ์ธ (Print Work Directory) | pwd |
| cd | ๋๋ ํฐ๋ฆฌ ์ด๋ (Change Directory) | cd /home |
| ls | ํ์ผ ๋ชฉ๋ก ํ์ธ (List) | ls -al (์จ๊นํ์ผ ํฌํจ ์์ธํ) |
| mkdir | ํด๋ ์์ฑ (Make Directory) | mkdir new_folder |
| touch | ๋น ํ์ผ ์์ฑ | touch file.txt |
| cp | ํ์ผ/ํด๋ ๋ณต์ฌ (Copy) | cp file1 file2 |
| mv | ํ์ผ ์ด๋ ๋๋ ์ด๋ฆ ๋ณ๊ฒฝ (Move) | mv file1 /tmp/ |
| rm | ํ์ผ/ํด๋ ์ญ์ (Remove) | rm -rf folder (๊ฐ์ ์ญ์ ์ฃผ์) |
| cat | ํ์ผ ๋ด์ฉ ์ถ๋ ฅ | cat file.txt |
| grep | ํน์ ๋ฌธ์์ด ๊ฒ์ | grep "hello" file.txt |
| find | ํ์ผ ๊ฒ์ | find / -name "*.log" |
Tip: ๋ช
๋ น์ด ์
๋ ฅ ์ TAB ํค๋ฅผ ๋๋ฅด๋ฉด ์๋ ์์ฑ์ด ๋ฉ๋๋ค. ์คํ๋ฅผ ์ค์ด๋ ๊ฐ์ฅ ์ข์ ์ต๊ด์
๋๋ค.