Was ist der Vorteil der Verwendung des Terminals? [geschlossen]

62

Ich habe Ubuntu vor ein paar Tagen installiert. Soweit ich weiß, ist das Terminal ein großer Teil jeder Linux-Distribution. Meine Frage an dieser Stelle ist warum? Wenn ich etwas darüber nachschlage, können die im Terminal eingegebenen Befehle einfach über die GUI ausgeführt werden. Welche Vorteile bietet die Verwendung des Terminals?

Edit: Danke für die Antworten an alle. Nach einigem Stöbern und mit Hilfe Ihrer Antworten kann ich nun die Verwendung verstehen. Ich kann mit Stolz sagen, dass ich es in den letzten 3 Tagen für so gut wie alles verwendet habe und ich hoffe, dass ich das Skripting bald besser verstehen kann.

LurkDog
quelle
20
Die Tatsache, dass Sie das gefragt haben, zeigt, wie weit Linux als Betriebssystem von den Tagen gekommen ist, in denen alles CLI-basiert war! :-)
subeh.sharma
1
Die endgültige Antwort auf diese Frage ist wahrscheinlich Eric S. Raymonds The Art of Unix Programming . Für eine zynischere (oder vielleicht pragmatischere) Auffassung derselben Ideen siehe Joel Spolskys Artikel über Biculturalism .
Daniel Pryden
1
Im Allgemeinen ist der Vorteil der Verwendung des Terminals die Ausdruckskraft. Es ist so nah an einer Do What I Mean- Oberfläche wie wir, frei von Kabelsalat und Modalität, und das ist in Bezug auf Zeit und Praktikabilität von großer Bedeutung. - Dies ist nicht umfassend genug, um eine Antwort per se zu sein, aber das schnelle Soundbyte hilft hoffentlich.
MrGomez
In den letzten 5 Jahren, die ich mit Ubuntu verbracht habe, kann ich mich nicht an einen einzigen Tag erinnern, an dem ich kein Terminal verwendet habe. Es ist die erste Anwendung, die ich öffne, nachdem ich mich angemeldet habe (ich habe sie natürlich automatisiert :-)) und sie wird nur geschlossen, wenn mein PC heruntergefahren wird.
Vikrant Chaudhary
2
Diese Frage passt nicht zu unserem Q & A-Format. Wir erwarten, dass Antworten im Allgemeinen Fakten , Referenzen oder spezifisches Fachwissen beinhalten. Diese Frage wird wahrscheinlich Meinungen , Debatten , Auseinandersetzungen , Abstimmungen oder erweiterte Diskussionen anregen.
jrg

Antworten:

79

Das Terminal in Unix ist ein wunderbares, mächtiges Werkzeug. Beim Übergang aus der Welt von Windows ist dies schwer zu verstehen, da die Windows-Shell (cmd.exe) eher fehlt, wie ich netterweise sagen kann. Die meisten * nix - Standardschalen ( bash, zshusw.) haben mehrere Vorteile:

  1. Es ist durch POSIX und die Single Unix-Spezifikation standardisiert, sodass ein Skript, das Sie für einen Computer schreiben, wahrscheinlich auf allen POSIX-kompatiblen Computern funktioniert (vorausgesetzt, Sie beschränken sich auf Standardbefehle, von denen es viele gibt ). Microsoft hat die Angewohnheit, Tools in einigen Versionen und nicht in anderen zu integrieren, was die Stapelprogrammierung zu einem echten Hit oder Miss macht

  2. Da Unix vom Terminal aus erstellt wurde, kann fast alles über die Befehlszeile konfiguriert werden. Windows war bis zu einem gewissen Punkt so, aber sie entschieden sich dafür, das 16-Bit-Subsystem und DOS damit fallen zu lassen. Jetzt ist die GUI die einzige Möglichkeit, einige Dinge in Windows zu ändern.

  3. Weil es so flexibel ist. Befehle können zusammengefasst ( ls | grep filename), erfasst ( gcc program.c > ./standard_out 2> ./standard_error) und ersetzt ( ls /home/`whoami`oder ls /home/$(whoami)) werden

  4. Weil UNIX-Dienstprogramme so konzipiert sind, dass sie eine Sache tun und es auch tun. Schauen Sie einfach in awk, grep, sed, wgetoder eine Vielzahl von anderen. Sie erfüllen für sich eine einzelne Aufgabe, können aber mit den Ziffern 3 und 2 in mächtige Ausdrücke eingebaut werden.

  5. Wegen der Fähigkeit, Aufgaben zu automatisieren. cronMit Bash-Skripten können lange, komplizierte und / oder sich wiederholende Aufgaben vereinfacht oder vollständig automatisiert werden.

  6. Weil Menschen fehleranfällig sind. Mit relativ kurzen Shell-Skripten können Einstellungen konsistent geändert werden. Sicherheitsüberprüfungen können in die Skripte integriert werden, anstatt sich darauf zu verlassen, dass Benutzer wissen, welche Befehle unter verschiedenen Umständen sicher ausgeführt werden können.

Huckle
quelle
10
Ich würde "schlechte Zecken" nennen ... ls /home/$(whoami)Heutzutage ist es besser, sie zu verwenden :-)
ℝaphink
19
Ich würde sagen, es gibt eine 5., nämlich Scripting-Möglichkeiten. Sie können alles automatisieren , ich habe sogar ein Skript, das eine zufällige Folge meiner Lieblingsserie startet, wenn ich es hinauszögern möchte ... Holen Sie sich ein paar Rollen für Ihren PC und Sie können wahrscheinlich ein Skript schreiben, das Ihnen Bier aus dem Kühlschrank holt, und wenn ja Sie setzen in cron, wird es Ihnen an der Tür mit ihm treffen , wenn Sie von der Arbeit kommen ...
TC1
6
Um fair zu sein, hat PowerShell die Windows-Shell-Situation in Bezug auf Benutzerfreundlichkeit (wenn auch nicht Standardisierung) verbessert.
Matthew Flaschen
4
Ich möchte ein weiteres Stück Balance hinzufügen und auch PowerShell erwähnen, und schon vorher war es perfekt möglich, die meisten Aufgaben von der CMD-Eingabeaufforderung in Windows ab Windows XP aus zu erledigen. Der Unterschied ist, wie gesagt, dass die Befehlszeile für die tägliche * nix-Nutzung immer zentraler war und bleibt. Dies hat gute und schlechte Auswirkungen.
Alan B
9
Was ist mit 6? Oft ist es einfacher, einen Befehl auszugeben, als Schritt für Schritt Anweisungen zu befolgen, die Ihnen die Navigation in der GUI erläutern. Aus diesem Grund verwenden viele Anleitungen im Web die Befehlszeile. Dies gilt im Allgemeinen auch für Benutzer: Je mehr Erfahrung Sie sammeln, desto schneller und einfacher wird die Verwendung der CLI.
Phil
36

Die Verwendung des Terminals bietet eine Vielzahl von Vorteilen. Die Argumente reichen von Bequemlichkeit, Produktivität bis hin zu Nostalgie. Hier sind einige :

  1. Es gibt einige Dinge, die Sie (eher ich) mit einer GUI einfach nicht erreichen können. Das liegt nicht daran, dass es nicht machbar ist, sondern nur daran, dass sich niemand die Mühe gemacht hat, eine GUI für diese Befehle zu schreiben. Wenn ich zum Beispiel einen Befehl verwenden möchte, sagen wir mdf2iso, um eine ganze Reihe von Dateien in einen Ordner zu konvertieren. Ich kann die Ausgabe mit |Operator leiten und es in einem einzelnen Anschlag tun.

  2. Für viele von uns ist es genau so, wie es sein sollte. Denken Sie daran, dass dies wenig mit Fachwissen zu tun hat. Ich bin kein Linux-Experte, ich bin nur ein normaler Benutzer, aber ich bevorzuge es, die Befehlszeile zu verwenden, wo immer es möglich ist. Dies ist weniger ein Argument dafür, warum es verwendet werden sollte, als vielmehr, warum es verwendet wird.

  3. Skripte sind eine mächtige Sache. Sie können Bedingungen ifund Schleifen forusw. verwenden und alle möglichen Dinge tun, indem Sie die oben genannte Kraft kombinieren. Es gibt keine Begrenzung für die Leistung von Skripten. Sie können komplexe Aufgaben automatisieren, die auf Ihre Anforderungen zugeschnitten sind. Für solche Dinge ist es oft schwierig, eine GUI-App zu finden, die Ihren Anforderungen entspricht.

  4. Sie können Aufgaben auch über Einstellungen mit sehr geringer Bandbreite per Remote-Anmeldung ausführen.

  5. Helfen, Schreiben von Tutorials usw. ist viel einfacher, wenn Sie die Befehle an die andere Person weitergeben können. Auf diese Weise müssen Sie keine Screenshots machen. Dies hat einen weiteren Vorteil für die Person, der ebenfalls geholfen wird, und bringt uns zum nächsten Punkt.

  6. Wenn Sie die Befehlszeile verwenden, erhalten Sie in der Regel ein besseres Verständnis dafür, was Sie gerade tun und was gerade passiert.

  7. Und zuletzt geht es einfach schneller. Es ist viel schneller, ein paar Buchstaben einzugeben und zu drücken, TABals durch endlose Menüoptionen zu klicken. Mit können Sie !moden zuletzt ausgeführten Befehl aufrufen mo(z. B. mount) und so weiter.

Ich bin sicher, dass es tausend andere Gründe gibt, die ich nicht erwähnt habe.

ste_kwr
quelle
Bei einigen Aufgaben ist es 'vorteilhaft', cli zu verwenden, aber für 90% des täglichen Gebrauchs möchte niemand cli-Befehle verwenden, um Dinge zu minimieren. Alles, was ich jemals sehe, ist, dass es vorteilhaft ist, weil Sie "dies" so effizient tun können, dass dies nur einmal im Monat oder beim Einrichten eines Computers geschieht. Um zum Beispiel eine Datei zu kopieren, müssen Sie Absätze schreiben, Berechtigungen festlegen, prüfen, Optionen definieren, korrekten Speicherplatz angeben, auf Groß- und Kleinschreibung achten, Listen mit 50 Dateien durchlesen und deren Berechtigungen nachschlagen In Windows GUI würden Sie Strg + A ... Alt + Tabulatortaste Strg + C drücken. Und Sie sind fertig
Muhammad Umer
Die Kommandozeile hat etwas sehr Befriedigendes, Befehle werden ausgegeben und mit stummgeschalteter Annahme korrekt ausgeführt, wobei oft nur Fehler angezeigt werden. Ich bevorzuge fast immer das Verschieben und Kopieren von Dateien auf der Kommandozeile gegenüber dem oft frustrierenden und mehrdeutigen Erlebnis von Drag & Drop.
Henry Florence
18

Schließlich? Weil Sie mit dem Schreiben von Skripten beginnen und das Wunderbare am Schreiben von Skripten Folgendes ist:

Anstatt die Art und Weise zu ändern, wie Sie Dinge tun, können Sie das Skript ändern, das sie tut.

Sie können Skripte für das Terminal schreiben und normalerweise nicht für grafische Programme. Deshalb wird das Terminal auch verwendet.

Aber ich spüre einen Hinweis auf "Warum sollte ich das Terminal verwenden?" in deiner frage. Ich kann dir das nicht beantworten, du bist du und ich bist nicht du, aber diese verwandte Frage kann dir einen Einblick geben:

Wie / warum sind die Benutzer am Ende Befehlszeilenbenutzer?

Ich denke, Sie könnten drei Phasen identifizieren: (1) widerwillige Verwendung; (2) Kenntnis des für den Komfort erforderlichen Minimums; (3) es macht Spaß, einen zu finden, der Skripte erstellt. Man kann das Terminal auf allen drei Ebenen nutzen; Finden Sie selbst heraus, wo Ihre Neugier aufhört. Außerdem kann man diese Phasen sehr schnell durchlaufen, wenn man einfach entscheidet, ob man Shell-Scripting lernen möchte.

  1. "Ich brauche dieses Programm, also werde ich wohl die Kommandozeile benutzen."

    Es beginnt normalerweise, weil die Leute feststellen, dass sie etwas Spezielles oder Tückisches brauchen, und das Programm, das Google / ein Forum / ein Freund empfiehlt, stellt sich als Kommandozeilenprogramm heraus. Also öffnen sie ein Terminal und geben ein, was die Anweisungen ihnen sagen, und auf diese Weise benutzen sie das Terminal. Beispiele für solche Programme, mit denen Sie die Befehlszeile verwenden:

    • LaTeX / TeX / ConTeXt (verschiedene Versionen desselben Systems) erstellt aus einer Textdatei ein schönes PDF-Dokument. In diesem Schaufenster finden Sie Beispiele. Ich mag eher 'pp' und 'LM-Volume-Manuskript'.
    • renameist ein hübsches kleines Programm, mit dem Sie Unmengen von Dateien nach einem Muster umbenennen können. Ein einfaches Beispiel: rename s/myfile([0-9]+).txt/$1-myfile.txt/ Wandelt alle Dateien mit dem Namen 'bond007.txt' in '007-bond.txt' um, unabhängig von der Nummer. Vielleicht möchten Sie einige Musikalbumdateien umbenennen.
    • Vielleicht möchten Sie eine Website von Ihrem Computer aus ausführen und stellen fest, dass Sie, wenn Sie den Webserver anweisen möchten, die Konfiguration auszuführen / anzuhalten / zu aktualisieren, einen Terminalbefehl ausgeben müssen.

    Beachten Sie, dass es für viele dieser Systeme grafische Frontends gibt, aber das ist nicht der springende Punkt: Befehlszeilenaufrufe sind üblich und traditionell, viele HOWTOs gehen davon aus, und so beginnt es. Weil:

  2. "Okay, ich fühle mich jetzt etwas wohler."

    Einmal in der Kommandozeile, beginnen die Leute zu denken: Wäre es nicht einfach, wenn ich nur ...

    • ... Verzeichnisse wechseln, um in ein anderes zu schauen? ( cd mydir, für 'Verzeichnis wechseln')
    • ... sich schnell an die Textdateien in diesem Verzeichnis erinnern lassen? ( ls *.txt, für 'Liste')
    • ... eine Datei verschieben / umbenennen? eine Datei kopieren? eine Datei löschen? ( mv myfile newname,, cp myfile mycopyund rm myfile, für 'Verschieben', 'Kopieren' und 'Entfernen')
    • ... diese Datei zum Bearbeiten / Anzeigen öffnen? ( gedit myfile, oder leafpad, oder nano, oder vim, oder was auch immer.)

    Sobald die Benutzer diese fünf Befehle gelernt haben, fühlen sie sich in der Befehlszeile im Wesentlichen wohl: Sie können sich bewegen, schauen und interagieren. Es ist sogar ein bisschen mächtig: Mit Befehlen wie können Sie ganze Gruppen von Dateien gleichzeitig bearbeiten mv iceland-*.jpg My_Iceland_Pics/, und ist das nicht cool?

    Jetzt hören viele Leute glücklich hier auf. Sie wissen, wie man das Terminal benutzt, sie werden es benutzen, wenn sie es brauchen, und das ist alles. Dies ist die Ebene "Das Terminal ist nützlich". Menschen, die das Terminal bevorzugen , tun dies jedoch normalerweise, weil sie das Gefühl haben, ohne die spektakuläre Leistung von Scripting nicht auskommen zu können. Und das fängt normalerweise so an:

  3. "Hey, ein Skript ist nur ein paar Befehle in einer Datei!"

    Diese Erkenntnis kann je nach Person zu mehreren weiteren Änderungen führen. Viele gehen natürlich einfach 'meh'; Es hat keinen Sinn zu lernen, was Sie nicht brauchen. Wie auch immer, so etwas kann passieren:

    • Sie beginnen mit kleinen Skripten, um langweilige Dinge zu automatisieren. Einige schreibst du selbst; einige bekommst du von jemand anderem; und irgendwann ändern Sie die Skripte anderer Leute.
    • Sie stellen fest, dass eine riesige Kategorie von Dingen, die Sie früher von Hand erledigt haben, weil sie ein Denken zwischen den Dingen erforderten, mit diesen beiden Konstrukten automatisiert werden kann:
      • if something_is_true; then step1a; step2; else step1b; fi, und
      • for file in list_of_files; do process1 $file; process2 $file; step3; done
    • Angesichts einer langweiligen oder komplexen Aufgabe ist es Ihnen lieber, ein Skript dafür zu schreiben, als es von Hand zu tun. Dies ist nicht einmal aus Gründen der Zeitersparnis oder Wiederverwendbarkeit notwendig, sondern nur, weil es mehr Spaß macht.
    • Sie beginnen häufig mit der Verwendung des Workflows "Skript für Quelldatei verwenden", da er genau Ihren Vorstellungen entspricht.

Möglicherweise erleben Sie nicht alle oder gar keine dieser Dinge. Je mehr auf Sie zutreffen, desto besser ist das Terminal für Sie . Sie werden selbst herausfinden, wie viel Sie davon verbrauchen. Habe Spaß!

Post scriptum. In der Programmierung sind die script -> run -> resultund input -> process -> outputWorkflows weit verbreitet, und das Terminal eignet sich hervorragend für diese Workflows. Hinzu kommt, dass die Shell wirklich nichts anderes als eine andere Programmiersprache ist, und Sie werden sehen, warum es eine so große Überschneidung zwischen Befehlszeilenbenutzern und Programmierern gibt.

Esteis
quelle
2
Ich vermute, du hast vim benutzt, um diesen Beitrag zu schreiben.
jokerdino
5
@jokerdino: Nein, aber ich hätte es tun sollen. :-)
Esteis
15

Ein weiterer Punkt zum Hinzufügen: Es macht Spaß, die Befehlszeile zu verwenden! ;)

( http://vladdolezal.com/blog/2008/the-real-reason-we-use-linux/ )

red_trumpet
quelle
+1 schöner Artikel. Ich fühle mich als Teil einer besonderen "Clique".
Aaron
Ich würde es so ändern, dass es Spaß macht, wenn Sie ein paar der vielen Tricks und Techniken gelernt haben, insbesondere die Bearbeitung von Befehlen. Die größte Verbesserung für mich war, genug zu lernen, um das Zeug in "man bash" zu verstehen.
Marty Fried
12

Ich habe neulich nur eine ähnliche Frage beantwortet. Es stellte sich heraus, dass diese Person nie Tastenkombinationen verwendet hat, um etwas zu tun. Es stellte sich heraus, dass dies eine lange Diskussion war. Ich hoffe, Sie kennen sich damit aus ... das würde meine Argumente verständlicher machen.

Erwägen Sie die Verwendung eines Textverarbeitungsprogramms. Wenn Sie eine Datei speichern, können Sie eine Tastenkombination wie Strg-S verwenden. Jemand könnte sagen: "Ich bevorzuge die Verwendung des Menüs. Es spart mir nicht viel Zeit, die Verknüpfung zu verwenden. Und wenn Sie eine neue Datei speichern müssen, müssen Sie durch das Dateisystem zum Verzeichnis navigieren und dann das eingeben trotzdem benennen. " Dieser Einwand ist also korrekt, da jede Tastenkombination für sich genommen nicht viel Zeit spart. Die wirkliche Ersparnis besteht in der Verkettung von Verknüpfungen, z. B. Alles auswählen, Ausschneiden, Einfügen. Sogar die Hersteller von Textverarbeitungsprogrammen haben dies erkannt und den Zugriff auf die Dateistruktur über die Tastatur vereinfacht, z. B. indem sie mit den Tabulatortasten und den Pfeiltasten auf die zuletzt verwendeten Ordner / Speicherorte zugreifen können.

Natürlich erfordert das Auswählen von Textteilen oftmals die Maus ... Aus diesem Grund bevorzugen Programmierer und Personen, die viel bearbeiten, einen Texteditor, der die vollständige Tastaturnutzung unterstützt, sodass Sie nie eine Maus verwenden müssen. Die Maus ist nicht nur langsam , sondern auch fehleranfällig - es ist besonders einfach, den falschen Text auszuwählen oder zu löschen.

Was hat das nun mit der Kommandozeile zu tun? Ein Vorteil der Befehlszeile besteht darin, dass die Verwendung der langsamen, fehleranfälligen Maus vermieden wird. Stattdessen tippen Sie und tun dies von einem Ort aus. Sie müssen sich nicht nach einem anderen Menü umsehen oder dort und dann hierher klicken. Es ist der gleiche Grund, warum die Leute Tastenkombinationen des Webbrowsers verwenden (um neue Tabs / Fenster zu öffnen, um Google Mail zu verwenden usw.). Sie müssen sowieso die URL (oder E-Mail oder was auch immer) eingeben ... warum bewegen Sie Ihre Hand von den Schlüsseln weg?

Aber was am wichtigsten ist: Genau wie Tastenkombinationen am leistungsfähigsten sind, wenn Sie sie alle zusammen verwenden (und nicht nur eine oder zwei), können Sie Befehle verketten, um leistungsfähigere Aufgaben auszuführen, die entweder für immer über die Benutzeroberfläche ausgeführt werden oder die Sie nicht ausführen können. Das kann ich mir gar nicht vorstellen. Beispielsweise können Sie über die Befehlszeile Ihrem Webbrowser mitteilen, dass diese Webseite alle 30 Sekunden aktualisiert werden soll, nach einem bestimmten Text gesucht werden soll, und in diesem Fall eine E-Mail an mich und eine Gruppe von Kontakten senden, in der dieser Text angezeigt wird auf der Webseite. Als weiteres Beispiel können Sie Ihrem Computer mitteilen, dass ich ALLE E-Mails, die ich jemals geschrieben habe, durchsehen, nach einem Verweis auf dieses bestimmte Buch suchen, eine Liste der von mir genannten Daten erstellen und nach wem die Liste sortieren möchte Frequenz, und setzen Sie es in diese E-Mail, die ich gerade schreibe.

Chan-Ho Suh
quelle
Verwendung screenin einer Konsole, verwende ich selten jemals eine Maus , wenn es nicht mehr um eine Website zu navigieren ist. (Niemand sollte Luchs besser erwähnen ...)
Huckle
1
+1 für die Tastaturkürzel. Es ist lächerlich, wie viele Leute behaupten, Linux sei aufgrund der CLI (und damit der Tastatur) schneller zu bedienen, und dennoch wissen sie nicht, wie sie mit der Tastatur unter Windows etwas erreichen sollen. Es ist so, als würde man behaupten, ein Dreirad sei fortgeschrittener und einfacher zu bedienen als ein Fahrrad mit Stützrädern.
Mehrdad
Ich werde als Erster sagen, dass ich Windows-Tastaturkürzel besser kenne als Gnome, aber das liegt daran, dass ich den größten Teil meiner * nix-Zeit auf Servern verbringe. Aber ALT + Leertaste + N, ALT + TAB, ALT + LEERTASTE + M + (Pfeil) haben alle Gnome-Entsprechungen (glaube ich).
Huckle
11

Die CLI ist schnell zu bedienen, wenn Sie genau wissen, was Sie tun möchten und wie Sie es tun müssen. Es kann viel effizienter sein als die Verwendung einer GUI. Wenn Sie eine Remoteverbindung zu Ihrem Computer herstellen möchten, ist die Befehlszeilenschnittstelle für langsame Verbindungen weitaus einfacher. Wenn Sie mit der CLI vertraut sind, können Sie auch die Skripterstellung nutzen.

Wenn Sie cli vs gui googeln, erhalten Sie Tonnen von Treffern, zB:

http://www.computerhope.com/issues/ch000619.htm

Ihre Frage ist nicht wirklich Ubuntu-, Linux- oder sogar PC-spezifisch - Sie erhalten eine Debatte zu diesem Thema von jedem System, das GUI und CLI unterstützt, z. B. die Konfiguration von Cisco-Routern.

Amir
quelle
Bei Konfigurationsdateien besteht ein Vorteil darin, dass Sie nur über die Befehlszeile wissen, was mit der Datei passiert. Wenn Sie einen bestimmten Befehl anhängen, wissen Sie jetzt, dass die Datei diese zusätzliche Zeile enthält. Mit der GUI ist es manchmal tatsächlich unklar, was Sie getan haben oder wie sich das Aktivieren / Deaktivieren des Kontrollkästchens auswirkt. Ich nehme an, der Nachteil ist, dass Konfigurationsdateien schwer lesbar sein können.
Chan-Ho Suh
10

Es gibt eine Reihe guter Punkte in den Antworten, aber ich muss noch einen zusätzlichen Punkt ansprechen. Manchmal startet eine GUI-Anwendung nach einer Installation oder einem Update nicht und hinterlässt keine Fehlermeldungen. In diesen Fällen kann es sehr hilfreich sein, ein Terminalfenster zu öffnen und das ap über die Befehlszeile zu starten. Auf dem Terminal werden fast immer mehr Informationen bereitgestellt, als auf der Benutzeroberfläche angezeigt werden.

fragos
quelle
8

Mein Favorit ist weniger Tippen . Wie kann das sein, höre ich Sie fragen. Nun, ich logge mich ein, suche rückwärts oder gehe nach oben) für einen Befehl, den ich letzte Woche eingegeben habe und drücke Wagenrücklauf. Die Alternative ist viel mehr Mausklicks (und versuchen, sich zu erinnern).

Mein zweiter Favorit ist, dass es einfacher ist, Fragen zum Stapelüberlauf zu beantworten. Es werden keine Screenshots benötigt, nur Text.

Strg-Alt-Delor
quelle
5
+1 für weniger Tippen . Die offensichtliche Frage ist, wie eine Tastaturschnittstelle zu weniger Eingaben führen kann. Sie merken nicht immer, wie oft Sie dieselben Aufgaben immer wieder wiederholen, bis Sie sich Ihren Bash-Verlauf angesehen haben.
Erick Robertson
Ich habe eine kleine Studie über das Drücken von Tasten durchgeführt und dabei Maus und Tastatur verglichen. Dies ignoriert jegliches Gleiten der Maus, nur die Klicks und jeden Tastendruck (Diese Methodik unterschätzt den Aufwand der Maus). Ich habe die Punktzahl / den Aufwand für einige alltägliche Aufgaben mit jeder Methode gezählt. Die einzigen verwendeten Tastenkürzel waren Rückwärtssuche (Strg-R), Pfeiltasten und Tabulator. Niedrigere Punktzahl ist besser. Zusammenfassend lässt sich sagen, dass die Verwendung der Tastatur mit Rückwärtssuche (Strg-R), Pfeiltasten und Tabulatoren für die meisten alltäglichen Aufgaben weniger Aufwand bedeutet als die Verwendung der Maus.
Strg-Alt-Delor
5

Was ist, wenn Sie etwas als "root" tun müssen? Es ist eine schlechte Idee, sich über die GUI als root anzumelden (und ich glaube nicht, dass Ubuntu dies standardmäßig zulässt).

Bedenken Sie auch, dass die Linux-GUI (X11) wie alles andere einfach ein laufendes Programm ist. Sollte X11 abstürzen, sind Sie froh, Ihre Kommandozeile zu kennen.

Aaron
quelle
5

Ich möchte nur mit einem Beispiel, das ich sehr nützlich finde, aus den Anweisungen zum Hinzufügen der PPA für VirtualBox beitragen. Wenn Sie eine PPA hinzufügen, sollten Sie auch den öffentlichen Schlüssel registrieren, also GUI-Methode:

  • Laden Sie den Schlüssel mit Firefox (oder einem anderen Browser) herunter
  • offene Synaptic (oder andere APT-GUI)
  • Suche nach dem richtigen Menüpunkt
  • Suchen Sie nach der heruntergeladenen Datei
  • Endlich bestätigen

Dies in einer Bedienungsanleitung zu erklären, kann teuer sein! Stattdessen kann dies mit einer einzigen und einfachen Befehlszeile erfolgen:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
Pisu
quelle
1
Das Herunterladen von Schlüsseln erfordert jedoch kein menschliches Bewusstsein. Daher ist es unnötig, dies manuell zu tun.
Justinas Dūdėnas
3

Die Befehlszeile funktioniert ziemlich gut wie in Windows. - Erinnern Sie sich daran, dass die Texteingabe im MSDOS-Feld mit dem schwarzen Hintergrund angezeigt wird?

Sie gibt dem Benutzer die Möglichkeit, Befehle direkt an den Computer zu senden, ohne die Ressourcen des Computers zu belasten, die eine grafische Benutzeroberfläche mit sich bringt. Es ist auch eine Möglichkeit, leistungsstarke Befehle auszugeben, um Dinge zu tun, die nicht über eine GUI ausgeführt werden können.

Ich bin nicht begeistert von der Nützlichkeit der GUI-Arbeitsweise, aber in den Händen eines erfahrenen Benutzers kann die Befehlszeilenmethode extrem schnell und effizient sein. In den Händen eines echten Zauberers wirkt die Kommandozeile Wunder. Ich habe kaum die Oberfläche der Möglichkeiten zerkratzt, lerne jeden Tag etwas Neues. Ich werde nie ein Zauberer sein - zu alt -, aber ich möchte eines Tages ein durchschnittlicher Op sein ...

Willkommen bei Ubuntu und bei Ask Ubuntu. Dies ist ein großartiger Ort!

Vic
quelle
3

Für einen Anfänger ist das Terminal eine mühsame Aufgabe, aber wenn Sie anfangen zu lernen, wie man es benutzt, wird es einfacher. Sobald Sie sich damit vertraut fühlen, haben Sie ein sicheres Gefühl, mit Dingen fertig zu werden, wenn sie schief gehen.

Wenn sich ein GUI-Programm beispielsweise weigert, gestartet zu werden, und Sie keine Ahnung haben, was falsch ist, können Sie den Befehl in einem Terminal ausführen und den Grund für das Problem häufig in der Terminalausgabe sehen. Anschließend können Sie einen Teil davon in eine Suche kopieren und bei Bedarf die Antwort finden.

Sie können einen Befehl mit "--help" eingeben und eine Liste der Befehlszeilenoptionen abrufen, die für einige Sonderfälle nützlich sein können.

Wenn etwas schief geht und die GUI überhaupt nicht ausgeführt wird, können Sie häufig ein virtuelles Terminal oder möglicherweise nur eine Befehlszeile vom Start aus öffnen und das Problem beheben, indem Sie eine Konfigurationsdatei bearbeiten oder ein Befehlszeilenprogramm ausführen.

Marty Fried
quelle
2

Einfach ausgedrückt, Sie haben mehr als hundert Tasten, mit denen Sie den Computer steuern / sprechen / bestellen können, anstatt eine einzige Maus mit zwei oder drei Tasten. Je mehr Kontrollen Sie haben, desto schneller können Sie sein.

Für alle, die nicht tippen können, könnte eine Bildschirmtastatur großartig aussehen. Wie schneller Sie auch die Maus verwenden können, Sie können nicht schneller tippen als mit der Tastatur.

Wenn Sie eine Maus oder ein Fenster verwenden, entspricht dies dem Computer, der Sie steuert und diktiert, was Sie tun können. Wenn Sie sich an die Befehlszeilenwelt gewöhnt haben, können Sie fühlen, wie das gesamte System unter Ihrer Kontrolle auf Ihre Bestellung wartet. Sie müssen es erleben, um den Unterschied zu verstehen.

balki
quelle
1

Ich sehe nicht einmal den Grund, eine Antwort abzuhaken, lol. Jedenfalls. Terminal ist wie Ihre CMD unter Windows. Früher, bevor GUI auftauchte, programmierten und arbeiteten die Leute im DOS-Modus, ziemlich normales Terminal. GUI wurde entwickelt, um Aufgaben einfacher und einfacher zu machen, aber manchmal erfordert die Verwendung der GUI mehr Arbeit.

Wenn ich als Entwickler beispielsweise nur ein C ++ - Programm kompilieren möchte, muss ich keine ausgefeilte IDE verwenden. IDE ist eine GUI-Oberfläche mit vielen erweiterten Funktionen, die ein einfacher Texteditor nicht bietet. Anstatt eine wirklich große IDE für eine einfache Aufgabe herunterzuladen, kann ich einfach Folgendes schreiben und mein C ++ - Programm ausführen, dessen ausführbare Datei aufgerufen wird main.

g++ -o main main.cpp
chmod 777 main
./main

Wenn Sie eine Interpretersprache wie Python verwenden, können Sie die interaktive Python-Shell aufrufen. Ja. Es gibt interaktive Shells, die in eine nette GUI eingebettet sind, aber langsamer und fehlerhafter sind (oh man denke an IDLE ...)

Manchmal, wenn die GUI nicht funktioniert, können Sie versuchen, sie mit Terminal zu öffnen. Manchmal bieten einige Linux-Softwareprogramme keine gute GUI, oder es ist sehr schwierig zu finden, wo sich der GUI-Launcher befindet. Gehen Sie einfach zu Terminal und geben Sie Folgendes ein:

xpdf homework.pdf

Dadurch wird die Datei homework.pdf für Sie geöffnet.

In anderen Situationen bietet die grafische Benutzeroberfläche nicht genügend Leistung und Magie, um Ihre Aufgabe zu erledigen. Einige Suchfunktionen sind sehr einfach und Sie können keine Tiefensuche oder komplizierte Suchmuster anwenden. Aber über das Terminal kann ein Befehl mit einem wirklich sehr komplizierten und langen Muster ausgegeben werden.

GUI ist nett, aber manchmal durch Befehle können Sie die Dinge auch einfacher machen. Manchmal haben Sie einfach keine Wahl: Sie müssen Befehle über Terminals verwenden.

CppLearner
quelle
1

Ich würde einen Nebenpunkt hinzufügen, der anscheinend nicht erwähnt wird, auch wenn dies kein echter Vorteil ist.

Denken Sie an die Tatsache, dass die GUI wie ein "Panel" ist, das den Zugriff auf die Funktionen des realen Programms ermöglicht . Viele Softwareprogramme, insbesondere in früheren Versionen, verfügen nicht über eine grafische Benutzeroberfläche und können nur vom Terminal aus ausgeführt werden. Und wie andere betonten, verfügen selbst Anwendungen mit einer grafischen Benutzeroberfläche manchmal nicht über Schnittstellen für alle Funktionen. Für diese Funktionen müssen Sie das Terminal verwenden.

Clabacchio
quelle
0

Jeder hat die Vorteile gut beschrieben, ich möchte nur hinzufügen, dass abgesehen von der Transparenz, bei der Sie alle aufgeführten Abhängigkeiten sehen, die Geschwindigkeit. Nach dem Wegfall von synaptic von Ubuntu ist das Software-Center gerade auf langsameren Rechnern einfach zu lahm, hier ist die Installation vom Terminal aus deutlich schneller.

Arup Roy Chowdhury
quelle
3
Obwohl Synaptic nicht Teil der Standardinstallation ist, kann es dennoch über das Software Center installiert werden.
Fragos