요점정리 - 2025-11-24

오늘 공부한 내용
오늘 공부한 내용:
    💻 Server Infrastructure & 운영체제 (OS)
    1. 서버 인프라스트럭처 유형
    구분,설명,자원 활용,격리 및 보안
    물리적 H/W 단독 OS,하나의 서버에 하나의 OS만 설치,낮음,우수 (간섭 없음)
    가상 머신 (VM),Hypervisor를 통해 물리 서버에 여러 독립된 게스트 OS 설치,높음,우수 (VM 간 격리)
    컨테이너,컨테이너 엔진을 통해 OS에서 독립된 실행 환경 제공,높음,높음 (가볍고 이식성 우수)
    
    Hypervisor 유형:
    
    Type 2 (Hosted): 기존 OS 위에 설치 (예: Oracle VirtualBox, VMware Workstation).
    
    Type 1 (Native / Bare metal): 하드웨어 위에 직접 설치 (예: VMware ESXi, Linux KVM).
    
    2. 운영체제 (OS)의 정의 및 역할
    **운영체제(OS)**는 하드웨어, 시스템 리소스를 제어하고 프로그램에 일반적인 서비스를 지원하는 시스템 소프트웨어입니다.
    
    주요 역할 (목적):
    
    시스템 자원 관리: 하드웨어 및 소프트웨어 자원을 효율적으로 할당, 관리, 보호합니다.
    
    사용자와 컴퓨터 간 커뮤니케이션 지원: 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공합니다.
    
    응용 프로그램 제어: 사용자 프로그램의 오류를 감시하고 자원에 대한 연산 및 제어를 관리합니다.
    
    3. 운영체제의 구조 및 구성 요소
    운영체제는 크게 커널과 사용자와 소통하는 인터페이스로 구성됩니다.
    구성 요소,역할
    커널 (Kernel),"OS의 핵심이자 모든 자원(프로세스, 메모리, 저장공간, 장치)을 관리하는 역할."
    시스템 콜 (System Call),"사용자 프로그램이 커널 자원에 직접 접근하는 것을 막고, 커널에 접근하기 위해 사용하는 코드 집합."
    인터페이스 (Interface),사용자의 명령을 컴퓨터에 전달하고 결과를 알려주는 소통의 역할. GUI (그래픽 환경)와 CLI (명령어 입력 환경)로 나뉨.
    드라이버 (Driver),"하드웨어 장치(프린터, 키보드 등)와 OS 간의 통신을 가능하게 하는 소프트웨어."
    
    다중 사용자(Multi-user) & 다중 작업(Multi-task): 리눅스/유닉스의 특징이며, 커널이 CPU 시간을 분할하여 여러 사용자와 여러 프로그램을 동시에 실행할 수 있게 관리합니다.
    
    4. Unix 및 Linux 역사와 특징
    구분,Unix,Linux
    기원,"1969년 벨 연구소 (켄 톰슨, 데니스 리치)",1991년 리누스 토발즈 (Minix 기반)
    언어,C언어로 재작성되어 이식성 확보,C언어
    특징,연구용으로 소스 코드 무상 제공 (BSD로 발전),"오픈소스, 무료 배포 (GPL), 안정적이고 강력함"
    Shell,사용자의 명령을 해석하고 실행하는 기관 (인터페이스 역할),/bin/bash (Bourne Again Shell) 등이 대표적
    
    📁 리눅스 파일 시스템 및 명령어
    1. 파일 유형 및 계층 구조
    유형 기호,의미,예시
    -,일반 파일 (Regular File),"텍스트, 프로그램 실행 파일"
    d,디렉터리 (Directory),폴더
    l,심볼릭 링크 (Symbolic Link),윈도우의 '바로가기'와 동일
    b,블록형 특수 장치 파일,"디스크, CDROM 등 (블록 단위 입출력)"
    c,문자형 특수 장치 파일,"터미널, 네트워크 장치 (바이트 단위 입출력)"
    
    경로:
    
    절대 경로: / (Root)로 시작하여 파일 시스템 전체를 기준으로 위치를 표시합니다. (예: /bin/ls)
    
    상대 경로: 현재 작업 디렉터리를 기준으로 위치를 표시합니다. (.는 현재 디렉터리, ..는 상위 디렉터리)
    
    주요 디렉터리:
    
    / : 최상위 디렉터리 (Root)
    
    /bin, /sbin : 시스템 기본/관리 명령 이진 파일
    
    /etc : 시스템 전체나 사용자 관리를 위한 설정 파일
    
    /dev : 장치 파일
    
    /var : 자주 변경되는 시스템 파일 (로그 파일: /var/log)
    
    /home : 일반 사용자의 홈 디렉터리
    
    2. 리눅스 기본 명령어 (CLI)
    
    명령어,기능,주요 옵션
    pwd,현재 작업 경로 출력,없음
    cd,디렉터리 이동,"cd .. (상위 디렉터리), cd ~ (홈 디렉터리)"
    ls,디렉터리 목록 보기,"-l (자세히), -a (숨김 파일 포함), -F (유형 표시)"
    cp,파일/디렉터리 복사,"-r (디렉터리 복사), -i (덮어쓰기 전 확인)"
    mv,파일/디렉터리 이동 또는 이름 변경,-i (덮어쓰기 전 확인)
    mkdir,디렉터리 생성,-p (상위 경로까지 한 번에 생성)
    rm,파일/디렉터리 삭제,"-r (디렉터리 삭제), -f (강제 삭제), -i (삭제 전 확인)"
    cat,파일 내용 출력,cat file > newfile (내용을 새 파일에 입력)
    touch,0바이트 파일 생성 또는 파일 시간 정보 변경,없음
    "head, tail",파일의 처음/끝 10줄 출력,"head -n 5 (처음 5줄), tail -f (실시간 내용 출력)"
    more,내용을 화면 단위로 끊어서 출력,--More--
    alias,복잡한 명령어에 별칭 지정,alias shut='shutdown -h now'
    find,파일 및 디렉터리 검색,"-name, -user, -type, -size, -exec (찾은 파일에 명령 실행)"
    
    3. Vi/Vim 에디터
    Vi/Vim은 유닉스 환경에서 널리 사용되는 문서 편집기로, 3가지 모드로 작동합니다.
    
    모드,진입 키,역할,주요 기능
    명령 모드,"(기본 모드, ESC로 복귀)","커서 이동, 삭제, 복사, 붙여넣기 등 명령 수행","h, j, k, l (커서 이동), dd (행 삭제), yy (행 복사), p (붙여넣기)"
    입력 모드,"i, a, o, s",문서 내용 입력 및 수정,"i (현재 위치), a (우측), o (새 행)"
    EX (실행) 모드,": 또는 /, ?","파일 저장/종료, 검색, 치환, 설정 변경",":wq (저장 후 종료), :q! (강제 종료), :/패턴 (검색), :%s/old/new/g (전체 치환)"