Bis zu einem gewissen Grad kann man das sagen. Das ist aber nicht unbedingt wahr. Ich denke, Sie sollten dies eher als „Fähigkeit, mehr zu erreichen“ mit einem simplen Designansatz verstehen. Und um einfach zu sein, müssen Sie die Aufgabe in leicht verständliche und leicht zu montierende Teile unterteilen. Die UNIX-Philosophie, offen mit Ihnen umzugehen, kann anhand des folgenden Beispiels erläutert werden.
Alle Programmierung ist eine Art Datenmanipulation! Und in manchen Fällen ist Programmierung auch Programmmanipulation selbst (Metaprogrammierung). Nun funktioniert die UNIX-Philosophie wie folgt: Stellen Sie sich vor, Sie verarbeiten Text. Was ist Text? Text ist schließlich eine Art von Daten. Beim Zusammenfügen in eine organisierte Definition wird Text auch zu XML und JSON. Text kann auch eine Liste von Zahlen sein, Text kann auch CSV's, TSV's und was nicht! In anderen Fällen kann Text oder Zeichenfolge einen wirklich großen Bereich von Programmierdaten darstellen, nur weil sein Kontext sich verdrehen und in das verwandeln lässt, was wir wollen!
Die gesamte Programmierung erfordert eine Art Datenorganisation. Organisation erfordert Suche ...
ein. Da muss man einfach mit 'grep', 'fgrep' und seiner Familie das machen.
Sobald Sie suchen, müssen Sie etwas sortieren.
b. Jetzt haben wir den Befehl 'sort', um das zu tun.
Sie haben gerade zwei Dateien sortiert und möchten sie nun vergleichen.
c. Jetzt haben wir 'diff', 'cmp' und andere, um das zu tun.
Sie haben gerade festgestellt, dass es keinen Unterschied zwischen den Dateien gibt. Sie benötigen jetzt mehr organisierte Daten.
d. Sie haben 'cat', Pipes und Umleitungsoperatoren, um in eine Datei zu schreiben.
Sie benötigen eine genauere Analyse.
e. Sie haben Kopf, Schwanz, mehr, weniger, schneiden usw., um das zu tun ...
Alles zusammennähen mit dem '|' um einige Zeit wirklich mächtiges Zeug zu generieren, ohne überhaupt Code zu schreiben. Für mehr Suchen und Nähen haben Sie ..
f. awk, shell und sed.
awk, shell und sed geben Ihnen mehr Kontrolle über den Text, als Sie von diff et al. Haben Sie sich jemals über diesen Befehl gewundert1 | befehl2 | Die Serie command3 ... ist eine Art Workflow-Mechanismus. In Kombination mit If's wird dies leistungsfähiger.
Jetzt kommt noch mehr Spaß.
Haben Sie jemals von einem Hilfsprogramm namens 'Perl' gehört , das so leistungsstark ist, dass Sie praktisch jede Aufgabe mit so wenig Arbeit erledigen können, wie Sie es sich vorstellen können? In Verbindung mit einem Dienstprogramm wie DBM können Sie selbst geringe Anforderungen an die Zeitbeständigkeit Ihrer Anwendung erfüllen. Denken Sie daran, wir sind noch nicht einmal aus der Textwelt herausgetreten, haben es jedoch geschafft, die meisten Aspekte einer Programmierumgebung abzudecken.
Ich denke also, UNIX ist mehr als ein Betriebssystem. Es handelt sich um eine Sammlung von Tools und Umgebungen, mit denen die Probleme auf einfachste Weise gelöst werden können. Ein einfacher Weg impliziert nicht unbedingt eine einfache Implementierung der Lösung. Aber die Einfachheit selbst bringt Sie nicht weit.
Ich habe dies einige wo auf reddit gelesen.
"Wenn Ihr einziges Konstruktionsziel die Einfachheit ist, erhalten Sie so viele Benutzer wie Plan9."