Was sind Shell-integrierte Befehle und wie werden sie identifiziert?
Unter Linux werden mehrere Befehle in den Speicher geladen, wenn ein Benutzer die Shell startet. Diese Befehle sind Teil der Shell, auch als Shell-eingebaute Befehle bezeichnet.
In diesem Artikel werden wir Shell-Builtins im Detail besprechen, zusammen mit einer Anleitung, wie Sie überprüfen können, ob ein Linux-Befehl Shell-Builtin ist.
Was sind Shell Builtins?
![Was sind Shell-integrierte Befehle und wie werden sie identifiziert? - bash builtins manpage e1621573115724](https://static1.makeuseofimages.com/wordpress/wp-content/uploads/2021/05/bash-builtins-manpage-e1621573115724.png)
Shell-Buildins sind, wie der Name schon sagt, Befehle, die in die Shell integriert sind. Dies liegt daran, dass häufig verwendete Befehle schneller aus dem RAM ausgeführt werden können, als dass sie auf der Festplatte nachgeschlagen werden. Shell-Entwickler sind der Meinung, dass dies ein guter Kompromiss ist, da das Laden von Daten aus dem Speicher im Vergleich zu Festplatten schneller ist.
Ein häufiges Beispiel in vielen modernen Shells ist der Befehl cd zum Ändern von Verzeichnissen. Da Sie diesen Befehl in einer einzelnen Sitzung häufig verwenden, ist es sinnvoll, ihn zur schnelleren Ausführung in den Speicher zu laden.
Wie identifiziere ich einen eingebauten Shell-Befehl?
Um zu bestimmen , ob ein Befehl , ein regulärer Befehl oder eine Shell – builtin ist, verwenden , um den Typ – Befehl. Die grundlegende Syntax zum Überprüfen, ob ein Linux-Befehl eine integrierte Shell ist, lautet:
type -t commandname
… wobei Befehlsname der Name des Befehls ist, den Sie überprüfen möchten.
So überprüfen Sie beispielsweise, ob der Befehl cd eine integrierte Shell ist:
type -t cd
Ausgabe:
builtin
Wenn in der Ausgabe etwas anderes als die integrierte Datei angezeigt wird , z. B. eine Datei oder ein Alias , ist der Befehl kein integrierter Shell-Befehl.
In Bash können Sie auch den Befehl -v verwenden, um festzustellen, ob es sich bei einem Befehl um eine integrierte Shell handelt. Die Ausgabe zeigt den Befehlsnamen an, wenn es sich um eine integrierte Ausgabe handelt. So überprüfen Sie beispielsweise, ob der Befehl cd eine integrierte Shell ist:
command -v cd
Alternativ können Sie auch den Befehl which verwenden . Dieser Befehl gibt den absoluten Pfadnamen eines Befehls an oder ob es sich um eine integrierte Shell oder einen Alias handelt. Der Befehl which kann abhängig von der verwendeten Shell eine selbst erstellte Shell sein.
![Was sind Shell-integrierte Befehle und wie werden sie identifiziert? - zsh which](https://static1.makeuseofimages.com/wordpress/wp-content/uploads/2021/05/zsh-which.png)
Auf der Handbuchseite einer Shell werden auch die integrierten Befehle der Shell aufgelistet. Zsh widmet Builtins eine ganze Seite . Dies ist nicht verwunderlich, wenn man bedenkt, wie umfangreich zsh ist, was es so vielen Power-Usern gefällt.
Da verschiedene Shells unterschiedliche integrierte Funktionen haben, kann ein gemeinsames Dienstprogramm, bei dem es sich möglicherweise um eine integrierte Shell handelt, auch als eigenständige ausführbare Datei auf einem System vorhanden sein. Wenn Sie einen regulären Befehl verwenden möchten, verwenden Sie einfach dessen absoluten Pfadnamen.
Jetzt kennen Sie den Unterschied zwischen regulären Befehlen und Shell-Builtins
Selbst moderne Low-End-Computer, die viel leistungsfähiger sind als die Minicomputer der ursprünglichen Unix-Ära, können Shell-Entwickler mehr integrierte Funktionen verwenden, um das System zu beschleunigen. Sie können die integrierten Shell-Funktionen nutzen, während Sie weiterhin reguläre Befehle verwenden, wenn Sie bestimmte Optionen benötigen.
Unterschiedliche Schalen haben unterschiedliche Merkmale und daher unterschiedliche Einbauten. Die Auswahl der richtigen Shell hängt davon ab, welche Funktionen für Sie wichtig sind.