So verwenden Sie den Linux-Befehl

Finden Sie heraus, ob ein Befehl in einen Alias, eine Datenträgerdatei, eine Shell-Funktion, einen integrierten Befehl oder ein reserviertes Wort aufgelöst wird. Verwenden Sie type, um herauszufinden, wie Ihre Linux-Befehle ausgeführt werden, und um Ihr System besser zu verstehen.

Bieten an

Wenn wir ein Terminalfenster öffnen und Befehle an unseren Linux-Computer ausgeben, denken wir selten darüber nach, welche Softwarekomponenten innerhalb des Betriebssystems auf unsere Befehle reagieren und diese für uns ausführen. Wir geben den Befehl ein, rufen das Ergebnis ab und fahren mit unserer Arbeitslast fort.

Wenn wir wissen, wie die Befehle ausgeführt werden, können wir besser verstehen, wie unser Linux oder ein anderes Unix-ähnliches Betriebssystem aufgebaut ist. Ein Blick unter die Haube kann uns zu einem informierteren Fahrer machen.

Die Anweisungen, die wir an die Befehlszeile ausgeben, gehören zu einer der folgenden Kategorien:

Alias: Ein vom Benutzer (oder vom System) definierter Befehl, der andere, normalerweise langwierige oder komplexe Befehlssequenzen verursacht.
Festplattendatei: Eine ausführbare Binärdatei, wie /usr/bin/top.
Shell-Funktion: Eine benutzerdefinierte (oder system-)definierte Funktion, die in der Befehlszeile verwendet oder in Skripts eingebunden werden kann.
Builtin-Befehl: Ein Befehl, der von der Shell selbst ausgeführt wird, z. B. pwd.
Reserviertes Wort: Ein Wort, das von der Shell reserviert wird, z. B. if und elif. Sie werden auch Schlüsselwörter genannt.

Der type-Befehl sagt uns welche Kategorie keiner der Linux-Befehle gehört zu. Hier ist ein kurzes Tutorial, um die Ausgabe des Befehls zu verstehen.

Der Typ Command

Lassen Sie uns einige kurze Beispiele für jede der Befehlskategorien durchgehen.

type date

Der date-Befehl ist eine ausführbare Datenträgerdatei.

type ls

Der ls-Befehl ist ein Alias, der den zugrunde liegenden ls-Befehl umschließt, um standardmäßig die Option –color=auto zu verwenden.

type lowdown

Der Lowdown-Befehl ist eine benutzerdefinierte Funktion, die auf dem Pendler eingerichtet wurde, mit dem dieser Artikel recherchiert wurde. Es bietet eine schnelle Momentaufnahme einiger Systemressourcen. Es ist eine Kombination aus whoami , w , free und df .

type pwd

Der Befehl pwd ist ein integrierter Befehl der Bash-Shell.

type elif

Der Befehl elif ist ein reserviertes Wort der Bash-Shell.

Verwenden mehrerer Befehle

Sie können mehrere Befehle eingeben, um sie gleichzeitig zu identifizieren.

type date top ls

Die Option -t

Keine der Optionen, die dieser Typ akzeptiert, hat Namen. So können wir unser Namensbuch herausholen und es selbst taufen. Wenn Sie sich die Option -t so vorstellen, dass sie für „kurz“ steht, liegen Sie nicht weit falsch. Es reduziert die Antworten vom Typ auf Einzelwortantworten.

type -t date
type -t pwd
type -t lowdown

Die -a-Option

Nennen wir dies die Option „alle“. Es listet alle Speicherorte auf, an denen sich der Befehl befindet. Beachten Sie, dass diese Option nicht funktioniert, wenn Sie auch die Option -p verwenden.

Wenn Sie beispielsweise über einen Alias ​​mit demselben Namen wie der zugrunde liegende Befehl verfügen, können Sie Informationen zum Alias ​​und zum Befehl abrufen.

type -a ls

Die Option -f

Die Option -f erzwingt, dass type nicht nach benutzerdefinierten oder systemdefinierten Funktionen sucht. Stellen Sie sich diese Option als „Funktionssuche aus“ vor. Beachten Sie, dass, wenn es sich bei dem Befehl um eine Funktion handelt, type meldet, dass der Befehl nicht gefunden werden kann.

type -f top
type -f lowdown

Die -P-Option

Wenn Sie die Option -P verwenden, sucht type nur die Verzeichnisse in $PATH. Wir können diese Option also „Pfad“ nennen. Beachten Sie, dass diese Option ein großes „P“ verwendet.

type -P date chmod adduser

Die Option -p

Wenn Sie die Option -p verwenden, reagiert type nur, wenn es sich bei dem Befehl um eine Festplattendatei handelt. Beachten Sie, dass diese Option ein kleines „p“ verwendet.

type -p mount
type -p ls
type -p -a ls

type gibt keine Antwort für ls, da ls ein Alias ​​und keine Plattendatei ist.

Aber wenn wir die Option -a einfügen, damit type nach allen Instanzen des ls-Befehls sucht, listet sie die zugrunde liegende Plattendatei auf, die der ls-Alias ​​verwendet.

Zusammenfassung

Das war schön und einfach, aber trotzdem erhellend.

Wir neigen dazu, alles, was wir in ein Terminalfenster eingeben, als „Befehl“ zu betrachten, und wir belassen es dabei. Aber tatsächlich werden Befehle im Linux-System auf verschiedene Weise implementiert. Und mit Typ können Sie herausfinden, um welche es sich handelt.