Linux, GUI, CLI

jaejaypark·2021년 11월 14일
0
post-thumbnail

Log In

영화를 보다가 보면 컴퓨터 전공인 사람들이 폴더를 더블클릭해서 들어가는 일은 적다. 컴퓨터 천재들은 뭔가 검은 화면에 초록색 줄이 나오고 두다다다다다 하면서 타이핑을 하다가 보면 뭔가 띠링! Downloading 하는 장면들에서 본것 같다.

이번 주에 GUI와 CLI의 개념, 또 Terminal로 디렉토리와 파일을 생성, 삭제하는 것을 배웠는데 GUI, CLI, UNIX에 대해서 포스팅해보려고 한다.

1. 컴퓨터 운영체제 (Operating System)

컴퓨터의 하드웨어들이 잘 동작하도록 하고 응용 소프트웨어들이 잘 실행될 수 있는 환경을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 해 주는 소프트웨어
- 네이버 지식백과

운영체제는 하드웨어와 소프트웨어를 관리하는 소프트웨어 전체라고 할 수 있다. 이러한 운영체제는 어느 기기에서 어떠한 형태로든 나타날 수 있다. PC 윈도우만이 운영체제가 아니고 DAP를 켜면 전원이 들어와 장치를 깨우고 사용자의 명령에 따라 음악을 재생하는 동작들을 관리하는 것들도 전부 운영체제라 할 수 있다. 단, 이런 식으로 전자기기에 공장 출고시 설치되며 애플리케이션 설치를 통한 기능 추가를 할 수 없는 것은 보통 펌웨어라고 부른다.

즉 운영체제는 굉장히 많다!

그 중 우리가 주로 쓰는 것은 Linux, Unix, Windows, OS X 등과 스마트폰에서 사용되는 안드로이드, iOS 등이 있다고 볼 수 있다.

2. Linux

리눅스(Linux)는 1991년 9월 17일 리누스 토르발스가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영 체제 계열이다.

리눅스는 1991년 핀란드 헬싱키 공대 대학생(!!!)이었던 리누스 토르발스가 미닉스 OS를 사용하는 컴퓨터에서 작업해서 만들었다.

(Linus Torvalds를 치면 이런 사진이 나오네...)

리눅스는 리누스의 유닉스라는건데 결국 유닉스계열이긴 하다. 이것까지 쓰면 너무 깊은 이야기가 될 것 같으니 패스.(사실 잘 모름)

운영체제인데 가장 중요한 것은 '오픈소스'라는 것. 나무위키에 따르면 컴퓨터 역사상 가장 많은 참여자가 관여하고 있는 오픈 소스 프로젝트다. 모바일 운영체제로 유명한 안드로이드 역시 리눅스 커널을 가져다 쓰고 있다고 한다.

리눅스의 마스코트는 TUX인데 Torvalds linUX 란다.

이것이 1기. 갠적으로 가장 귀여움.

재미난 일화 중 하나를 소개할까 한다.
Torvalds described contended as “it has either just gotten laid, or it’s stuffed on herring”.

토르발즈의 묘사에는 "방금 막 청어를 먹었을 것, 그리고 방금 막 드러누웠을 것 같은" 펭귄이라는 요구사항이 있었다고 한다.

3. 인터페이스(Interface)

인터페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다. - 위키피디아

아주 쉽게 표현한다면 어떻게 대화할 것인가이다. 시스템끼리도 의미하지만 시스템과 사람을 의미하기도 한다.
그것을 우리가 흔히 아는 윈도우 또는 맥에서 보이는 그래픽(눈에 보이는 그림)으로 표현할 수도 있고 여러개의 줄로 표현할 수도 있다.

3-1. GUI(Graphical User Interface)

가장 많이 쓰이는 인터페이스. 컴퓨터를 점원이라고 생각하고 사람이 고객이라고 생각하면 GUI는 음식이 그려진 메뉴판에서 원하는 것을 가리키며 '저거 주세요!'라고 하는 것과 같다.

이 표현이 굉장히 중요한데 만약 우리가 여행을 갔고 전혀 모르는 언어가 있다면 어떻게 주문을 할까? 메뉴판을 주면 손가락으로 this(이거라는 말 정도는 알고 가야겠다)라고 얘기하면 그 음식을 가져다 줄 것이다. 즉 사용자가 컴퓨터 언어라는 사용법이나 개념을 몰라도 그냥 직관적으로 쓸 수 있는 것이다. 우리가 아이패드에서 터치를 할때 어떤 마법으 주문을 외우는 것이 아니니 말이다. GUI는 그냥 마우스 커서나 손가락을 가져다대면 모든 것이 다 알기 쉬운 그래픽으로 나타난다.

윈도우가 모든 PC의 정점이 될 수 있었던 이유가 GUI다. 컴퓨터 내부를 몰라도 쓸 수가 있다.

3-2. CLI (Command-Line Interface)

GUI보다는 조금 더 컴퓨터에 가깝다고 할 수 있겠다. 일반적으로 CLI 환경은 사용자에게는 불친절하다. 기본적인 명령어들부터, 깊게 들어갈수록 프로그래밍과 관련 있는 파이프 및 셸 스크립트까지 내려가기 때문에 배워야 할 게 끝이 없다. 당연히 대부분의 사람들은 키보드 및 마우스를 통하여 접근하는 직관적인 GUI를 선호할 수밖에 없다. 이 때문에 CLI는 최종 사용자 수준에서는 GUI로 완전히 대체되었으며 아직까지 CLI가 남아있는 분야는 서버 관리 및 서버 프로그래밍처럼 프로그래밍과 접점이 닿아있는 부분이다.

반대로 말하면 프로그래밍을 하려면 결국 CLI를 해야된다는 것이다.

위의 점원과 고객의 예시로 설명을 하면 CLI는 점원에게 말이나 글로 직접 얘기하는 것이다. 그 말인즉슨 그 나라의 언어를 알고 있다는 것이다. 최소한 주문을 할 정도 이상은 된다는 것이다.

~/desktop/W/week02

이것은 바탕화면의 폴더 경로이다. GUI를 통하면 그냥 클릭으로 끝난다.

그럼에도 CLI를 이용하는 것은 빠르고 더 원시적이라는 것이다. 문명이 발달되면 발달될 수록 그 혜택을 누리려면 많은 것이 필요하다. 군대에서 포병 FDC였는데 전시기라는 컴퓨터에 표적이랑 좌표 때려넣으면 컴퓨터가 알아서 다 계산해준다. 그럼에도 불구하고 수동으로 이상한 도판에 직접 다 계산하는 것을 배웠는데 그 이유는 만약 전기가 끊겼다면? 등의 가정을 한다. GUI가 편한만큼 GUI의 동작을 위해서는 많은 프로그램이 더 먼저 필요한데 CLI는 그런 수고로움이 적다.

Log Out


CLI를 통해서 폴더를 생성하고 등의 여러가지 일을 했다. 그리고 앞으로는 Vim이라는 메모장을 더 많이 써서 무언가를 만들것이다. 각자의 쓰임에 맞는 것들이 있다. 그 쓰임에 맞게 무언가를 배우는 것은 고된 일이기도 하지만 동시에 재미있는 일이다. 리누스 토발즈의 뇌구조가 궁금해지는 밤이다.

profile
01 Hello World. Login

0개의 댓글