Wenn eine Organisation Unix-ähnliche Betriebssysteme verwendet, sollten alle Entwickler die grundlegenden Terminalbefehle kennen, um in der Dateistruktur zu navigieren, neue Dateien und Verzeichnisse zu erstellen, Dateien zu löschen, Tools zum Erstellen von Befehlszeilen zu verwenden, die Versionskontrolle in der Befehlszeile zu verwenden und Möglicherweise grundlegende Shell-Skripte, um sich wiederholende Aufgaben zu automatisieren. Meiner Meinung nach ist die Leistung des Terminals und die Verfügbarkeit von Befehlszeilentools auf Unix-ähnlichen Systemen ein großer Vorteil, zusammen mit der einfachen Möglichkeit, Skripte zu schreiben, um eine Reihe komplexer Aufgaben zu automatisieren, die Sie möglicherweise regelmäßig ausführen Basis.
Es gibt eine Reihe von Befehlszeilenanwendungen, mit denen Sie sich möglicherweise vertraut machen möchten. Werkzeuge wie cat
, grep
, head
, tail
, more
, und less
für eine Reihe von Aufgaben nützlich sein, im Bereich von Dateien suchen durch Textübereinstimmungen zu finden, durch Log - Dateien zu lesen in Debuggen von Anwendungen zu unterstützen. Die Möglichkeit, Pipes und Feed-Ausgaben über diese Anwendungen zu verwenden, ist auch hilfreich, um die verfügbaren Informationen zu analysieren.
Kenntnisse eines der wichtigsten Texteditoren (vi oder emacs) wären ebenfalls hilfreich. Welches Sie verwenden, ist eine persönliche Meinung, aber ich würde empfehlen, das zu verwenden, was Ihr Team verwendet (auf diese Weise gibt es jemanden in Ihrem Team, der Fragen beantwortet, wenn Sie Fragen haben). Nach meinen Erfahrungen bevorzugen viele "Hardcore" -Unix-Entwickler diese Tools gegenüber IDEs. Ich selbst bevorzuge eine IDE (auch in einer Unix-ähnlichen Umgebung), aber Texteditoren haben ihre Vorteile beim Lesen von Dateien. Ihre Befehlszeilennatur erleichtert das Durchsuchen von Dateien mit den im letzten Absatz erwähnten Tools und das anschließende Öffnen aller übereinstimmenden Dateien in einem dieser Editoren.
Neben der Verwendung der mit dem Betriebssystem gelieferten Tools sollten Sie auch die Unterschiede in den Bibliotheken berücksichtigen. Bibliotheken, die Systemaufrufe ausführen (z. B. Threading), unterscheiden sich wahrscheinlich zwischen den Betriebssystemen. Makefiles, die Flags zum Kompilieren auf einer bestimmten Architektur oder für ein bestimmtes Betriebssystem haben, können ebenfalls Probleme verursachen. Wenn Sie wissen, welche Betriebssysteme verwendet werden, wird dies einfacher. Sie finden Referenzen, die sich mit der Implementierung bestimmter Funktionen in diesem Betriebssystem befassen. Dies ist jedoch etwas, von dem ich erwarten würde, dass Sie es bei der Arbeit erledigen können (insbesondere für Betriebssysteme, die normalerweise in Unternehmensumgebungen verwendet werden und auf die Einzelpersonen nicht häufig Zugriff haben, wie z. B. Solaris).