CS02 - 리눅스, 쉘 스크립트

Bibi·2022년 1월 7일
0

220106

CS02 - 리눅스

학습목표

  • 리눅스/유닉스 환경과 터미널 쉘 환경에 익숙해지기
    • 터미널로 서버에 원격 접속하기
  • 리눅스 기본 명령어 익히기
  • 쉘 스크립트 명령을 통해 작업 자동화하기

개발 환경

로컬 컴퓨터, 리모트 컴퓨터

  • 로컬 컴퓨터 local
    • 현재 작업 중인 자신의 컴퓨터
  • 리모트 컴퓨터 remote
    • 원격으로 접속해 사용할 외부 컴퓨터
    • 서버 / 모바일
  • 개발자는 로컬에서 작업한 것을 리모트에 복사 및 배포한다.

가상 컴퓨터, 가상 환경

  • 가상 컴퓨터 virtual
    • 물리적 장치 없이 가상으로 만든 임시 컴퓨터.
  • 보통 큰 컴퓨터 내의 구성요소(CPU, 메모리 등)을 일부 분할해 작은 가상 컴퓨터로 실행함
  • 테스트를 항상 실제 리모트 컴퓨터에서 진행하기 어렵기 때문에, 로컬 컴퓨터의 일부를 가상 머신으로 만들고 배포해 보는 방식을 사용한다.

리눅스의 역사

  • 유닉스Unix 처럼 동작하는 새로운 무료 운영체제를 만든 것이 Linux 이다.
  • 1969년 켄 톰슨, 데니스 리치가 벨 연구소에서 Unix 운영체제를 개발했다.
  • 1991년 대학생이었던 리누즈 토발즈가 Linux 커널을 개발했다.

Shell (쉘, 셸)

  • OS와 대화하는 프로그램
  • bash, zsh (맥) 주로 사용

쉘 명령어

  • pwd 현재 디렉토리 위치
  • ls 현재 디렉토리 내용
  • mkdir 새 디렉토리 생성
  • cd 경로 디렉토리 변경
  • cat 파일이름 파일 내용 표시
  • history 명령어 이력 표시
  • cp 파일 복사
  • mv 파일 이동
  • rm 파일 삭제
  • touch 파일 생성

쉘 스크립트

.sh 확장자 파일로 저장

쉘 스크립트 활용

  • 환경변수 Environment Variables
    • 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임
  • 스크립트 변수

220107

CS02 - 리눅스 (수업)

이번 미션을 통해 공부해야 할 것

  • 리눅스
  • 네트워크
  • ssh
  • HTTP, TCP/IP (필수)

.. 를 공부해야 한다.

운영체제는 왜 필요한가?

  • 하드웨어 관리
  • 하드웨어 보호 (고장나지 않게)

커널 : 운영체제의 알맹이(핵심)

쉘 : 운영체제의 껍데기 - 커널과 사용자의 유저 인터페이스이다.

가장 쉬운 리눅스 강좌

https://www.youtube.com/watch?v=tPWBF13JIVk

개발자가 되면 리눅스 환경을 다룰 일이 많아진다.

CLI 중심이기 때문에 진입장벽이 있다.

리눅스는..

  • 오픈소스 운영체제
    • 직접 개선, 개조가 가능하다.
  • 가장 대중적인 배포버전은 우분투이다.
    • GUI 버전은 Ubuntu Desktop, CLI 버전은 Ubuntu Server이다.

왜 배워야 하나?

  • 서버 컴퓨터의 OS가 주로 리눅스로 되어 있기 때문이다.
    • 서버 컴퓨터의 OS를 맥, 윈도우로 쓰는 것은 굉장한 비용이기 때문..
    • 반면 리눅스는 무료이고, 필요한 마음대로 개조도 가능하다.

커널

  • "리눅스 커널이 곧 리눅스다."
  • 하드웨어 요소들을 OS의 최하단에서 직접 관리하는 역할
  • 운영체제의 존재 이유.

기본 명령어와 디렉토리

https://www.yalco.kr/35_linux/

0개의 댓글