[Linux] Linux의 기초 및 설치법

정재훈·2022년 3월 21일
0

Linux

목록 보기
1/19
post-thumbnail

운영체제

운영체제 종류

  1. Windows : PC 시장 지배
  2. 리눅스 : 서버, 임베디드 OS 시장
  3. Android : 리눅스로 만들어진 Mobile OS
  4. MacOS : 유닉스로 만들어진 Apple OS
    (유닉스는 리눅스의 아버지 꼴)

GUI, CLI

GUI(Graphic User Interface) : 그래픽 기반으로 OS에 명령을 보내고, 결과를 확인할 수 있습니다.
특징 : 프로그램 다운 후 설치가 오래걸린다. GUI 지원 안되는 경우가 많다. 마우스 따로 필요하다. 용량을 잡아먹는다.

CLI:(Command Line Interface) : 글자 기반으로 명령 보내고 결과 확인한다.
특징 : 프로그램 한방 설치 후 즉시 실행 가능하다, 리눅스에서 사용하기 편리하다, 프로그램 세팅/설치/실행이 편리하다, 버전업 되어도 명령어가 변경될일은 거의 없다.

터미널 창

Video Terminal : 모니터+ 키보드로 되어있는 콘솔(HW)장치에서 어떤 SW적인 판단을 하지 않고, 입력시 내부로 쏴주고, 결과를 눈으로 보여주기만 하는 통신의말단, 종착역(터미널) 역할

Terminal emulator (=term) : Video Terminal을 가상으로 만든것이다. GUI OS 내부에 있는 term을 Terminal Window (터미널창) 이라고한다.

리눅스 개념

리눅스 란?

리눅스는 OS가 아닌 커널이다.
OS = APP(어플리케이션) + Shell(커널을 조작하기 위한 프로그램) + 커널로 구성된다.

리눅스 배포판 : 리눅스에 APP과 Shell을 추가하여 만든 하나의 운영체제
대표적인 리눅스 배포판 : 우분투

Shell 이란?

Shell : 시스템 사용자와 커널과의 인터페이스, 커널을 제어할 수 있는 프로그램, 커널을 감싸다라는 의미에서의 Shell(=껍데기), 운영체제 내부에 접근하기 위한 프로그램
인터페이스 : 사용자가 쉽게 동작 및 사용하는데 도움을 주는 시스템

GUI Shell : 그래픽 기반 인터페이스
CLI Shell : 글자 기반 인터페이스

Windows Shell 종류

  1. Windows Shell : 흔히 쓰는 GUI Shell
  2. Power Shell : Unix처럼 System 관리 가능한 다양한 기능이 붙은 쉘 -> 리눅스 명령어 몇 개 사용 가능, 오픈소스, .net Framework 기반, 스크립트 언어 제공으로 프로그래밍 가능, apt 패키지 설치 도구 없음(비공식적 chocolatey로 가능)
  3. Command Prompt(CMD)

참고) 우분투 GUI Shell : Gnome

리눅스를 배우는 이유

리눅스를 탑재한 임베디드 제품을 개발하는 회사에서는 리눅스의 눙숙함이 필수적이다.
임베디드 OS에는 Non-OS/RTOS/Linux를 제일 많이 사용합니다.
하지만, 임베디드 제품중 리눅스를 탑재하는게 아닌 펌웨어로 개발하는 경우도 많습니다.
보통 고성능 장비에는 Linux를 사용하며 제품단가가 올라갑니다.
저사양 제품에는 딱히 필요하지 않습니다.

2020년 기준 -> Unix + Linux가 서버의 약 70% 차지
Unix : C언어 제작자가 만든 OS, 유료 / Unix로 만든 대표적인 OS : iOS, macOS, Linux
Linux : Unix를 토대로 만든 OS / Linux 대표적인 OS : Android

슈퍼 컴퓨터의 99.9%는 Linux

구글링시 래퍼런스(=개발자료, 소스코드, 문서)가 많이 존재합니다.
유명한 OS이기 때문에 개발자를 쉽게 구할수 있습니다.
무료 + 안정성이 좋습니다.

우분투 개념

우분투 란?

특징 :
1. 무료
2. 리눅스 배포판 중 가장 널리 쓰이는 배포판
3. 영국 캐노니컬에서 유지 보수 중

우분투 설치

저는 우분투 20.04 LTSvirtual box를 설치할것입니다.
우분투 설치에서 Desktop image 설치
다음으로, Virtual Box 설치에서 본인 운영체제에 맞게 설치합니다.

profile
여러 방향으로 접근하는 개발자

0개의 댓글