2023. 3. 9. 11:08ㆍ부트캠프/DevOps (TIL)
컴활이나, 워드 자격증을 한 번이라도 공부 했던 사람들 혹은 관련 전공을 배우는 학생이라면
많이 접했을 단어 CLI와 GUI가 있습니다
먼저 CLI보다는 좀 더 익숙한 GUI에 대해 설명하자면
GUI는 Graphical User Inteface의 약자로 현대 운영체제와 온갖 게임이나 유틸리티 등에서도 모두 이용되고 있다.
쉽게 이야기 하자면 GUI는 점원에게 음식이 그려진 메뉴판에서 원하는 것을 가리키며 달라고 하는 것과 같다.
장점 역시 이와 같습니다. 일단 눈에 잘 보이기 때문에 무엇을 하는지 알수 있고 쉽고 직관적인 조작 방식이다.
따라서 컴퓨터 언어를 몰라도 사용 가능한데, 비유하면 일본에 가서 일본어는 모르지만 메뉴판의 그림을 보고 메뉴를 주문
가능한것과 같다.
그렇다면 CLI는 무엇일까?
CLI는 Command-Line Interface의 약자로 직접 문자를 입력해 컴퓨터에 명령을 내릴 수 있는것이다.
CLI는 일단 직관적인 GUI에 비해서 매우 불친절한 환경이다. CLI환경에 익숙해지려면
기본적인 명령어들을 외워야 하는 것부터 난관인데, 깊게 들어갈수록 프로그래밍과 관련 있는 파이프 및 Shell Script까지
내려가기 떄문에 배워야 할게 끝이 없다.
따라서 일반인 수준에서는 CLI보다 직관적이고 쉬운 GUI를 선호할 수 밖에 없다.
하지만 CLI에는 GUI가 대체할 수 없는 장점도 있다.
명령어만 기억할 수 있다면 GUI보다 빠른 작업을 할 수 있다.
GUI의 대표 환경인 Windows에서 원하는 이름의 폴더를 생성하려면
우 클릭>새로 만들기>새 폴더>다시 우 클릭>이름 바꾸기>엔터
복잡한 과정이 생긴다.
하지만 CLI는 하나의 명령어 mkdir만 기억하면 된다.
이처럼 명령어만 기억하면 같은 작업을 할 때 GUI보다 CLI가 훨씬 빠르게 작업할 수 있다.
이는 작업이 반복될 수록 큰효과를 가지게 된다.
수백개의 폴더를 생성한다고 할 때 CLI는 한 개의 코드만 입력하면 되기 때문에 자동화 하기가 쉽다.
또 다른 장점으로는 단순한 출력이 있다.
리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다.
또한 키보드 입력에 따른 출력은 그저 글자에 불과하다 이는 뛰어난 그래픽 카드나 고해상도 모니터를
필요로 하지 않고 그저 글자만 출력할 수 있으면 된다. 강력한 컴퓨터의 시대에 이것이 무슨 의미가 있겠냐 싶겠지만,
이러한 단순한 출력은 네트워크 건너의 원격 컴퓨터에 접근할 때에 그 진가가 발휘된다.
대표적으로 AWS 즉 아마존 웹 서비스의 클라우드 컴퓨터처럼, 대량의 서버 컴퓨터를 설치해야 하는 서비스를 보면
AWS는 4천평이 넘는 규모의 데이터 센터를 29개 이상 보유하고 있다.(최소 5만개 이상의 서버 컴퓨터)
수 많은 서버 컴퓨터에 GUI를 적용하기 위해 컴퓨터마다 I/O소스를 부착하는 것은 불가능에 가깝다.
CLI를 통해 서버 컴퓨터의 접속을 요청하면 개발자들은 직접 서버 컴퓨터에 찾아갈 필요 없이
자신 앞에 있는 모니터로 서버 컴퓨터와 소통 할 수 있다.
이 방법은 매우 효율적이기 때문에
리눅스 환경에서 CLI를 이용하는 방법은 개발자가 되기 원하는 사람이라면 반드시 학습해야할 방법이다.
03_Study(Linux_기본적인 명령어_01) (2) | 2023.03.09 |
---|---|
03_Study(Linux의 종류) (0) | 2023.03.09 |
03_Study(왜 Linux인가?) (0) | 2023.03.09 |
02_Study(모니터링과 메트릭) (0) | 2023.03.08 |
02_Study(프로비저닝) (0) | 2023.03.08 |