Android

Wie man ein Verzeichnis zum Pfad in Linux hinzufügt

Linux Mint/Ubuntu Tutorial: Terminal für Anfänger [Neu]

Linux Mint/Ubuntu Tutorial: Terminal für Anfänger [Neu]

Inhaltsverzeichnis:

Anonim

Wenn Sie einen Befehl in die Befehlszeile eingeben, weisen Sie die Shell an, eine ausführbare Datei mit dem angegebenen Namen auszuführen. Unter Linux befinden sich diese ausführbaren Programme wie ls , find , file und andere normalerweise in mehreren verschiedenen Verzeichnissen auf Ihrem System. Jede Datei mit ausführbaren Berechtigungen, die in diesen Verzeichnissen gespeichert ist, kann von jedem Ort aus ausgeführt werden. Die am häufigsten verwendeten Verzeichnisse für ausführbare Programme sind /bin , /sbin , /usr/sbin , /usr/local/bin und /usr/local/sbin .

Aber woher weiß die Shell, in welchen Verzeichnissen nach ausführbaren Programmen gesucht werden soll, oder durchsucht sie das gesamte Dateisystem?

Die Antwort ist einfach. Wenn Sie einen Befehl eingeben, durchsucht die Shell alle in der Benutzervariablen $PATH angegebenen Verzeichnisse nach einer ausführbaren Datei mit diesem Namen.

Dieser Artikel beschreibt das Hinzufügen von Verzeichnissen zu Ihrem $PATH in Linux-Systemen.

Was ist $PATH unter Linux?

Die Umgebungsvariable $PATH ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, die der Shell mitteilt, welche Verzeichnisse nach ausführbaren Dateien durchsucht werden sollen.

Um zu überprüfen, welche Verzeichnisse sich in Ihrem $PATH , können Sie entweder den Befehl printenv oder den Befehl echo :

echo $PATH

Die Ausgabe sieht ungefähr so ​​aus:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Hinzufügen eines Verzeichnisses zu Ihrem $PATH

Es gibt Situationen, in denen Sie die Variable $PATH anderen Verzeichnissen hinzufügen möchten. Beispielsweise können einige Programme an verschiedenen Speicherorten installiert sein oder Sie möchten möglicherweise ein dediziertes Verzeichnis für Ihre persönlichen Skripte, können diese jedoch ausführen, ohne den absoluten Pfad zu den ausführbaren Dateien anzugeben. Dazu müssen Sie lediglich das Verzeichnis zu Ihrem $PATH hinzufügen.

Angenommen, Sie haben ein Verzeichnis namens bin in Ihrem Ausgangsverzeichnis, in dem Sie Ihre Shell-Skripte aufbewahren. Um das Verzeichnis zu Ihrem $PATH hinzuzufügen, geben Sie $PATH ein:

export PATH="$HOME/bin:$PATH"

Der Befehl export exportiert die geänderte Variable in die untergeordneten Shell-Prozessumgebungen.

Sie können Ihre Skripts jetzt einfach ausführen, indem Sie den Namen des ausführbaren Skripts eingeben, ohne den vollständigen Pfad der ausführbaren Datei angeben zu müssen.

Diese Änderung ist jedoch nur vorübergehend und nur in der aktuellen Shell-Sitzung gültig.

Um die Änderung dauerhaft zu machen, müssen Sie die Variable $PATH in den Shell-Konfigurationsdateien definieren. In den meisten Linux-Distributionen werden beim Starten einer neuen Sitzung Umgebungsvariablen aus den folgenden Dateien gelesen:

  • Globale Shell-spezifische Konfigurationsdateien wie /etc/environment und /etc/profile . Verwenden Sie diese Datei, wenn das neue Verzeichnis allen Systembenutzern $PATH hinzugefügt werden soll.

    Shell-spezifische Konfigurationsdateien für jeden Benutzer. Wenn Sie beispielsweise Bash verwenden, können Sie die Variable $PATH in der Datei ~/.bashrc , und wenn Sie Zsh verwenden, lautet der Dateiname ~/.zshrc .

In diesem Beispiel setzen wir die Variable in der Datei ~/.bashrc . Öffnen Sie die Datei mit Ihrem Texteditor und fügen Sie am Ende die folgende Zeile hinzu:

nano ~/.bashrc ~ /.bashrc

export PATH="$HOME/bin:$PATH"

Speichern Sie die Datei und laden Sie den neuen $PATH mit dem Befehl source in die aktuelle Shell-Sitzung:

source ~/.bashrc

Um zu bestätigen, dass das Verzeichnis erfolgreich hinzugefügt wurde, geben Sie den Wert Ihres $PATH :

echo $PATH

Fazit

Das Hinzufügen neuer Verzeichnisse zu Ihrem Benutzer oder zur globalen Variablen $PATH ist ziemlich einfach. Auf diese Weise können Sie Befehle und Skripten ausführen, die an nicht standardmäßigen Speicherorten gespeichert sind, ohne den vollständigen Pfad zur ausführbaren Datei eingeben zu müssen.

Die gleichen Anweisungen gelten für alle Linux-Distributionen, einschließlich Ubuntu, CentOS, RHEL, Debian und Linux Mint.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.

Terminal