CLI (Command Line Interface)
명령어를 이용해서 컴퓨터를 제어하는 방식
CLI의 장점 : 메모리를 덜차지하고 무거운 컴퓨터 작업을 하기에 용이하다.
CLI의 단점 : 명령어나 파이프라인을 정확하게 숙지하지 못하면 사용하기 어렵다.
GUI (Graphical User Interface)
그래피컬한 방식을 이용해서 컴퓨터를 제어하는 방식
GUI의 장점 : 개발자가 아닌 일반인들이 직관적으로 쉽게 OS를 다룰 수 있다.
GUI의 단점 : 일반인들이 사용하기 쉽게 시스템을 아이콘화 하여 구성해 놓았기 때문에 에너지를 많이 소모하게 된다.
자동화의 예시를 들어보도록 하겠다.
mkdir test -> test 디렉토리 생성하기
cd test -> test 디렉토리 이동
pwd -> 파일 경로 보기
명령어들을 통해서 하나씩 입력이 이 가능하지만 CLI의 장점중 하나인 자동화를 사용하게 된다면 아래와 같은 코드를 작성 할 수 있다.
mkdir test1; cd test1 -> test1 디렉토리을 생성하고 test1디렉토리 에 접속
위 파일 만들기와 접속은 매우 간단한 예시이기 때문에 이런건 GUI에서도 충분히 가능한데!? 라는 생각이 들 수도 있다.
좀 더 자세하게 이야기 해보자면 GUI에서 디렉토리 생성 작업시간과 이동하는 시간이 각각 1시간씩 총 2시간이 걸린다고 가정해보자. 하지만 CLI에서 작업을 하게 되면 디렉토리 생성 1시간, 이동 1시간 각각 작업 진행이 이루어져 작업시간이 1시간이 걸리게 된다.
이런 이유로 개발자들은 GUI가 아닌 CLI를 선호 한다고도 볼 수 있다.
출처 - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pk3152&logNo=221332261554