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

πŸ“’ λ“€μ–΄κ°€λ©°

이번 ν¬μŠ€νŒ…μ—μ„  λ‚˜ 혼자 ν—·κ°ˆλ €ν•˜λ˜...
λ¦¬λˆ…μŠ€, μ‰˜, 터미널 λ“±μ˜ κ°œλ… 및 μš©μ–΄ 정리λ₯Ό ν•΄λ³Ό 것이닀.

🐧 λ¦¬λˆ…μŠ€(Linux)

μœˆλ„μš°λ‚˜ MacOS 같은 μ»΄ν“¨ν„°μ˜ 운영체제(Operating System).

πŸ’‘ 운영체제 (Operating System)

컴퓨터 ν•˜λ“œμ›¨μ–΄λ₯Ό κ΅¬λ™ν•˜κ³  μ‚¬μš©μžμ˜ μš”μ²­μ„ λ°›μ•„ μ—¬λŸ¬κ°€μ§€ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰μ‹œν‚€λŠ” ν”„λ‘œκ·Έλž¨

 

ν†΅μƒμ μœΌλ‘œ 운영체제 κ·Έ 자체라고 μ •μ˜λ˜μ–΄μžˆκΈ΄ ν•˜μ§€λ§Œ,
사싀 λ¦¬λˆ…μŠ€λŠ” 컀널이닀.

πŸ’‘(kernel) 컀널

운영체제(OS)의 μ£Όμš” ꡬ성 μš”μ†Œ.
컴퓨터 ν•˜λ“œμ›¨μ–΄μ™€ ν”„λ‘œμ„ΈμŠ€λ₯Ό μž‡λŠ” 핡심 μΈν„°νŽ˜μ΄μŠ€μ΄λ‹€.
μ§μ—­ν•˜λ©΄ '핡심'μ΄λΌλŠ” λœ»μ΄λ‹€.
OS 내에 μœ„μΉ˜ν•˜κ³ , ν•˜λ“œμ›¨μ–΄μ˜ λͺ¨λ“  μ£Όμš” κΈ°λŠ₯을 μ œμ–΄ν•˜κΈ° λ•Œλ¬Έμ— 뢙은 이름이닀.
λ©”λͺ¨λ¦¬ μœ„μ— 항상 상주.

 

λ•Œλ¬Έμ— λ¦¬λˆ…μŠ€ 컀널 혼자 λ§ŒμœΌλ‘œλŠ” 운영체제의 역할을 λͺ¨λ‘ λ‹€ν•œλ‹€κ³  ν•  수 μ—†λ‹€.
이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 자유 μ†Œν”„νŠΈμ›¨μ–΄ μž¬λ‹¨μ—μ„œ λ§Œλ“  GNU와 ν•¨κ»˜ μ‚¬μš©ν•˜λ©°,
GNU/Linux λΌλŠ” ν˜•νƒœλ‘œ μ‚¬μš©ν•˜κ²Œ λœλ‹€.

 

μš°λ¦¬κ°€ μš΄μ˜μ²΄μ œλ‘œμ„œ λ¦¬λˆ…μŠ€λΌκ³  λΆ€λ₯΄λŠ” 것은,
GNU/Linuxμ—μ„œ κΈ°λŠ₯이 μΆ”κ°€λœ 것이라고 λ³Ό 수 μžˆλ‹€.

🐧 λ¦¬λˆ…μŠ€ 배포판

λ¦¬λˆ…μŠ€λŠ” λ¦¬λˆ…μŠ€ 컀널에 GNU 및 μ—¬λŸ¬ κΈ°λŠ₯을 μΆ”κ°€ν•˜μ—¬ λ§Œλ“€μ–΄μ§„ 운영체제라고 μœ„μ—μ„œ μ„€λͺ…ν–ˆλ‹€.
λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ€ 이 μ—¬λŸ¬ κΈ°λŠ₯이 μΆ”κ°€λœ 운영체제λ₯Ό μ˜λ―Έν•œλ‹€.

즉, λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ΄λž€ λ¦¬λˆ…μŠ€ 컀널을 μ‚¬μš©ν•˜λ˜, λͺ©μ μ— 따라 λ‹€μ–‘ν•œ ν”„λ‘œκ·Έλž¨μ„ ν•¨κ»˜ μ œκ³΅ν•˜λŠ” 운영체제λ₯Ό μ˜λ―Έν•œλ‹€.

 

πŸ’‘ λŒ€ν‘œμ μΈ λ¦¬λˆ…μŠ€ 배포판

  • Red Hat
  • CentOS
  • Ubuntu
  • RHEL

🐧 μ‰˜(Shell)

μ§μ—­ν•˜λ©΄ κ»μ§ˆμ΄λΌλŠ” λœ»μ΄λ‹€.
μ‰˜μ€ 말 κ·ΈλŒ€λ‘œ 컀널(kernel)을 감싸고 μžˆλŠ” κ»μ§ˆμ΄λ‹€.
μ‚¬μš©μžλŠ” 컀널에 μ ‘κ·Όν•˜κΈ° μœ„ν•΄μ„  μ‰˜μ„ κ±°μ³μ•Όν•œλ‹€.
즉, μ‰˜μ€ 컀널과 μ‚¬μš©μž μ‚¬μ΄μ˜ 맀개체 역할을 ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ λ§ν•œλ‹€.

 

πŸ’‘ 예
우린 μ’…μ’… μœˆλ„μš°ν™˜κ²½μ—μ„œ λͺ…λ Ή ν”„λ‘¬ν”„νŠΈ(CMD)λ₯Ό 톡해
μš΄μ˜μ²΄μ œμ— μ ‘κ·Όν•˜μ—¬ λ­”κ°€ μ‹€ν–‰ν•˜κ±°λ‚˜,
디렉토리λ₯Ό λ§Œλ“€κ±°λ‚˜(mkdir) 디렉토리λ₯Ό 이동(cd) ν•œλ‹€.
μ΄λ•Œ μ‚¬μš©ν•˜λŠ” λͺ…λ Ή ν”„λ‘¬ν”„νŠΈ(CMD)λ₯Ό shell 이라고 ν•œλ‹€.

 

μ‰˜μ€ μ‚¬μš©μžμ˜ μ˜λ„λ₯Ό μš΄μ˜μ²΄μ œμ— μ „λ‹¬ν•΄μ£ΌλŠ” "창ꡬ" 역할을 ν•œλ‹€.

🐧 μ‰˜ 슀크립트(Shell Script)

μ‰˜(Shell)μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” λͺ…λ Ήμ–΄λ“€μ˜ 쑰합을 λͺ¨μ•„μ„œ λ§Œλ“  배치(batch) νŒŒμΌμ΄λ‹€.
즉, 운영체제의 Shell을 μ΄μš©ν•˜μ—¬ ν•œμ€„ μ”© 순차적으둜 μ½μœΌλ©΄μ„œ λͺ…령어듀을 μ‹€ν–‰μ‹œμΌœμ£ΌλŠ” 인터프리터 λ°©μ‹μ˜ ν”„λ‘œκ·Έλž¨μ΄λ‹€.

πŸ’‘ 배치(batch) 파일

μ§μ—­ν•˜λ©΄ '(일괄 처리λ₯Ό μœ„ν•΄) ν•¨κ»˜ λ¬Άλ‹€' λΌλŠ” λœ»μ΄λ‹€.
λͺ…λ Ήμ–΄λ₯Ό ν•œλ²ˆμ— 적어놓고 μ‹€ν–‰ν•  수 있게 λ§Œλ“€μ–΄μ„œ μ‚¬μš©μžκ°€ 타이핑 μΉ˜λŠ” 수고λ₯Ό 쀄여놓은 λͺ…λ Ήμ–΄ μŠ€ν¬λ¦½νŠΈμ΄λ‹€.
.bat λ˜λŠ” .cmd ν˜•μ‹μ˜ ν™•μž₯자 νŒŒμΌμ„ 직접 μ‹€ν–‰ν•˜κ±°λ‚˜ λͺ…λ Ή ν”„λ‘¬ν”„νŠΈμ—μ„œ 배치 파일의 μ΄λ¦„μœΌλ‘œ μ‹€ν–‰ ν•  수 μžˆλ‹€.

🐧 λ°°μ‹œ(Bash)

Boourn Again Shell의 μ•½μž.
κ°€μž₯ 널리 μ“°μ΄λŠ” μ‰˜ ν”„λ‘œκ·Έλž¨ 쀑 ν•˜λ‚˜μ΄λ‹€.

 

πŸ’‘ λŒ€ν‘œμ μΈ shell ν”„λ‘œκ·Έλž¨

운영체제(OS) shell μ’…λ₯˜
Windows cmd.exe(λͺ…λ Ή ν”„λ‘¬ν”„νŠΈ)
Linux csh, bash, zsh λ“±

μ‰˜μ—μ„œ μ‚¬μš©λ˜λŠ” μ‰˜ λͺ…λ Ήμ–΄λŠ” μ‰˜μ„ μ’…λ₯˜μ— 따라 λ‹€λ₯Ό 수 μžˆλ‹€.

 

πŸ’‘ 예

  • cmd 의 디렉토리 λͺ©λ‘ 좜λ ₯ λͺ…λ Ήμ–΄ : dir
  • Bash Shell의 디렉토리 λͺ©λ‘ 좜λ ₯ λͺ…λ Ήμ–΄ : ls

🐧 터미널(terminal)

μ‰½κ²Œ μ„€λͺ…ν•˜μžλ©΄, λ²„μŠ€ ν„°λ―Έλ„μ²˜λŸΌ
무언가 λ“€μ–΄μ˜€κ³ (input), λ‚˜κ°€λŠ”(output) "창ꡬ"λ₯Ό μ˜λ―Έν•œλ‹€.

 

bash λ‚˜ cmd μ—μ„œ CLI(command line interface) λ°©μ‹μœΌλ‘œ μž…λ ₯κ³Ό 좜λ ₯을 μ–»λŠ”
κ·Έ ν™”λ©΄ 자체λ₯Ό 터미널이라고 ν•œλ‹€.

πŸ’‘ CLI (Command Line Interface)

λͺ…λ Ή 쀄 μΈν„°νŽ˜μ΄μŠ€.
터미널을 톡해 μ‚¬μš©μžμ™€ 컴퓨터가 μƒν˜Έμž‘μš©ν•˜λŠ” 방식을 λœ»ν•œν•œλ‹€.
μž…λ ₯κ³Ό 좜λ ₯ν˜•νƒœλ‘œ λ™μž‘ν•˜λ©° λͺ¨λ‘ text ν˜•νƒœλ‘œ 이루어져 μžˆλ‹€.

Seize the day!

Spring MVC | Spring Boot | Spring Security | Mysql | Oracle | PostgreSQL | Vue.js | Nuxt.js | React.js | TypeScript | JSP | Frontend | Backend | Full Stack | μžκΈ°κ³„λ°œ | 미라클 λͺ¨λ‹ | 일상