• 운영체제

    image.png

  • 리눅스 소개

    • 리눅스는 1991년에 리누스 토르발스 (Linus Torvalds)에 의해 개발된 오픈소스 운영체제
    • 리눅스는 유닉스를 모방하여 만들어진 운영체제
      • 맥 OS, 리눅스 등 많은 운영체제가 유닉스에 영향을 받아 만들어짐
        • 이로 인해 맥북과 리눅스는 유사한 운영체제 환경
        • 이에 반해 윈도우는 비교적 독자적인 방향
      • 안드로이드 운영체제는 리눅스 커널을 기반으로 개발(2000년대 중반)
      • 이후 많은 운영체제가 무료로 배포된 리눅스에 영향을 받아 만들어졌고, 리눅스 운영체제를 기본으로 다양한 프로그램을 추가한 수많은 배포판이 나오게됨
  • 리눅스 배포판

    • 리눅스에는 수백개의 배포판이 존재
      • 리눅스커널이라는 공통된 운영체제 커널을 사용하되 갖가지 다른 응용프로그램을 다르게 조합해 만든, 리눅스 운영체제
    • 크게는 redhat계열, debian계열이 존재
      • 데비안계열은 ubuntu, debian등이 대표적
      • 레드헷계열은 redhat, centos등이 대표적인 배포판
      • 도커에서 사용하는 가벼운 alphine리눅스도 존재
      • 일반 웹서비스에서는 우분투가 1위
      • 상업용 시장에서는 레드헷이 1위
  • 리눅스 주요 개념

    • 커널

      Untitled

      • 커널(kernel)은 컴퓨터 시스템의 핵심적인 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리
      • 메모리 관리, 입출력관리, 프로세스 관리 등
        • 프로세스는 컴퓨터에서 실행 중인 프로그램을 의미
    • 파일 시스템 구조

      • 파일 시스템은 계층적 구조를 가지며, 가장 상위에는 루트 디렉토리 (/)
      • 주요 디렉토리로는 /bin, /etc, /home, /var 등
        • /bin은 시스템을 부팅하거나 유지 관리할 때 필요한 필수 사용자 명령어 등이 저장(ls, cp, mv, cat 등의 기본적인 명령어들)
        • /etc는 사용자 계정, 네트워크 설정등의 파일들이 저장
        • /home/사용자계정명은 사용자의 홈 디렉토리
        • /var는 로그와 같은 내용이 자주 변할 수 있는 파일들을 저장하는 디렉토리
    • 사용자와 그룹

      • 리눅스에서 사용자는 여러 그룹에 속하게 하여 그룹으로 관리
      • 권한 관리를 통해 특정 사용자나 그룹이 파일이나 디렉토리에 접근할 수 있는 권한을 지정
    • 쉘 (Shell) 프로그램

      • 사용자와 운영체제 간의 인터페이스 프로그램. 쉘은 사용자의 명령을 해석하여 운영체제 커널에 전달
      • 대표적인 쉘 프로그램으로는 bash(기본), zsh, sh 등
      • echo $0 명령어로 현재 사용중인 쉘 프로그램 확인가능
  • 리눅스 실습 준비

    • 가상환경에서 리눅스 설치
      • vmware 가상환경 지원 프로그램 설치
        • 모두 default set으로 설치 진행
        • 우분투 이미지 다운로드
        • 우분투 OS 설치
  • 주요 쉘 명령어

    • 디렉터리 관련
      • pwd
        • 현재 위치 경로를 출력
      • mkdir
        • 새로운 디렉토리를 생성
      • ls명령어
        • ls –l
          • 자세하게 출력
        • ls –al
          • 숨김파일도 출력
      • cd
        • 디렉토리 이동 명령어
        • 절대경로 이동 cd /root/abc/cbd
        • 상대경로 이동 cd ..
        • cd만 치면 홈 경로로 이동
        • cd / 를 치면 root경로로 이동
        • cd -를 치게 되면 직전 폴더로 이동
      • .은 현재경로를 의미, ..은 상위경로를 의미
      • 자동완성과 히스토리
        • tap키를 눌러 자동완성
        • history명령어로 이전 명령어 조회
        • 도스키 사용(상하 화살표키)
      • clear
        • 입력중인 명령창 깨끗하게 정리
    • 파일 관련
      • rm
        • 파일이나 디렉토리 삭제
        • rm, rm –f, rm -rf
      • cp
        • 파일이나 디렉토리를 복사
        • cp –r 하면 디렉토리까지 모두 복사(r : recursive)
      • mv
        • 파일이나 디렉토리를 이동
        • 잘라내서 붙이기와 같은 기능
      • touch
        • 용량 0인 파일을 생성
        • 이미 존재할 경우에는 수정 시간을 변경
      • cat
        • 텍스트로 작성된 파일을 화면에 출력
        • more 명령어는 페이지 단위로 출력
      • head, tail
      • 리다이렉션( >, >>, | 등)의 활용
      • grep
      • find
    • 사용자와 그룹
    • 그외
  • 쉘 제어문

  • vi 에디터