Die Kraft des Kombinierens xargs, cut, tail, grep, seq
überrascht mich. In welcher Ressource sollte ich nach einem Tutorial zu den nützlichsten Linux-Befehlen für Programmierer suchen?
Ich interessiere mich nur für diejenigen, die Programmierer am häufigsten verwenden, was mir das Leben leichter machen wird.
command-line
Wonk Wonk
quelle
quelle
Antworten:
Das Beste, was Sie tun können, um dies zu lernen, ist, Probleme zu finden und zu lösen. Gehen Sie diese Seite durch und sehen Sie sich alle "Wie mache ich X in awk / sed / grep / etc." und probieren Sie sie aus, bevor Sie sich die Antworten ansehen. Schauen Sie, wenn Sie stecken bleiben oder sehen Sie, wie andere es getan haben, wenn Sie einen Weg gefunden haben. Wenn Sie feststellen, dass sich im Terminal etwas wiederholt, halten Sie inne und überlegen Sie, wie Sie möglicherweise ein oder mehrere Dienstprogramme verwenden, um dies zu vereinfachen. Wenn Sie keinen Weg finden, dies zu tun, posten Sie hier und wir werden Sie führen.
quelle
seq
,head
undtail
(zumindest die am häufigsten verwendeten Teile) sind ziemlich trivial. Ich schlage vor, Sie fangen angrep
, sich mit der Suche nach der Hälfte der regulären Ausdrücke vertraut zu machen undsed
(parallel, aber etwas zurückgebliebengrep
) die Ersatzhälfte zu erhalten (die erweitertensed
Befehle für später zu speichern ),awk
weil es dann ein ziemlich mächtiges Werkzeug ist. Dannfind
dannxargs
.Die Unix-Programmierumgebung von Kernighan und Pike ist der Klassiker zu diesem Thema. Es ist uralt, aber noch in gedruckter Form, was Ihnen etwas sagen sollte.
Die Kunst der UNIX-Programmierung von esr ist viel neuer. Ich fand es interessant und hilfreich, aber mit ein bisschen mehr Befürwortung, als ich für notwendig hielt. (Euphemismus für "schäumende Parteilichkeit".) Seien Sie bereit, seine Vergleiche mit anderen Betriebssystemen mit einem Körnchen Salz zu vergleichen, da ich mich erinnere, dass veraltetes [1] Material gefunden wurde, selbst als das Buch neu war und die * ix-Konkurrenten fast ein Jahrzehnt Zeit hatten Fortschritt seit dieser Zeit.
[1] Meistens erinnere ich mich an Schwachstellen in Nicht * ix-Betriebssystemen, die vor der Veröffentlichung des Buches beseitigt worden waren. Das Gleiche wie bei Amateur-Windows- oder Mac- oder Linux-Argumenten im Internet.
quelle
Befolgen Sie den Tagesplan. Beginnen Sie, indem Sie alles in auflisten
/sbin
. Nehmen Sie dann einen Befehl pro Tag und tippen Sieman command
und finden Sie heraus, was es tut. Die wesentlichen Kernbefehle sind alle in/sbin
. Danach machen Sie sich an die Arbeit/bin
und wenn das erledigt ist, machen Sie sich an die Arbeit/usr/sbin
und/usr/bin
. Sie können Ihre Befehlsliste verkürzen, indem Sie einen Befehl mit mehr als 5 Buchstaben im Befehlsnamen überspringen, und Sie werden nicht viele wichtige Dinge verpassen.Aber das Wichtigste ist, dass Sie jeden Tag etwas Neues lernen und wahrscheinlich, bevor Sie die Hälfte der Zeit hinter sich haben, so viel von den Grundlagen verstehen, dass Sie problemlos ein halbes Dutzend neuer Befehle pro Tag erlernen können.
Aber man muss sie benutzen, jeden einzelnen, auch wenn es nur darum geht, mit ihnen zu basteln und Übungen zu machen.
quelle
/sbin
, da der Fragentitel "Für Programmierer" enthält. Auf vielen Systemen/sbin
und/usr/sbin
standardmäßigPATH
nur für root. Ich glaube, Sie haben Recht, sie als "Kern" -Befehle in dem Sinne anzusehen, dass sie Schlüsselbestandteile des Betriebssystems sind, aber sie sind keine Werkzeuge, die Sie beim Programmieren verwenden, so sehr wie die Systemadministration.Eine Möglichkeit ist, einige Blogs zu lesen, die sich auf Unix / Linux spezialisiert haben.
Dieses Blog thegeekstuff, in dem ich gelegentlich schreibe, ist ein guter Anfang ... Einige wichtige Artikel, die Sie interessieren könnten, sind:
Wo gibt es eine Reihe von Tutorials über
sed
undawk
hoffe, es ist nützlich für Sie ...quelle
Für Bash würde ich tldp.org/LDP/abs/html/ auschecken.
quelle
Programmierer haben die einmalige Gelegenheit, Linux zu beherrschen. Bei jeder Gelegenheit, die Sie haben, schreiben Sie ein Shell-Skript, anstatt ein Programm zu schreiben, um eine Aufgabe auszuführen.
Ich habe tatsächlich eine ständige persönliche Herausforderung, alles in Bash zu schreiben, bevor ich ein Programm schreibe - Sie wären erstaunt und verstört.
Was die Empfehlung für ein Buch betrifft, mag es albern erscheinen, aber der Linux Pocket Guide hat einen Ehrenplatz in meinem Bücherregal. Es ist kompakt und hat viele nützliche Linux-Programme. Es zu lesen ist einfach und eine großartige Referenz.
quelle
Unix Power Tools ist sehr interessant, um einige Tricks zu lernen.
quelle
Ich empfehle Ihnen, sich mit diesen Dateien vertraut zu machen: awk1line.txt und sed1line.txt .
quelle
gibt Ihnen eine große Liste nützlicher Befehle, gruppiert nach Kontext.
Sie können dies als Leitfaden verwenden und einen Befehl pro Tag lernen, und natürlich als Repository zum Durchsuchen.
quelle
Ich würde Linux® Command Line und Shell Scripting Bible von Richard Blum hinzufügen . Es ist leicht zu verstehen, praktisch und voller nützlicher Beispiele.
quelle