Ich habe sechs Verzeichnisse mit Befehlsdateien. Diese sind /bin
, /sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
und /usr/local/sbin
.
Was sind die Unterschiede zwischen diesen? Wenn ich meine eigenen Skripte schreibe, wo soll ich sie hinzufügen?
Verbunden:
Antworten:
Bitte beachten Sie hierzu den Filesystem Hierarchy Standard (FHS) für Linux .
/bin
: Für Binärdateien, die vor dem/usr
Mounten der Partition verwendet werden können. Dies wird für triviale Binärdateien verwendet, die in der sehr frühen Startphase verwendet wurden oder die im Start-Einzelbenutzermodus verfügbar sein müssen. Denken Sie an Binärdateien wiecat
,ls
usw./sbin
: Gleich, aber für Binärdateien mit Superuser-Rechten (Root-Rechten) erforderlich ./usr/bin
: Wie zuerst, aber für allgemeine systemweite Binärdateien ./usr/sbin
: Wie oben, jedoch für Binärdateien mit Superuser-Rechten (Root-Rechten) erforderlich.Nichts des oben Genannten. Sie sollten
/usr/local/bin
oder/usr/local/sbin
für systemweit verfügbare Skripte verwenden. Derlocal
Pfad bedeutet, dass er nicht von den Systempaketen verwaltet wird (dies ist ein Fehler bei Debian / Ubuntu-Paketen).Für Benutzer-scoped Skripte verwenden
~/bin
(einen persönlichen Binärordner in Ihrem Home - Verzeichnis).Die FHS sagt für
/usr/local
:quelle
/bin
Verursacht das Einfügen von Skripten Probleme? Ich habe meine Skripte gemäß Ihrer Antwort verschoben, aber ich bin immer noch neugierigSeverity:Serious Certainty:Certain
ls -la
zeigt nichts anIch hatte selbst vor einem Jahr eine ähnliche Frage: Bestes Verzeichnis, um meine Bash-Skripte zu platzieren?
Systemverzeichnisse für Binärdateien
man hier
(Hierarchie) listet alle Verzeichnisse auf. Um die nur für Binärdateien zu erhalten, verwenden Sie:Wo können Sie Ihre eigenen Skripte ablegen?
Damit alle Benutzer auf Ihre Skripte zugreifen können, können Sie sie eingeben
/usr/local/bin
. Denken Sie daran, dass Sie hiersudo
Zugriff zum Hinzufügen / Ändern von Dateien benötigen . Siehe: Gibt es einen Standardspeicherort für benutzerdefinierte Linux-Skripte?Fügen Sie Skripte für Ihre eigene Benutzer-ID ein
/home/YOUR_NAME/bin
. Denken Sie daran, dass Sie zuerst dieses Verzeichnis erstellen und das Terminal neu starten müssen, damit der Pfad von automatisch eingerichtet wird~/.profile
. Siehe: Wie füge ich / home / username / bin zu $ PATH hinzu?Was ich weiß, weiß ich nicht
Ich denke darüber nach, einige meiner komplexeren Bash-Skripte in Ask Ubuntu zu verwenden und sie mit install-Skripten einzurichten
github
. Hier einige Beispiele:Ich denke, die Skripte sollten
/usr/bin
in dem $ PATH installiert werden , aber ich bin mir noch nicht sicher, an welcher Stelle sie sich befinden.quelle
man hier
Abschnitt, den Gertvdijks Antwort nicht ansprach. dh Sie können die verzeichnishierarchische Struktur in der Befehlszeile abrufen, ohne sie im Web lesen zu müssen (dh hier).man hier
ein informativ unzureichender Auszug aus IMO ist). Dies kann jedoch meine persönliche Meinung sein./usr/X11R6/bin
und/usr/local/bin
die in enthalten istman heir
./usr/local/bin
weil Sie nicht der Paketmanager sind?