Warum ziehen wir die Befehlszeile den GUIs vor?

Beim Überprüfen anderer Artikel bin ich auf diese kleine Frage gestoßen, die mir viel Spaß gemacht hat. Es ist wahr, dass eines der ersten Dinge, die Benutzer anderer Systeme (außer FreeBSD) in unser Gesicht bekommen, ist, dass wir die GUIs nicht verwenden. Um ehrlich zu sein, es kam mir zu Beginn meiner GNU / Linux-Reise auch ziemlich neugierig vor. Ich muss zugeben, dass ich im Laufe der Zeit die Befehlszeile viel häufiger verwende als jedes andere GUI-Programm, und oft bevorzuge ich Befehlszeilenprogramme gegenüber ausgefeilteren Programmen mit schillernden GUIs.

Der Mythos

Eigentlich ist dies nichts weiter als ein urbaner Mythos, denn im Gegensatz zu anderen Systemen, deren Namen hier nicht erwähnt werden, haben Sie es in GNU / Linux wirklich libertad nach Wahl. Ich wünschte, in anderen Systemen gäbe es die Vielseitigkeit, die hier existiert. Aber schauen wir uns diese Angelegenheit genauer an, sonst sind viele Dinge nicht klar:

Servidores

Wir haben alle das Wort gehört Server, Einige glauben, dass es sich um Supercomputer handelt, die Google, Amazon oder den in Ihrem Unternehmen unterstützen. Aber die Realität ist, dass a Server antworte auf a Arbeitsmodell. Wir verwenden diesen Begriff, um auf die Tatsache hinzuweisen, dass wir ein Programm haben, das Benutzern zur Verfügung steht (Kunden) und gibt ihnen etwas. Ein grundlegendes Beispiel ist Apache, die für verwendet wird dienen Webseiten im Internet. Dieses Programm liefert HTML an Kunden diese Anfrage es.

Bildserver

Aber nicht nur ein Server kann sich auf den Supercomputern befinden, die Google und viele andere Unternehmen ermöglichen, auch der "älteste" Laptop kann ein Server sein Servervor allem, wenn wir über Bilder sprechen. Wir alle führen eine Server von Bildern in unseren Laptops, um einen funktionierenden Bildschirm zu haben, in diesem Fall die Server und Kunde Sie sind die gleiche Person. Das häufigste Beispiel ist X (bekannt als xorg-server in vielen Distributionen) und sein neuer Ersatz Wayland. Wir werden nicht detailliert erklären, warum die Organisation oder wie Wayland funktioniert oder welche Philosophien hinter diesen großartigen Projekten stehen, aber wir werden klarstellen, dass wir dank ihnen einen Webbrowser haben können wie Firefox oder Chrome oder viele andere Programme.

Fenstermanager

Fenstermanager arbeiten direkt mit dem Image-Server. Ihre Arbeit ist "niedriger", da sie verwalten (Redundanz verzeihen), wie Fenster erstellt, geändert und geschlossen werden. Sie sind normalerweise recht einfach und Desktop-Umgebungen bauen darauf auf. Die Liste ist groß, aber ich werde hier nur die Idee belassen, dass sie es sind minimalistische Software, Damit können Sie den Image-Server ziemlich einfach steuern.

Desktop-Umgebung

Eine speziellere Software, die nicht nur den Betrieb des Image-Servers ermöglicht, sondern auch Anpassungsfunktionen bietet. Unter diesen sind KDE und GNOME die ältesten und schwersten, aber wir haben auch leichtere Umgebungen wie LXDE oder Mate, Cinnamon usw.

CLI (Befehlszeilenschnittstelle)

Nach einem kurzen Blick auf die Welt der Image-Server wenden wir uns nun wieder unserem Thema zu. CLIimpliziert auch jedes Programm, das über die Befehlszeile ausgeführt wird git, vim, weechatoder was auch immer sonst in den Sinn kommt. Sie können sehen, dass es sich um Programme handelt, die, obwohl sie in der Befehlszeile ausgeführt werden, eine Art "grafische Oberfläche" aufweisen weechat o vim. Für alle, die sie nicht ausprobiert haben, empfehle ich sie, sie sind im Grunde diejenigen, die ich den ganzen Tag benutze.

Warum CLI besser ist als GUI

Versuchen wir etwas ganz Einfaches  Neulich wollte ich an einem Patch dafür arbeiten Portage (Gentoos Paketmanager). Wie bei jedem guten Verbundprojekt überschreitet die Anzahl der Codezeilen 70. Versuchen Sie, dies in einer IDE wie NinjaIDE zu öffnen (Portage ist in Python geschrieben), und es dauert nicht lange, bis Sie bemerken, dass Ihr Computer beim Laden des Bildschirms extrem langsam wird (zumindest mein i7) und dies nur versucht Öffnen Sie den Code und wechseln Sie in die Standardfarbe «Hilfe».

Versuchen Sie nun, dasselbe mit zu tun vimIch wurde in Tausendstelsekunden geladen und gleichzeitig wurden die "hübschen" Farben und alles andere eingefügt.

CLI ist schon lange her

Einige hier werden sagen, dass diese Programme sind antiguos, Ich rufe Sie an robust. Wenn Sie sehen könnten, wie viele Stunden in das Bauen investiert wurden emacs, vim, gdbund Hunderte anderer Konsolenprogramme stellen möglicherweise fest, dass die Menge an Code und Funktionalität so groß ist, dass sie praktisch alles gelöst haben, was sie zur Lösung benötigten. Viele GUI Für Programme, die in ihrer CLI bereits robust sind, verfügen sie nie über die gleiche Funktionalität. Dies liegt einfach daran, dass wir beispielsweise für jeden verfügbaren Unterbefehl eine Registerkarte erstellt haben gitWir würden uns zwischen den Optionen verlieren und es wäre kontraproduktiv, weil es die Arbeit erschweren würde.

CLI ist schneller

Die Magie beginnt mit dem Schlüssel TabDies ist nicht nur Ihr bester Freund beim Durchsuchen der Desktops in Ihrem Terminal, sondern wenn es richtig konfiguriert ist, können Sie lange Sätze auf 2 Buchstaben und einen Tabulator, 3 Buchstaben und einen Tabulator oder sogar einen Buchstaben und einen Tabulator verkürzen Tab.

Dies ist jedoch nicht der einzige Vorteil für diejenigen von uns, die sich die Zeit zum Lernen genommen haben vim o emacs Wir können sagen, dass, obwohl die Lernkurve heutzutage etwas höher ist als die der IDEs, die Produktivitätsergebnisse am Ende erstaunlich sind, man sich nicht vorstellen kann, welche Zeit beim Bewegen einer Maus verloren gehen kann. Wenn Sie in 90% der Fälle Ihre Hände auf der Tastatur haben, lernen Sie nicht nur Konzentration, sondern auch die Tatsache, dass Sie so viel auf der Tastatur tippen, macht Sie sehr agil und produktiv. Und jetzt kehren wir zum vorherigen Punkt zurück, nachdem wir so lange bei uns waren, haben Programme wie diese bereits alle Funktionen, die sich jemand vorstellen kann. Ein ziemlich häufiges Sprichwort für diejenigen von uns, die vim verwenden, fällt mir ein:

Wenn Sie mehr als 4 Tasten verwenden, gibt es möglicherweise einen besseren Weg.

Einfach, aber leistungsstark, vim ermöglicht es Ihnen, alles mit der großen Anzahl von Tasten und möglichen Kombinationen zu tun. Man hört nie auf zu lernen, aber es ist auch wahr, dass es nicht notwendig ist, alle zu kennen, um es zu verwenden. Etwa 10 oder 15 reichen aus, um zu beginnen produktiver sein.

CLI gibt Ihnen die vollständige Kontrolle

Wenn man Operationen mit der Maus oder Programme vom Image-Server ausführt, sind nicht immer alle zusätzlichen Konfigurationen vorhanden, die zum Zeitpunkt des Klickens ausgeführt werden. Dies geschieht nicht mit dem Terminal. Hier haben Sie die absolute Macht dessen, was es wird ausgeführt oder nicht, mit welcher Option oder in welchem ​​Umfang. Mit der Zeit stellen Sie fest, dass Sie weniger brauchen als Sie denken, und das hilft Ihnen, die Dinge gezielter zu erledigen.

GUI hat auch ein eigenes Ding

Ich werde nicht sagen, dass wir alle immer CLI verwenden sollten, das ist auch nicht ideal. Ich selbst verwende fast immer GUIs, um diesen Beitrag zu schreiben, benutze ich mein Chrome und um meine E-Mails zu sehen, benutze ich Evolution (obwohl ich auch benutze mutt in letzter Zeit ziemlich oft). Und ich denke, das ist der größte Mythos von allen... dass die Leute denken, GNU/Linux sei nur ein Terminal. Ich mag meine Desktop-Umgebung, sie ist ziemlich minimalistisch, aber ich mag es so  Und normalerweise habe ich nur zwei oder drei Programme laufen, mein Chrome, mein Evolution und mein Terminal 

Dies sind einige der Gründe, warum ich CLIs so sehr mag und warum ich Sie einlade, ihnen eine Chance zu geben. Vielleicht werden Sie später wie ich mehr CLIs als GUIs verwenden.  Grüße