Wenn ich ein benutzerdefiniertes Shell-Skript oder Programme habe, die ich selbst erstellt oder aus dem Internet heruntergeladen habe und die ich über die CLI ausführen möchte, gibt es den Standardspeicherort, um dies in die Linux / Unix-Verzeichnisstruktur aufzunehmen?
/usr/bin ?
/usr/local/bin ?
/usr/lib ?
/usr/sbin ?
/bin ?
/sbin ?
/var ?
Normalerweise lege ich es in meinen Ordner ~ / bin und in PATH, aber es scheint nicht sauber zu sein. Und jedes Mal, wenn ich ein neues Programm heruntergeladen habe, muss ich es erneut in den Pfad setzen.
man hier
.~/bin
ist ein guter Ort für Ihre benutzereigenen Shell-Skripte.Antworten:
/usr/local/bin
existiert genau zu diesem Zweck für die systemweite Installation. Für den privaten Gebrauch~/bin
ist dies der De-facto-Standard.Wenn Sie jede Binärdatei in einem eigenen Unterverzeichnis behalten möchten, können Sie dies tun und einen Symlink zu einem Verzeichnis hinzufügen, das sich bereits in Ihrem befindet
PATH
. So zum Beispielcurl -o $HOME/downloads/fnord http://fnord.example.com/script.exe ln -s $HOME/downloads/fnord $HOME/bin/
zur Verfügung gestellt
$HOME/bin
ist in IhremPATH
. (Es gibt Tools wiestow
diese - und vieles mehr - hinter den Kulissen für Sie.)quelle
bin
ist für alle Arten von ausführbaren Dateien, Skripten oder geeigneten Binärdateien. Wenn Sie möchten, dass sie direkt der Versionskontrollebin
unterliegen, ist es sicherlich eine Option , alle Versionskontrollen durchzuführen. In der Regel haben Sie jedoch für jede oder zumindest jede einzelne Gruppe ein eigenes Projekt. Wenn Sie eine neue Version veröffentlichen, installieren Sie sie in Ihrer eigenenbin
. Oder wenn Sie es ernst meinen mit Hundefutter und / oder zu wenig Überraschungen in Ihrem Leben haben, fügen Sie einen Symlink zu Ihrer Entwicklungsversion in Ihrbin
.Dies kann je nach Unix-Geschmack leicht variieren. Ich gehe hier von Linux aus (obwohl dies für OSX gelten könnte). Gemäß dem Filesystem Hierarchy Standard (FHS) (Link von der Linux Standard Base-Arbeitsgruppe ):
/usr/local/bin
ist oft standardmäßig auf dem Weg.Beachten Sie, dass Sie nur die ausführbare Datei oder einen Link dazu einfügen sollten
/usr/local/bin
, der Rest muss möglicherweise in/usr/local/lib
oder gehen/usr/local/share
.Der
/opt
Baum könnte auch sinnvoll sein:(Sie können Ihre eigene Verbindung von machen
/opt/your-package/bin/executable
in/opt/bin
und setzen/opt/bin
auf das ,PATH
wenn es nicht bereits vorhanden ist.)quelle