다른 기사를 검토하면서 저에게 많은 재미를 준이 작은 질문을 발견했습니다. 다른 시스템 (FreeBSD 제외)의 사용자가 가장 먼저 느끼는 것 중 하나는 GUI를 사용하지 않는다는 것입니다. 사실을 말하면 GNU / 리눅스 여정을 시작할 때도 꽤 궁금해 보였습니다. 나는 시간이 지남에 따라 다른 GUI 프로그램보다 명령 줄을 훨씬 더 많이 사용하고 있으며, 눈부신 GUI를 가진보다 정교한 프로그램보다 명령 줄 프로그램을 선호하는 경우가 많다는 사실을 인정해야합니다.
신화
실제로 이것은 도시 신화에 지나지 않습니다. 여기에 이름이 언급되지 않은 다른 시스템과는 달리 GNU / Linux에 있습니다. 자유 선택. 다른 시스템에서 여기에 존재하는 다재다능 함이 있었으면합니다. 그러나이 문제를 자세히 살펴 보겠습니다. 그렇지 않으면 많은 것이 명확하지 않습니다.
서버
우리는 모두 그 말씀을 들었습니다 섬기는 사람, 어떤 사람들은 그들이 구글이나 아마존을 구동하는 슈퍼 컴퓨터 나 당신 회사의 슈퍼 컴퓨터라고 믿습니다. 하지만 현실은 서버 에 응답 작업 모델. 이 용어는 사용자가 사용할 수있는 프로그램이 있다는 사실을 나타냅니다 (고객) 무언가를 건네줍니다. 기본적인 예는 아파치, 사용되는 서브 인터넷상의 웹 페이지. 이 프로그램은 HTML을 고객 요청합니다.
이미지 서버
그러나 서버는 Google과 다른 많은 회사에서 가능하게하는 슈퍼 컴퓨터에있을 수있을뿐만 아니라 "가장 오래된"노트북도 서버, 특히 이미지에 대해 이야기 할 때. 우리 모두는 서버 기능적인 화면을 갖기 위해 랩톱에있는 이미지의 수,이 경우 서버 과 고객 그들은 같은 사람입니다. 가장 일반적인 예는 X (로 알려진 xorg-server 많은 배포판에서) 및 새로운 교체 Wayland. 우리는 조직의 이유, Wayland의 작동 방식, 이러한 훌륭한 프로젝트 뒤에 존재하는 철학에 대해 자세히 설명하지는 않겠지 만, 웹 브라우저를 가질 수 있다는 것은 그들 덕분임을 분명히 할 것입니다. Firefox 나 Chrome 또는 기타 여러 프로그램과 같은
창 관리자
창 관리자는 이미지 서버와 직접 작업하며, 창을 만들고, 수정하고, 닫는 방법을 관리 (중복을 용서)하기 때문에 작업은 "낮은"수준입니다. 일반적으로 매우 간단하며 데스크톱 환경이이를 기반으로 구축됩니다. 목록은 많지만 여기에 미니멀 한 소프트웨어, 이를 통해 이미지 서버를 상당히 기본적으로 제어 할 수 있습니다.
데스크탑 환경
이미지 서버 작동을 가능하게 할뿐만 아니라 사용자 정의 기능도 제공하는보다 전문화 된 소프트웨어 세트입니다. 이 중 가장 오래되고 무거운 것은 KDE와 GNOME이지만 LXDE 또는 Mate, Cinnamon 등과 같은 더 가벼운 환경도 있습니다.
CLI (명령 줄 인터페이스)
이미지 서버의 세계를 간략히 살펴본 후 이제 다시 주제로 넘어갑니다. CLI, 명령 줄에 의해 실행되는 모든 프로그램을 의미합니다. git, vim, weechat, 또는 다른 생각이 떠 오릅니다. 명령 줄에서 실행되지만 다음과 같은 일종의 "그래픽 인터페이스"를 표시하는 프로그램에 대해 이야기하고 있음을 알 수 있습니다. weechat o vim. 시도해 보지 않은 모든 분들에게 추천합니다. 기본적으로 하루 종일 사용합니다.
CLI가 GUI보다 나은 이유
아주 간단한 것을 시도해 봅시다 얼마 전 나는 다음을 위한 패치 작업을 하고 싶었습니다. 포티지 (젠투의 패키지 관리자). 다른 훌륭한 협업 프로젝트와 마찬가지로 코드 줄 수가 70k를 초과합니다. NinjaIDE (Portage는 Python으로 작성 됨)와 같은 IDE에서 열어 보면 곧 화면이로드되기 시작하면 컴퓨터가 매우 느려지고 (적어도 내 i7이 수행 했음) 코드를 열려고하는 것입니다. «help»의 기본 색상으로 변경합니다.
이제 똑같이 해보십시오. vim, 나는 천분의 일 초 만에로드되었고 동시에 "예쁜"색상과 다른 모든 것을 넣었습니다.
CLI는 오래 전에
여기 일부는 그 프로그램이 antiguos, 나는 그들을 부른다 건장한. 건물에 투자 한 시간을 볼 수 있다면 emacs, vim, gdb, 그리고 수백 개의 다른 콘솔 프로그램에서 코드와 기능의 양이 너무 많아서 해결하는 데 필요한 모든 것을 실제로 이미 해결했음을 알 수 있습니다. 많은 GUI CLI에서 이미 강력한 프로그램의 경우 동일한 기능을 가질 수 없습니다. 예를 들어 사용 가능한 각 하위 명령에 대한 탭을 만들었 기 때문입니다. git, 우리는 옵션 사이에서 자신을 잃을 것이고 그것은 일하기 어렵게 만들 것이기 때문에 비생산적 일 것입니다.
CLI가 더 빠름
마법은 열쇠에서 시작됩니다 Tab, 이것은 터미널에서 데스크탑을 탐색 할 때 가장 친한 친구 일뿐만 아니라 올바르게 구성되어 있으면 긴 문장을 2 자 및 탭, 3 자 및 탭 또는 심지어 문자와 탭으로 줄일 수 있습니다. .
그러나 이것이 유일한 이점은 아닙니다. vim o emacs 요즘 IDE보다 학습 곡선이 약간 높지만 결국 생산성 결과는 놀랍지 만 마우스를 움직일 때 잃을 수있는 시간을 상상할 수 없다고 말할 수 있습니다. 90 %의 시간 동안 키보드에 손을 대면 집중력을 배울 수있을뿐만 아니라 키보드에 너무 많이 입력한다는 사실은 매우 민첩하고 생산적으로 만듭니다. 그리고 이제 우리는 이전 요점으로 돌아가서, 오랫동안 우리와 함께 해왔고, 이와 같은 프로그램은 이미 누군가가 생각할 수있는 모든 기능을 가지고 있습니다. vim을 사용하는 사람들에게 상당히 일반적인 말이 떠 오릅니다.
4 개 이상의 키를 사용하는 경우 더 나은 방법이있을 수 있습니다.
간단하지만 강력한 vim을 사용하면 많은 수의 키와 가능한 조합으로 모든 작업을 수행 할 수 있습니다. 하나는 학습을 멈추지 않습니다. 생산성을 높일 수 있습니다.
CLI는 완전한 제어를 제공합니다
마우스로 작업을 실행하거나 이미지 서버에서 프로그램을 실행할 때 클릭하는 순간에 실행되는 모든 추가 구성이 항상 존재하는 것은 아닙니다. 터미널에서는 이런 일이 발생하지 않습니다. 여기에서 그것이 무엇인지에 대한 절대적인 힘을 갖게됩니다. 실행 여부, 옵션 또는 범위. 시간이 지남에 따라 생각보다 적은 양이 필요하다는 것을 깨닫고 더 집중적으로 작업을 수행 할 수 있습니다.
GUI에도 자체 기능이 있습니다.
저는 우리 모두가 항상 CLI를 사용해야한다고 말하지는 않겠습니다. 그것도 이상적이 아닙니다. 저도 거의 항상 GUI를 사용하고,이 게시물을 작성하기 위해 Chrome을 사용하고, 이메일을보기 위해 Evolution을 사용합니다. 또한 사용 mutt 최근에는 꽤). 그리고 이것이 가장 큰 신화라고 생각합니다... 사람들은 GNU/Linux가 단지 터미널일 뿐이라고 생각합니다. 저는 데스크탑 환경을 좋아합니다. 아주 미니멀하지만 그런 식으로도 마음에 듭니다 그리고 저는 보통 2~3개만 가지고 있습니다. 실행 중인 프로그램, 내 Chrome, 내 Evolution 및 내 터미널
이것이 제가 CLI를 그토록 좋아하는 이유와 여러분에게 기회를 달라고 요청하는 이유입니다. 아마도 나중에 여러분도 저처럼 GUI보다 CLI를 더 많이 사용하게 될 것입니다. 감사합니다