Fünf Vorteile von Befehlszeilentools

Einige Leute fürchten die Kommandozeile. Andere halten es für arkan und veraltet. Viele von uns kennen jedoch die Wahrheit; Befehlszeilen-Tools sind häufig genau die richtigen Tools für den Job.

Befehlszeilen-Dienstprogramme und -Anwendungen bieten uns viele Vorteile, die bei GUI-Anwendungen nicht verfügbar, schwer zu erreichen oder unvollständig sind. Diese Vorteile sind zahlreich, aber insbesondere fünf können sofort in den Sinn kommen:

1. Skalierbarkeit

Jeder, der die paranoide Cookie-Verwaltung in Firefox lange genug durchführt, stößt wahrscheinlich auf das Problem mit 1001-Cookies, bei dem die Dialogfenster für die Cookie-Verwaltung so schnell und in einer solchen Anzahl angezeigt werden, dass es den ganzen Tag dauern kann, bis sie alle durchlaufen. Dieses Beispiel zeigt ein Problem von GUIs und anderen Captive-Schnittstellen: Skalierbarkeit. Wenn Sie eine einzelne, einfache Aufgabe nur einmal ausführen, scheint es recht einfach zu sein, einfach auf einige Schaltflächen der Benutzeroberfläche zu klicken und fortzufahren. Wenn plötzlich eine Flut solcher Aufgaben auftritt und alle die Aufmerksamkeit des Benutzers erfordern (z. B. die Auswahl der zu akzeptierenden Cookies und deren Aufbewahrungsdauer), wird die grafische Benutzeroberfläche eher zu einem Hindernis als zu einer Hilfe und zu Ihrer Taskleiste (wenn Sie dies tun) benutze eins) füllt sich schnell mit Fenstertasten, die so etwas wie "C ..." und sonst nichts anzeigen.

Im Gegensatz dazu bieten Befehlszeilentools in der Regel weitaus größere Möglichkeiten, solche Skalierbarkeitsprobleme schnell und einfach zu lösen. Durch die Organisation der Ausgabe in Gruppen, sodass Aufgaben, für die dieselbe Benutzerantwort erforderlich ist, zusammengefasst werden, kann eine einzige Aktion ausgeführt werden, um Ergebnisse für eine große Anzahl diskreter Aufgaben zu erzielen. Wenn diese Legionen von Firefox-Dialogen eine Entscheidung und einen Klick zum Ausführen für jeden einzelnen erfordern, kann ein wenig vernünftiges Sortieren und Weiterleiten der Ausgabe verschiedener Aufrufe des Befehls yes dem Benutzer des Befehlszeilentools die Möglichkeit bieten, nur eine Handvoll davon zu verwenden Schritte zur Bewältigung von Hunderten von diskreten Aufgaben.

2. Skriptfähigkeit

Jeder Unix-Systemadministrator sollte die Leistungsfähigkeit von Skripten für Befehlszeilentools verstehen. Viele Microsoft Windows-Administratoren sind jedoch nicht so gut mit der Leistung und Flexibilität der Befehlszeile vertraut wie ihre Unix-Sysadmin-Brüder. Der Grund dafür ist, dass MS Windows-Administratoren bei der Systemadministration aufgrund der Vermittlung zwischen dem Administrator und der Grundfunktionalität des Systems, die ihnen durch das GUI-zentrierte Design des Systems auferlegt wird, häufig eine viel schwierigere Aufgabe haben Betriebssystem. Wenn in einer GUI-Anwendung achtzehn Mal am Tag auf fünf Schaltflächen in einer bestimmten Reihenfolge geklickt werden muss, muss man achtzehn Mal auf diese Schaltflächen klicken. Wenn jedoch in einer Unix-Shell achtzehn Mal auf einen bestimmten komplexen Befehl eingegeben werden muss, muss dies der Fall sein Es ist eine triviale Übung, diese Aktivität zu skripten, um einen Teil des Verwaltungsaufwands für den Systemadministrator zu beseitigen.

Der kompetente Unix-Systemadministrator ist der Maytag-Mechaniker der Informationstechnologie. Die Automatisierung durch System-Scripting reduziert die Langeweile und Wiederholbarkeit ihrer täglichen Aufgaben, bis sie nichts mehr zu tun haben, außer verfügbar zu sein, falls etwas kaputt geht und - wenn sie das Glück haben, Chefs zu haben, die so etwas zulassen - kommen Ideen zur Verbesserung der Arbeitsweise. In der Zwischenzeit wird der Nur-GUI-Administrator häufig jeden Tag mit einer Maus ausgeführt, die der kompetente Unix-Systemadministrator vor langer Zeit an Administrationsskripte delegiert hat.

Die besten MS Windows-Administratoren tun natürlich alles, um ihre eigenen sich wiederholenden Aufgaben auch auf Administrationsskripte zu verlagern, aber die relative Schwäche der Automatisierungsoptionen des Systemadministrators ist ein begrenzender Faktor. In nicht trivialem Maße ist der Unterschied der allgegenwärtige Einfluss der Befehlszeilenfunktionalität von Unix im Gegensatz zum sehr GUI-zentrierten Design von Microsoft Windows. Wenn GUI-Entwickler die Möglichkeit zur Automatisierung von Aktivitäten planen, müssen sie in der Regel Makrosysteme in jede einzelne Anwendung separat einbauen, während die Befehlszeile selbst das "Makrosystem" für jedes verfügbare Befehlszeilenprogramm ist, um die Einheitlichkeit der Skriptschnittstellen und zu gewährleisten die Verfügbarkeit von Automatisierungsfunktionen für viel mehr Software, als sonst so einfach zu skripten wäre.

3. Einfaches Design

Die Vorteile eines einfachen Designs sind bekannt. Zum Beispiel scheint es vernünftig zu sein zu sagen, dass Einfachheit Sicherheit ist. Falls diese Erklärung nicht überzeugend ist, können Sie nachlesen, wie wichtig die Einfachheit des Designs für die Open Source-Sicherheit ist, einschließlich der unvermeidbaren Wahrscheinlichkeit, dass mehr Code mehr Fehler bedeutet. Insbesondere bei der Betrachtung der Sicherheitsvorteile eines einfachen Designs ist es wichtig, die Beziehungen zwischen Sicherheit, Komplexität und der GUI-Umgebung zu verstehen.

Befehlszeilentools profitieren häufig von einfacheren, offensichtlichen und einfachen Designs. Ein Grund dafür ist die Tatsache, dass Befehlszeilen-Tools leicht als kleinere, einfachere Tools geschrieben werden können, die - in der Unix-Tradition - jeweils eine Sache gut machen. Wo Captive-Schnittstellen mit GUI-Anwendungen die richtige Vorgehensweise sind, werden Entwickler in einen schleichenden Featurism-Modus versetzt, wenn sie ihre Software "verbessern", damit Benutzer komplexere Aufgaben ausführen können Fliegen Sie durch die Unix-Pipeline, um komplexe Aufgaben zu erledigen, ohne dass jemand dem Cat-Dienstprogramm selbst Funktionen hinzufügen muss, wie z.

  • Funktionen zur Schätzung des "Lesepegels"
  • PDF-Export
  • Rechtschreib- und Grammatikprüfung

4. Einfache Schnittstelle

GUI-Anwendungen sind auf Menüs und Schaltflächen angewiesen, um alles zu erledigen. Dies bedeutet, dass leistungsstarke Tools komplizierte Schnittstellen erfordern, damit der Benutzer (fast) mit einer Maus auf alle Funktionen der Anwendung zugreifen kann. Je mehr Funktionen eine Anwendung bietet, desto komplizierter wird die Benutzeroberfläche. Die Microsoft Office-Produktivitätssuite ist ein hervorragendes Beispiel für die Komplexität der Benutzeroberfläche, wenn viele Funktionen hinzugefügt werden. Diese Anwendungssuite ist im Laufe der Jahre so kompliziert geworden, dass die Mitarbeiter von Microsoft schließlich einen innovativen Ansatz zur Verwaltung dieser Komplexität entwickeln mussten. Das Ergebnis war die Multifunktionsleiste - eine Art dynamische Menüleiste, in der Ihre Anwendung versucht, die am häufigsten verwendeten und nützlichsten Funktionen zu einem bestimmten Zeitpunkt anzuzeigen, je nachdem, was der Benutzer gerade tut. Dieser Ansatz ist interessant und hilft bei der Verwaltung der Komplexität der Anwendungssuite. Gleichzeitig unterstützt er die häufigsten Aktivitäten von Gelegenheitsbenutzern auf Kosten der "Hauptbenutzer" und ihrer Produktivität. Die sachkundigsten Benutzer haben in der Regel die größten Probleme mit der Multifunktionsleiste.

Befehlszeilenanwendungen und tastaturgesteuerte, konsolenbasierte, unverlierbare Benutzeroberflächen bieten Gelegenheitsbenutzern eine einfache Interaktion, ohne dass erfahrene Benutzer den Teppich unter den Füßen herausziehen müssen. Viele dieser Tools bieten einfache Verwendungsinformationen, indem sie beim Aufrufen der Shell die Option --help verwenden oder über eine oder zwei Tastenanschläge über eine Captive-Oberfläche auf die Verwendungshilfe zugreifen. Anfänger können die rudimentären Grundlagen leicht erlernen, und wenn sie mehr über die Verwendung lernen, wird ihre Einrichtung mit der Anwendung erweitert. Die Einfachheit der Benutzeroberfläche geht niemals zu Lasten dieses wachsenden Wissens.

5. Stabiles Design

Da sich die GUI-Umgebungen im Laufe der Zeit weiterentwickeln und neue Funktionen und Funktionen erwerben, müssen sich die GUI-Anwendungen ändern, um in diese Umgebungen zu passen. Da GUI-Anwendungen mit der Zeit durch das Hinzufügen neuer Funktionen immer komplexer werden, werden die Anwendungen mutiert, sodass sie nie mehr so ​​funktionieren wie vor einer Version. Aus diesen und weiteren Gründen ist die Abwärtskompatibilität mit neuen Versionen von GUI-Anwendungen sehr schwierig. Daher müssen Benutzer bei jedem Upgrade neu lernen, wie ihre bevorzugten GUI-Anwendungen bis zu einem gewissen Grad funktionieren. Selbst wenn neue Funktionen, die den Anwendungen hinzugefügt wurden, nie verwendet werden, werden die alten Funktionen, die sie regelmäßig verwenden, häufig mit der Veröffentlichung neuer Versionen geändert. Normalerweise benötigen sie neue Funktionen, wenn auch nur wenige, aber die Lernkurve für Änderungen bei der Verwendung der alten Funktionen ist in der Regel viel steiler als die einer kleinen Handvoll neuer Funktionen, die sie in Zukunft verwenden werden.

Darüber hinaus kann die einfache Tatsache, dass Benutzer seit einiger Zeit die gleichen Dinge auf die gleiche Weise tun, dazu führen, dass Pädagogen "negative Übertragung des Lernens" nennen, wo sie bereits wissen (in diesem Fall aus einer früheren Version einer Anwendung) ) beeinträchtigt ihre Fähigkeit, unter ähnlichen Umständen neues Wissen zu erlernen. Befehlszeilenprogramme, insbesondere aufgrund ihres normalerweise einfacheren Designs, leiden nicht in nahezu gleichem Maße unter diesem Problem. Wenn eine neue Funktion hinzugefügt werden muss, müssen die alten Funktionen normalerweise nicht neu gemischt werden. Auf diese Funktionen kann fast immer auf dieselbe Weise zugegriffen werden, wie sie vor dem Upgrade aufgerufen wurden.

Angesichts der größeren Möglichkeit, separate Tools in der Befehlszeile als in der GUI-Umgebung miteinander zu verknüpfen, ist das Hinzufügen neuer Funktionen zu einem bestimmten Tool häufig ohnehin unnötig (und unerwünscht), da neue Funktionen einfach als neues Tool erstellt werden können, sodass der Benutzer sie verwenden kann diese beiden Tools zusammen über die Unix-Pipeline einzusetzen. Das Endergebnis ist, dass sich der Endbenutzer normalerweise nicht um ein instabiles Software-Design kümmern muss, bei dem sich Schnittstellen und Back-Ends bei der Veröffentlichung einer neuen Version des Dienstprogramms auf unerwartet neue Weise verhalten.

Die Bedeutung von Optionen

Natürlich ist die Kommandozeile nicht für alles geeignet. GUIs und andere Captive-Schnittstellen bieten Vorteile, die nur mit Befehlszeilenprogrammen nicht vorhanden oder schwer zu erreichen sind. Tatsächlich gibt es einige Aufgaben, für die umfangreiches Fachwissen erforderlich ist, um die Vorteile eines Befehlszeilenansatzes überhaupt zu nutzen, sodass jeder unerfahrene Benutzer nur durch das Fehlen einer unverlierbaren Schnittstelle behindert wird.

In den meisten Fällen sind Befehlszeilentools wichtig, auch wenn eine unverlierbare Oberfläche geeignet ist. In vielen Fällen sollte eine Captive-Schnittstelle, wenn sie eine gute Idee ist, auf Befehlszeilendienstprogrammen aufbauen, sodass die Captive-Schnittstelle selbst - ob eine GUI oder eine konsolenbasierte Schnittstelle wie die von den Flüchen bereitgestellte Bibliothek unter Unix - ist nur ein dünnes Furnier über Dienstprogrammen, das bei Bedarf auch einzeln über die Befehlszeile oder in einem Skript aufgerufen werden kann.

Es besteht kaum eine Chance, dass die grafische Benutzeroberfläche im täglichen Design der Endbenutzer-Computersoftware zugunsten der Befehlszeile vernachlässigt wird. Viele Entwickler scheinen jedoch damit zufrieden zu sein, die Bedeutung der Befehlszeile und die Vorteile, die sie für Benutzer bieten kann, zu ignorieren. Ein Grund dafür ist, dass die Benutzer selbst häufig nicht wissen, welche Vorteile die Verwendung von Befehlszeilentools bietet. Wenn Sie einer dieser Benutzer sind, ist es möglicherweise an der Zeit, eine Kopie des besten verfügbaren Linux-Buches zu erwerben und sich ein wenig mit den Vorteilen der Befehlszeilentools vertraut zu machen.

© Copyright 2021 | mobilegn.com