Beispiele für Befehle Ich beziehe mich sind ls
, pwd
und cd
. Wie werden diese gebaut? Hast du ein beispiel
command-line
source
coreutils
fronthem
quelle
quelle
Antworten:
Es ist normalerweise klar
C
. Die Befehlels
undpwd
stammen aus demGNU Coreutils
Paket in (den meisten?) Linux-Distributionen (und möglicherweise einigen anderen Systemen). Sie finden den Code auf ihrer Homepage .Für
coreutils
speziell bauen Sie sie mit den üblichen Schritten: nach dem Entpacken des Quellcodes, Ausgabe:Seien Sie vorsichtig - die Installation von Basisdienstprogrammen wie denen über der Kopie Ihrer Distribution ist eine schlechte Idee . Verwenden Sie dazu den Paketmanager, mit dem Ihr System geliefert wird. Sie können jedoch unter einem anderen Präfix installieren (die Installation irgendwo in Ihrem Home-Verzeichnis ist eine gute Idee, wenn Sie experimentieren möchten).
Beachten Sie, dass es zwar eine
cd
ausführbare Datei gibt , die voncd
Ihnen in den meisten Fällen jedoch keine separate ausführbare Datei ist. Es muss ein Shell-Build sein (andernfalls kann das aktuelle Verzeichnis der Shell nicht geändert werden - dies muss vom Prozess selbst durchgeführt werden), daher wird es in derselben Sprache wie die Shell geschrieben (was häufigC
auch der Fall ist ).Andere Beispiele:
pwd
Quelle.ls
Sie können viele weitere davon online finden.
quelle
Nur um Mats Antwort ein wenig mehr hinzuzufügen, obwohl Unix diese als eigenständige Programme implementiert, werden viele Befehle auch in
bash
derbash
Manpage implementiert (um zu verhindern, dass ein neuer Prozess erzeugt werden muss). Weitere Informationen finden Sie in der Manpage oder in der Shell -builtin Tag.bash
ist auch in C geschriebenEs kann erwähnenswert, dass diese Befehle nicht haben in C werden geschrieben - in der Tat, mehrere Mini - Linux - Distribution verwenden
lua
Implementierungen von diesen und anderen.quelle
cd
eine integrierte Shell sein müssen, um effektiv zu funktionieren.