Wenn ich den type
Befehl verwende, um herauszufinden, ob cat
eine Shell oder ein externes Programm eingebaut ist, erhalte ich die folgende Ausgabe:
-$ type cat
cat is hashed (/bin/cat)
-$
Bedeutet das, dass cat
es sich um ein externes Programm handelt /bin/cat
?
Ich war verwirrt, denn als ich die Ausgabe unten überprüfte, stellte echo
ich fest, dass es sich um ein built-in
aber auch ein Programm handelt/bin/echo
-$ type echo
echo is a shell builtin
-$ which echo
/bin/echo
-$
Also konnte ich die Logik nicht nutzen, die /bin/cat
zwangsläufig ein externes Programm bedeutet, da Echo /bin/echo
doch noch eingebaut war.
Woher weiß ich, was cat
ist? Eingebaut oder extern?
type which
Ich könnte dir die Antwort geben, warum which
ich dir die Antwort nicht geben werde.
cat
und ls
sind / wurden von Stallman selbst geschrieben. Sie wären überrascht, wie viel er geschrieben hat. Vergessen Sie nicht, dass er die ersten Versionen des Compilers geschrieben hat, der heute der beste Compiler der Welt ist, der ALLES und die meisten Kern-Utils kompiliert. Sagen Sie es einfach