Jede ausführbare Datei in einem Verzeichnis in Ihrem Pfad kann ein "Befehl" sein. Es kann sich um ein Skript handeln, wie in anderen Antworten vorgeschlagen, aber es kann sich auch um ein kompiliertes Programm in jeder unterstützten Sprache handeln, die Sie kennen.
Aliase funktionieren ebenfalls, sind jedoch begrenzt, da sie "Einzeiler" sind, sodass bei komplizierten Vorgängen schnell Code generiert wird, der sehr schwer zu lesen ist. Da sie im gleichen Variablenbereich wie die Shell ausgeführt werden, in die Sie sie eingeben, können sie leicht unbeabsichtigte Nebenwirkungen haben, z. B. das Verlassen eines anderen Verzeichnisses oder das Definieren von Variablen, die nur von der Aufgabe benötigt werden, die der Alias ausführt. (Natürlich möchten Sie manchmal einen Alias verwenden, da dieser erwünschte Nebenwirkungen hat.)
Wenn Sie Ihre neuen Befehle in einem Verzeichnis in Ihrem Pfad ablegen, können Sie von der Shell gefunden und ausgeführt werden. Am häufigsten werden sie in $ HOME / bin abgelegt. Wenn dieses Verzeichnis existiert, wird es häufig automatisch zu Ihrem Pfad hinzugefügt.
Zwei Dinge, die Sie bei der Einrichtung beachten sollten, sind: 1) Es ist normalerweise am besten, eindeutige Namen für Ihre Befehle zu verwenden, die nicht mit denen übereinstimmen, die bereits auf Ihrem System definiert sind. Es wird viel darüber diskutiert, aber das Wichtigste ist, dass vertraute Befehle keine unerwarteten Ergebnisse haben sollten, wenn jemand anderes Ihr System verwendet. Wenn Sie sich an einen allgemeinen Befehl gewöhnen, der etwas Besonderes ausführt, können Sie Probleme bekommen, wenn Sie auf einem anderen System arbeiten wo es nicht so definiert ist.
2) Sie können $ HOME / bin an den Anfang oder das Ende Ihres Pfades setzen (oder irgendwo dazwischen, aber das wird normalerweise nicht gemacht).
Das Hinzufügen vor Ihrem Pfad ist die bequemste Wahl, da Ihre Version eines Befehls immer diejenige ist, die ausgeführt wird und die schneller gefunden wird. Es ist auch eine Sicherheitslücke, da jeder, der eine Schreibberechtigung für $ HOME / bin erhalten kann (viel einfacher als Root-Zugriff), häufig verwendete Befehle sehr leicht durch potenziell bösartigen Code ersetzen kann. Wenn Sie jemals jemanden um Hilfe bitten müssen, der Ihr System nicht kennt, wird er wahrscheinlich durch das besondere Verhalten Ihrer benutzerdefinierten Befehle gestört, es sei denn, Sie verwenden viel zusätzlichen Aufwand, um alles zusätzlich zu erklären deine Frage stellen.
Das Hinzufügen an das Ende Ihrer Pfadanweisung ist etwas sicherer, da jeder Befehl mit demselben Namen wie Ihr Befehl, der sich bereits in Ihrem Pfad befindet, zuerst gefunden und stattdessen ausgeführt wird .
Um all dies zu vermeiden (auf Kosten einer zusätzlichen Eingabe), können Sie Ihren Befehl auch in einem Verzeichnis ablegen, das sich nicht in Ihrem Pfad befindet, sodass er so gut wie nie ungewollt ausgeführt wird, da Sie den vollständigen Pfadnamen eingeben müssen starte es.
Wie die meisten Dinge in Linux gibt es viele Möglichkeiten, neue Befehle zu erstellen und zu verwenden, und sie haben jeweils ihre eigenen Vor- und Nachteile.