CLI
- Command Line InterFace
- 명령어를 이욯하여 컴퓨터를 제어하는 방식
장점
- 자동화가 됨 (작업 중간중간 기다릴필요 없이 결과만 받아볼 수 있음)
- 메모리를 덜 낭비한다.
- 다중명령어 등을 사용하여 결과를 빠르게 볼 수 있다.
- 네트워크 환경에서도 안정적으로 작업할 수 있다.
GUI
- Graphical User InterFace
- 그래피컬한 방식을 이용하여 컴퓨터를 제어하는 방식
장점
- 쉽다
- CLI보다 에너지를 적게 사용함
단점
- 상당히 많은 작업을 해야함 (순차적으로 진행되는 일들을 자동화하기 어려움)
- 그래픽을 이용하는 만큼 리소스 낭비가 있음
리눅스란 무엇인가?
- 리눅스란 리눅스 커널에 기반을 둔 운영체제를 의미합니다. 그렇기 때문에, 우리들이 실제 접하고, 사람들이 흔히들 말하는 리눅스는 사실 리눅스 배포판을 뜻하는 것입니다.
- Linux는 GNU GPL(General Public License)을 사용하여 출시된 무료 오픈소스 운영 체제(OS)입니다.
- 운영 체제(Operating System, OS)는 CPU, 메모리, 스토리지처럼 시스템의 하드웨어와 리소스를 직접 관리하는 소프트웨어입니다.
- OS는 애플리케이션과 하드웨어 사이에서 모든 소프트웨어와 작업을 수행하는 물리적 리소스를 연결합니다.
- 누구든지 소스 코드를 실행, 연구, 수정, 재배포할 수 있으며, 동일한 라이센스가 유지되는 한 수정한 코드의 복사본을 판매할 수도 있습니다.
- 커널은 응용 프로그램의 요청 처리, 자원(메모리, 네트워크 등) 관리를 해주는 운영체제의 핵심 소프트웨어
- 리눅스 배포판: 리눅스 커널에 여러가지 프로그램들을 붙여서 배포하기 위해 구성된 운영체제
- 리눅스 배포판 종류: 우분투(Ubuntu), 페도라(Fedora), 리눅스 민트(Linux Mint), 센트OS(CentOS) 등
장점
- 무료인 덕분에 더욱 빠르게 전세계로 확장
- 리눅스의 기본 터미널 기능은, 다른 OS에 비해 우수한 성능을 가지고 있음
- 모든 환경을 원하는대로 커스터마이즈 해서 사용가능
- 필요한 프로그램은 명령만 입력해서 실행할 수 있기에, 조작하는 방법만 안다면 굉장히 편리
단점
- 접근 장벽이 높다
- 기본적으로 지원하는 시스템 장치가 윈도우처럼 쉽게 호환되지 않으며, 인터페이스 환경도 적응하기 어려운 면이 있음
[ 쉽게 ]
- 우리가 사용하는 윈도우즈가 운영체제입니다.
- 컴퓨터를 켜면 윈도우즈라는 운영체제가 우리를 반겨줍니다. 우리한테 프로그램도 설치하게 해주고, 마우스로 클릭, 키보드로 글씨 입력등을 하게해주는 운영체제라고 생각하면 됩니다.
- 자유 소프트웨어라는 말은 Free를 해석한 결과, 무료의 개념도 있지만, 사용자가 소프트웨어를 자유롭게 이용(열람, 수정, 배포 등) 할 수 있는 권리와 라이센스를 의미
- 오픈소스는 소스(Source)가 오픈(Open) 되어 잇다는 이야기, 누구라도 소스를 확인할 수 있음
Linux에는 어떤 요소가 포함되나요?
커널(kernel)
- OS의 기본 구성 요소입니다. 커널이 없으면 OS는 작동하지 않습니다.
- 시스템 리소스를 관리하고 하드웨어와 통신하며 메모리, 프로세스, 파일 관리등을 담당합니다.
- 메모리에 상주하면서 시스템을 관리하는 운영체제의 핵심
- 운영체제 응용프로그램 수행에 필요한 여러 서비스를 제공한다.
시스템 사용자 공간
- 구성 및 소프트웨어 설치와 같은 시스템 수준 태스크를 위한 관리 레이어입니다.
- 여기에는 셸이나 커맨드라인, 데몬, 백그라운드에서 실행되는 프로세스와 데스크톱 환경이 포함됩니다.
응용 프로그램(Application)
- 태스크를 수행할 수 있도록 지원하는 소프트웨어 유형입니다.
- 애플리케이션에는 데스크톱 툴 및 프로그래밍 언어에서 다중 사용자 비즈니스 제품군에 이르는 모든 것이 포함됩니다.
- 대다수의 Linux 배포판은 추가 애플리케이션을 검색하고 다운로드할 수 있도록 중앙 데이터베이스를 제공합니다.
셸(shell)
- 사용자가 입력한 문장을 읽어 요청을 실행하는 명령어 해석기/번역기 (사용자와 커널의 연결고리)
- 커널과 직접적으로 연결돼 있어 명령어를 해석한 결과를 다른 프로그램 또는 커널로 전송 (사용자와 커널의 중간다리 역할을 수행)
- Bourne 셸, C셸, Korn셸, bash셸 등
- 리눅스의 표준 셸은 bash 셸이다. 다른 셸을 사용해도 상관은 없다.
파일 시스템(File System)
- 파일 저장의 기본적인 구조, 시스템 관리를 위한 기본 환경을 제공
- 계층적인 트리 구조 형태(디렉터리, 서브 디렉터리, 파일 등)
- 리눅스 표준 파일 시스템은 ext4
우분투(ubuntu)란 무엇인가?
- 리눅스 커널을 기반으로 한 리눅스 배포판 중 하나
- 영국의 소프트웨어 회사 캐노니컬과 우분투 재단이 개발, 배포, 유지보수를 맡고 있다.
- 6개월에 한 번씩 새로운 버전이 업데이트된다.
- 우분투는 데스크톱용, 서버용으로 나뉘는데 모두 무료이며 우분투 공식 홈페이지에서 내려받을 수 있다.
- 우분투는 데비안(Debian) GNU/리눅스를 기반으로 만들어졌으며 고유한 데스크탑 환경을 사용하는 리눅스 배포판입니다. 즉, 앞서 말씀 드린 리눅스의 배포판과 같이, 우분투는 리눅스의 여러 배포판중에 하나인 데비안에서 또 한 번 파생된 배포판입니다.
- 데비안으로부터 이어받은 APT를 통해 소프트웨어의 설치·관리·제거를 쉽게 할 수 있기 때문에 리눅스뿐만 아니라 컴퓨터 자체를 처음 접하는 이들에게 있어서도 최고의 리눅스 배포판이라고 할 수 있다
- 일반 사용자를 위한 배포판 중에서는 가장 사용자가 많은데다가 영리 기업인 캐노니컬이 이리저리 뛰어주는 덕분에, 하드웨어 회사들의 지원이 다른 배포판보다 빵빵하다.
특징
1. 개인용, 데스크탑 환경에 최적화
- 대부분의 리눅스 배포판들이 서버용으로 사용되고 있는것에 반하여, 우분투는 개인 사용자와 데스크탑 환경에 최적화 되도록 사용자 편의를 중점으로 개발되고 있습니다.
2. 자유 소프트웨어에 기반
- 앞서 소개한 리눅스의 특징을 그대로 물려 받으며 자유 소프트웨어에 기반하기 때문에 누구나 무료로 다운 받아서(정식 지원 배포본) 사용할 수 있습니다.
wsl이란 무엇인가?
- 리눅스용 윈도우 하위 시스템(Windows Subsystem for Linux, WSL)은 윈도우 10에서 네이티브로 리눅스 실행 파일(ELF)을 실행하기 위한 호환성 계층입니다. 즉, 윈도우에서 리눅스를 사용하기 위한 도구라고 보면 됩니다.
- Windows10 운영체제에서 리눅스 운영체제의 쉘과 시스템을 사용할 수 있도록 지원해주는 기능
- 개발이나 코딩 등 테스트를 할 때 가상화 환경에서 테스트를 하게 되는데, 그런 과정을 줄여주는 좋은 기능이다.
- 다만 초창기에는 버그가 많았으나 현재 1버전이 안정화되고 2004 버전부터는 WSL2를 일반 사용자에게 제공해주기 때문에 WSL2를 사용하기위해서는 Windwos10 2004 버전을 사용할 것을 추천드립니다.
장점
1. 100% 리눅스 커널과 호환됨
- 기존에는 리눅스 시스템콜 > wsl 번역 > 윈도우 시스템콜 번역, 오버헤드로 파일 I/O가 느렸음
2. VM메모리를 할당받기 때문에 윈도우에서 프로세스를 관리하지 않음
- vm내에서 프로세스가 관리되기 때문에 윈도우에서 프로세스를 관리하지 않음
- WSL2는 기존과 다른 VM 환경을 가지고 있습니다.
- WSL 1에서 Linux의 System Call을 Windows API로 변환하는 구조였다고 하면, WSL 2에서는 윈도우즈에 리눅스 커널을 아예 올려버렸다고 합니다.
3. 속도는 Virtual Machine 보다 훨씬 빠르고, 재부팅을 해야 할 필요가 없습니다.
- 기존에 윈도우에서 Virtual Machine과 같은 도구를 사용하여 느린 리눅스를 사용하거나, 우분투를 따로 설치하여 부팅 때 OS를 선택하여 사용하는 방식보다 훨씬 더 빠르고 효율적이라고 볼 수 있습니다.
'etc' 카테고리의 다른 글
[Study] 오버라이딩, 오버로딩 / DTO, VO / 접근제어자 / MySQL offset, limit (0) | 2023.05.15 |
---|---|
TOAST UI Editor 사용해보기 / 툴바 커스터마이징 (0) | 2023.05.09 |
MVC 패턴 (0) | 2023.05.08 |
if문 이쁘게 만들기 (0) | 2023.04.12 |
기초공부 (0) | 2023.04.06 |