Fast jedes Programmiertool verfügt über eine Befehlszeilenversion. Viele von ihnen haben auch eine GUI-Version. Das Erlernen der verschiedenen Befehle und Optionen / Schalter der Befehlszeilenversion erfordert viel Zeit und Mühe.
Ich habe also ein paar Fragen (die sich nicht unbedingt gegenseitig ausschließen):
1) Wann würden Sie sich die Mühe machen, die Befehle in der Befehlszeilenversion eines Tools zu lernen / zu speichern, das auch in einer GUI-Version vorliegt?
2) Von welchen Tools soll ich die Kommandozeilenversion lernen? .... Compiler? Versionskontrollsystem? etc, etc
learning
command-line
erforschen
quelle
quelle
Antworten:
Ich sehe zwei Gründe, warum Sie die Befehlszeilenoptionen eines Programms lernen sollten:
Wenn Sie das Programm auf irgendeine Weise automatisieren müssen - Skripte erstellen, Stapelverarbeitung usw.
Wenn Sie das Verhalten des Programms optimieren müssen, reduzieren Sie den Speicherbedarf usw.
Welche Tools Sie lernen sollten - nun, das hängt ganz davon ab, was Sie als Nächstes tun möchten.
quelle
Viele gute Antworten schon. Ich füge noch einen zusätzlichen Standpunkt hinzu.
Sie ersetzen die GUI durch Befehlszeilentools, wenn Sie den Menschen aus der Gleichung / dem Prozess herausholen möchten. Einige Gründe und / oder Vorteile dafür:
Wann soll es gemacht werden? Wenn du es findest, dich zu wiederholen.
Natürlich gibt es Platz und Zeit für die GUI. Aber wenn Sie wirklich die Leistung von Computern nutzen und auf der Welle von Moores Gesetzen surfen möchten, müssen Sie lernen, wie Sie Skripte für Ihre Aufgaben erstellen.
Bearbeiten : Extra Bonus. Du darfst dieses T-Shirt tragen :)
quelle
Minen sind:
1) Um produktiver zu werden . Für mich ist es schneller, Dinge in einer Shell zu erledigen, als nur zu klicken. Ich spreche über die Verwendung eines Tools, nicht über das Einrichten eines Dienstes / Tools / usw., da es manchmal schneller ist, einen Assistenten zu haben und einfach darauf zu klicken
Next
Next
Next
, obwohl diese Assistenten auch in Befehlszeilenversionen vorhanden sind :)2) So verwenden Sie die Befehlszeilenversion in Ihren Anwendungen. Angenommen, Sie möchten eine PDF- Datei in eine Textdatei konvertieren . Wenn Sie die GUI-Version verwenden, ist dies in Ordnung. Wenn es jedoch auch eine Befehlszeilenschnittstelle bietet, über die Sie Folgendes ausführen können:
./pdf2text input.pdf output.txt
Wenn Sie eine Anwendung entwickeln müssen, die Text aus einer PDF-Datei liest, können Sie sie problemlos verwenden, ohne APIs zu verwenden oder einige Änderungen vorzunehmen. .3) Um die allgemeinen Dinge einer Anwendung zu lernen. Zum Beispiel, wenn Sie diff unter Windows installiert haben und ein Front-End zum Vergleichen von zwei Dateien. Das ist perfekt. Aber was ist, wenn Sie es unter Linux verwenden müssen ? Sie können das gleiche Front-End für Linux finden, aber was ist, wenn es nicht existiert? Sie müssen noch einmal lernen, wie man es unter Linux benutzt, ein neues Front-End installieren und sich daran gewöhnen, damit zu arbeiten. Wenn Sie gelernt hätten, wie man die Kommandozeilenversion benutzt, hätten Sie sie nicht gebraucht;)
Über 3) ... einige Leute haben viele Probleme, sich an die Arbeit mit Git unter Windows zu gewöhnen . Sie sagen, dass es unter Windows keine guten Frontends gibt, aber wenn Sie nur die Befehlszeilenmethode erlernen, werden Sie keine Probleme haben. Das funktioniert genauso. Das Problem ist natürlich, dass die Leute manchmal Angst vor der Kommandozeile haben ;)
Ich schlage vor, Sie lernen Befehlszeilenversionen von:
quelle
vimdiff
ist auch ein Kommandozeilen-Tool, nicht wahr ?gvimdiff
Warum müssen Sie die Parametersyntax in den Speicher schreiben? Das ist, warum
man
existiert und--help
(/?
wenn Sie in Winblowz Land sind).Ich finde, ich kann die Optionen für fast alles in weniger als einer Minute nachschlagen. Das Ziel ist es, sich zu merken, was die Befehle bewirken , damit Sie wissen, was Sie nachschlagen müssen!
quelle
Pragmatisch kommt es darauf an, ob dem GUI-Tool ein Feature fehlt oder ob es über die Befehlszeile schneller ist.
Der Nebeneffekt der Verwendung einer Befehlszeile ist jedoch, dass Sie mit größerer Wahrscheinlichkeit die Dokumentation lesen und herausfinden, was wirklich vor sich geht. Insbesondere bei Ihrem Beispiel für die Versionskontrolle bringt Ihnen dies einiges bei, wenn Sie dies über die Befehlszeile tun.
quelle
Sie müssen sich die Optionen für den Compiler oder make jedoch nicht merken. Sobald diese für das Projekt eingerichtet sind, müssen Sie sie nicht mehr häufig ändern.
quelle
Die Vorteile des Lernens eines Befehlszeilentools stehen meines Erachtens in keinem Verhältnis zu den Vorteilen der Verwendung der grafischen Benutzeroberfläche. Es gibt viele Fälle, in denen die GUI Funktionen verliert. Es ist jedoch nicht fair zu sagen, dass dies immer der Fall ist (z. B. bei cmake unter Windows - es gibt keinen Grund, die Befehlszeile außerhalb der normalen Umstände zu verwenden).
Was das Speichern angeht, muss der Befehlssatz dieses Programms beim ersten Gebrauch nicht besonders beachtet werden. Setzen Sie einfach ein Lesezeichen für das Handbuch (wenn Sie das Online-Handbuch verwenden, verwenden Sie andernfalls "man" unter * nix), und wenn Sie eine bestimmte Funktionalität benötigen (die Sie nicht gespeichert haben), lesen Sie einfach das Handbuch. Das Auswendiglernen dieser Dinge sollte natürlich von Nutzen sein. Zum Beispiel führe ich "tar" und "gzip" sehr oft von der Kommandozeile aus, aber ich müsste auf das Handbuch verweisen, um Aufgaben zu erledigen, die ich normalerweise nicht erledige.
Vor allem, wenn Sie ein Produkt versenden oder eine Art Quellcode oder auf andere Weise an einen anderen Entwickler senden, ist es viel einfacher, ein Skelett von Befehlen einzuschließen, als detaillierte Anweisungen zur Verwendung der GUI zu verfassen. Wenn der Entwickler die von Ihnen verwendeten Befehlszeilenoptionen nicht versteht, kann er sie einfach nachschlagen. Jemandem eine GUI zu erklären, ist nicht immer die portabelste Lösung.
Grüße,
Dennis M.
quelle
Alles, damit Sie bei der Entwicklung nicht auf X11 / Windows angewiesen sind. Es ist schön, sich komplett aus einem Terminal entwickeln zu können.
quelle
Kurze Antwort: Die beste Zeit zum Ändern (dh Verwenden der Befehlszeile) ist JETZT . Echte Männer benutzen Tastatur. Echte Männer klicken NICHT. Zeitraum.
Längere Antwort: Auf lange Sicht können / werden / sollten Sie durch die Verwendung der Befehlszeile nicht nur produktiver und damit wertvoller (weniger wahrscheinlich), sondern auch schlauer (aufgrund erheblicher Übung / Auswendiglernen) und gesünder (weil ...) werden Die gleichzeitige Verwendung beider Hände in der Befehlszeilenschnittstelle anstelle einer Maus ist aus ergonomischen Gründen besser geeignet.
Hier ist ein sehr empfehlenswerter Artikel / Aufsatz, " Warum Windows Dummheit verursacht ", unter http://www.over-yonder.net/~fullermd/rants/winstupid/1
quelle
Ich bin mir nicht sicher, ob Sie jemals versuchen sollten, die Schalter in einem Befehlszeilentool auswendig zu lernen. Wenn Sie ein Shell-Skript erstellen oder was auch immer, um eine Aufgabe zu automatisieren, sollten Sie das ganze Zeug nachschlagen - verbringen Sie die 30 Sekunden jetzt, um stundenlange Schmerzen zu vermeiden, wenn Sie herausfinden, was später schief gelaufen ist. Wenn Sie immer und immer wieder dasselbe Befehlszeilentool verwenden, sollten Sie vielleicht ein Shell-Skript erstellen ...
quelle