๐Ÿง 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

๊ตฌ๋ถ„UNIXLinux
๊ฐœ๋ฐœ ์ฃผ์ฒด๊ธฐ์—…(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 ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™ ์™„์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. ์˜คํƒ€๋ฅผ ์ค„์ด๋Š” ๊ฐ€์žฅ ์ข‹์€ ์Šต๊ด€์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€