리눅스란?
- 컴퓨터 운영체제의 한 종류
- 한 대학생이 그냥 만들어 봤는데 좋았다!
- 윈도우와 다르게 소스가 공개되어있다(오픈 소스)
- 리눅스가 오픈 소스이기에 사용되는 프로그램들 또한 오픈되어 있다
- 구글의 안드로이드도 리눅스를 기반으로 만든 운영체제이다.
운연체제란?
- 사용자와 시스템 사이에서 편리한 인터페이스를 제공
- 시스템의 각종 네트워크 장치 또는 하드웨어를 관리 및 제어
- 종류로 윈도우, 맥 OS, 리눅스, 유닉스, 안드로이드, IOS 등이 있다

- 쉽게 이해하자!
- 윈도에서는 이렇게 했던걸 리눅스에서는 이렇게 한다.
- 핸드폰은 터치로 운영 되었다면 컴퓨터는 마우스로 운영된다.
- 컴퓨터장치(하드웨어)를 쓰기 편하게 하는 집합체
윈도우와 리눅스
- 가동은 탐색기 / 쉘
- 폴더를 열때 더블클릭 / CD
- 리눅스는 명령어를 전부 다 외워야 한다!
리눅스 역사
- 이전에는 하나의 프로그램밖에 돌아가지 않았다. 그래서 동시다발적으로 프로그램을 돌아가게끔 하자(멀틱스) 근데 실패 그래서 하나라만이라도 돌아가자 이게 유닉스
- 이때 유닉스가 무료인걸 기관에서 개발하고 유료로 파니깐 이걸 무료로 다시 만들어진 게 리눅스
- 자세한 것은 나무위키에서!
리눅스 종류


- 우리나라에서 개발 및 배포 중인 '안녕 리눅스'

- 윈도우처럼 개발자 또는 일반 유저가 사용하기 좋은 '우분투'
- 우리는 서버를 구축 365일 켜둬야 한다. 구축만 되어있으면 굳이 화려한 것들이 필요하지 않아 그냥 검은 화면에서 돌아가기만 하면 된다.

- 서버로 사용하기 알맞은 'CentOS', 'REDHAT'
- REDHAT은 유료!
리눅스 특징
기본적인 특징
- 높은 이식성과 확장성(C언어 기반이기 때문에)
- 안정성 신뢰성(국제적이고 개방적으로 개발되었기 때문에 문제점에 대한 대처가 빠름)
- 계층적 파일 시스템(폴더 안에 폴더를 만들 수 있다 - 윈도우 / 최상위 디렉토리가 존재하고 모든 것을 해당 디렉토리 하부에 존재 - 리눅스) root root root root
- 포맷 : 파일 시스템을 새롭게 만드는 것
- 파일 시스템 : 차곡차고 파일들을 체계적으로 기억하게 도와주는 것
리눅스 기본 환경
구성요소

- 명령어 : 실행 프로그램들, 특정 명령어가 없다면 프로그램을 설치해서 사용하면 된다.
- 쉘 : 멸령어 전달
- 커널 : 업데이트가 이루어져야하는 부분
- H/W
프롬프트
- 컴퓨터가 입력을 기다리고 있음을 화면에 나타내는 표시
- 일반적으로 리눅스의 프롬프트는 현재 작업 디렉토리, 현재 로그인 한 사용자 등에 대한 정보를 표시

- 만약 나오지 않는다면 멸령어를 받을 수 없는 상황이다.

- 사용자이름@컴퓨터이름(장치이름)
- 처음에는 상관없지만 여러대의 컴퓨터를 사용(100~1000)하기 때문에 이름을 잘 구분해 줘야 한다.
- #은 현재 관리자 권한을 표시
- $은 일반 일반 권한을 표시
명령줄 인터페이스
- 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻
- command / argument(대상)(-option)

- 명령어 - 옵션

명령어 -옵션 /argument
- 많이 사용하다보면 외울 수 있다!
실습
- 리눅스 설치해 보기
- Linux centos 8

- VM 사양은 메모리 1G, CPU 1개, 하드 20G IOS는 나중에 설치

- 언어는 영어

- 자동으로 인터넷 연결해라!

- 파티션 자동으로 구분

- 맨위 GUI 방식은 맥OS와 비슷하지만 바로 아래 SERVER로 설치해서 명령어를 공부해보자

- 관리자 비밀번호 설정

- 설치 후 REBOOT

- LOGIN : root / PASSWORD : 보이지 않지만 입력해준다

- putty 프로그램으로 가상머신의 리눅스에 접속한다
- 리눅스의 IP주소와 SSH Port 22를 입력해주면 접속

- 리눅스 관리자 아이디와 비밀번호를 입력해준다