Taeyoung Kim

Cloud & Platform

리눅스 특강 정리-송태웅 강사님

리눅스 특강 정리-송태웅 강사님 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. 리눅스 개요 및 활용

  • 리눅스 활용 분야: 서버, 클라우드, 모바일, TV, 게임, 자동차 등
  • 시장 점유율:
    • 모바일 OS: Android 74.6% (Linux Kernel 기반)
    • 서버 OS: 96.4% 이상이 Linux 계열
    • 슈퍼컴퓨터 OS: 100% 리눅스 사용 (2019 기준)

2. 리눅스의 역할과 필요성

  • 하드웨어 자원 관리: CPU, 메모리, 디스크, 네트워크
  • 애플리케이션 실행 환경 제공: 다양한 앱(카톡, 브라우저 등) 지원
  • 운영체제 핵심 역할: 하드웨어와 소프트웨어 사이의 자원 관리 및 제어

3. 리눅스 명령어와 CLI/GUI

  • CLI 장점: 빠름, 자원 소모 적음, 자동화 및 세부 기능 활용 가능
  • GUI 장점: 직관적이고 사용 쉬움
  • 대표 명령어 예시: ls, cd, pwd, rm, man, cp, mv, zip, tar, grep, awk

4. 효율적인 리눅스 학습법

  • 학습 단계:
    • Level 1~3: 기본 구성 및 역할 이해
    • Level 4~5: 커널 자료구조 및 함수
    • Level 6~7: 시스템 연구/논문
    • Level 8~10: 오픈소스 개발 참여
  • 핵심: 시스템 정보·프로세스 제어 명령어를 통한 훈련

5. 리눅스 배포판(Distro) 이해

  • 주요 배포판:
    • Debian: 안정성 중시
    • Ubuntu: 사용자 친화성 (Debian 기반)
    • CentOS: 기업 서버용, RHEL 무료 대안
    • Fedora: 최신 기술 실험적 배포판
    • RHEL: 기업용 상용 배포판
  • 서버 vs 데스크탑: 서버는 안정성과 성능, 데스크탑은 사용자 편의성 강조

6. 리눅스 파일시스템 구조

  • 루트 디렉토리(/) 기반 구조
  • 주요 디렉토리 역할:
    • /bin: 필수 명령어
    • /etc: 설정 파일
    • /usr: 사용자 소프트웨어
    • /var: 로그, 캐시
    • /home: 사용자 홈 디렉토리
    • /sbin: 시스템 관리 명령어
    • /proc, /sys: 커널 및 시스템 정보
    • /tmp: 임시 파일

7. 파일 관리 및 권한

  • 파일 작업: 복사, 이동, 압축, 탐색(find, locate, grep)
  • 파일 권한:
    • 읽기(r=4), 쓰기(w=2), 실행(x=1)
    • chmod, stat, getfacl 명령어 활용
    • 소유자(u), 그룹(g), 기타(o), 전체(a) 권한 제어 가능

8. 사용자 계정 및 DB

  • 계정 생성 및 기본 설정
  • 데이터베이스 설치 및 쿼리 기본 실습

9. 리눅스 패키지 관리자

  • High-Level: apt, yum, dnf
  • Low-Level: dpkg, rpm
  • 주요 기능: 패키지 설치, 업데이트, 업그레이드
  • 동작원리: 외부 저장소에서 패키지 정보를 가져와 설치/업데이트 수행

10. 웹서버 구축 및 실습

  • 웹서버 + WAS + DB 구조
    • Nginx + Node.js + MongoDB
    • Httpd + Spring Boot + PostgreSQL
    • Nginx + Django + Gunicorn + MySQL
  • 테스트 방법:
    • curl 명령어, 웹 브라우저, IP 접속
    • 성능/네트워크 모니터링 도구: iftop, hping3, ab, bmon, iptraf
  • 실습 예제 소스코드:
    • Node.js: GitHub 오픈소스 예제
    • Spring: Spring PetClinic 프로젝트
    • Django: Material Dashboard 프로젝트