GUIよりもコマンドラインを好むのはなぜですか?

他の記事を確認すると、この小さな質問に出くわしてとても楽しかったです。他のシステム(FreeBSDを除く)のユーザーが最初に直面することのXNUMXつは、GUIを使用しないことです。 実を言うと、GNU / Linuxの旅を始めた当初は、非常に興味深かったようです。 時間が経つにつれて、私は他のどのGUIプログラムよりもはるかに多くのコマンドラインを使用するようになり、まばゆいばかりのGUIを備えたより複雑なプログラムよりもコマンドラインプログラムを好むことがよくあります。

神話

実際、これは単なる都市伝説に過ぎません。なぜなら、ここでは名前を挙げませんが、他のシステムとは異なり、GNU/Linuxでは真に選択の自由が保障されているからです。他のシステムにも、GNU/Linuxのような柔軟性があれば良いのですが。しかし、この問題をもう少し深く掘り下げて見ていきましょう。そうしないと、多くのことが不明瞭なままになってしまいます。

サーバー

「サーバー」という言葉は誰もが耳にしたことがあるでしょう。GoogleやAmazonを支えるスーパーコンピューター、あるいはあなたの会社にあるようなコンピューターを思い浮かべる人もいるかもしれません。しかし実際には、サーバーは特定のモデルに基づいて動作します。この用語は、ユーザー(クライアント)が利用でき、何らかの情報を提供するプログラムを指すために使われます。基本的な例としては、インターネット上でウェブページを提供するApacheが挙げられます。このプログラムは、リクエストしたクライアントにHTMLを配信します。

イメージサーバー

しかし、サーバーは、Googleや他の多くの企業が可能にするスーパーコンピューター上にあるだけでなく、「最も古い」ラップトップでさえも可能です。 サーバ、特に画像について話すとき。 私たちは皆、 サーバ 機能的な画面を持つために私たちのラップトップの画像の、この場合は サーバ Y·エル 顧客 彼らは同じ人です。 最も一般的な例は X (として知られている xorg-server 多くのディストリビューションで)とその新しい代替品 Wayland。 組織の理由、Waylandの仕組み、またはこれらの優れたプロジェクトの背後にある哲学について詳しく説明するつもりはありませんが、Webブラウザーで信頼できるのは彼らのおかげであることを明確にします。 FirefoxやChrome、または他の多くのプログラムのように。

ウィンドウマネージャー

ウィンドウマネージャはイメージサーバーと直接連携します。その機能はより低レベルで、ウィンドウの作成、変更、および閉じ方を管理します(冗長な表現かもしれませんが)。通常、ウィンドウマネージャは非常にシンプルで、デスクトップ環境はウィンドウマネージャをベースに構築されています。種類は多岐にわたりますが、ここでは簡潔に述べておきます。ウィンドウマネージャは、イメージサーバーの基本的な制御を可能にする、最小限の機能を持つソフトウェアプログラムです。

デスクトップ環境

イメージサーバーの操作を可能にするだけでなく、カスタマイズ機能も提供する、より特殊なソフトウェアのセット。 これらの中で最も古くて重いのはKDEとGNOMEですが、LXDEやMate、Cinnamonなどのより軽い環境もあります。

CLI(コマンドラインインターフェイス)

イメージサーバーの世界を簡単に見てから、もう一度トピックに移ります。 CLI、コマンドラインによって実行されるプログラムを意味します。 git, vim, weechat、またはまあ、他に頭に浮かぶものは何でも。 コマンドラインで実行されますが、次のような一種の「グラフィカルインターフェイス」を表示するプログラムについて話していることがわかります。 weechat o vim。 それらを試したことがないすべての人に、私はそれらをお勧めします、それらは基本的に私が一日中使用するものです。

CLIがGUIより優れている理由

簡単なことを試してみましょう  先日、Portage (Gentoo のパッケージ マネージャー)のパッチに取り組もうとしました。優れた共同プロジェクトではよくあることですが、コードの量は 70k 行を超えます。それを NinjaIDE のような IDE で開いてみてください (Portage は Python で書かれています)。画面の読み込みが始まるとすぐに、マシンが非常に遅くなること (少なくとも私の i7 ではそうでした) に気づくでしょう。これは、コードを開いてデフォルトの「ヘルプ」の色を変更しようとしただけです。

今同じことをしてみてください vimそれはほんの数ミリ秒で私をロードし、同時に「きれいな」色と他のすべてを入れました。

CLIはずっと前から

ここのいくつかはそれらのプログラムが antiguos、私はそれらを呼びます 壮健。 構築に費やされた時間数を見ることができれば emacs, vim, gdb、および他の何百ものコンソールプログラムでは、コードと機能の量が非常に多いため、解決する必要のあるすべてのものを実質的にすでに解決していることに気付くかもしれません。 たくさんの GUI CLIですでに堅牢なプログラムの場合、同じ量の機能を持つことはありません。これは、たとえば、使用可能なサブコマンドごとにタブを作成した場合などです。 git、私たちは選択肢の間で自分自身を失い、それは仕事を難しくするので、逆効果になります。

CLIの方が速い

魔法は鍵から始まります Tab、これは端末のデスクトップを閲覧するときの親友であるだけでなく、適切に構成されている場合は、長い文を2文字とタブ、3文字とタブ、または文字とタブ。

しかし、これが唯一の利点ではありません。時間をかけて学んだ私たちの利点です。 vim o emacs 最近のIDEよりも学習曲線は少し高くなっていますが、最終的には生産性の結果は驚くべきものであり、マウスを動かしたときに失われる可能性のある時間を想像することはできません。 90%の時間、キーボードに手を置くことは集中力を教えるだけでなく、キーボードで多くのことを入力するという事実はあなたを非常に機敏で生産的にします。 そして今、私たちは前のポイントに戻り、長い間私たちと一緒にいましたが、これらのようなプログラムはすでに誰かが考えることができるすべての機能を備えています、vimを使用する私たちの人々にとってかなり一般的なことわざが思い浮かびます:

4つ以上のキーを使用する場合は、より良い方法があるかもしれません。

シンプルでありながら強力なvimを使用すると、多数のキーと可能な組み合わせですべてを実行できます。学習を停止することはありませんが、それを使用するためにすべてを知る必要はなく、約10または15で開始できます。より生産的になります。

CLIで完全に制御できます

マウスまたはイメージサーバーからのプログラムを使用して操作を実行する場合、クリックした瞬間に実行されるすべての追加構成が常に存在するとは限りません。これは端末では発生しません。ここでは、何の絶対的な力があります。実行されるかどうか、どのオプションまたはどの程度で実行されるか。 時間が経つにつれて、あなたはあなたが思っているよりも必要なものが少ないことに気づき、それはあなたがより集中的な方法で物事を行うのを助けます。

GUIにも独自のものがあります

常にCLIを使用する必要があると言うつもりはありません。これも理想的ではありません。私自身、ほぼ常にGUIを使用し、Chromeを使用してこの投稿を作成し、Evolutionを使用しているメールを確認しています(ただし、Evolutionも使用しています)。 mutt 最近はかなり)。そして、これが最大の誤解だと思います...人々は GNU/Linux は単なるターミナルだと考えています。私は自分のデスクトップ環境が気に入っています。かなりミニマリストですが、それが気に入っています  そして、私は通常 2 つまたは 3 つしか持っていません実行中のプログラム、Chrome、Evolution、ターミナル 

これらは、私が CLI をとても気に入っている理由の一部であり、皆さんにも CLI を試す機会を与えるようお勧めする理由の一部です。もしかしたら、あなたも後々、私のように GUI よりも CLI を使用するようになるかもしれません  よろしく


Googleで優先ソースとして追加する