Android

Hoe een map toe te voegen aan het pad in Linux

LINUX BASICS IN 3 MINS : $PATH ENVIRONMENT VARIABLE

LINUX BASICS IN 3 MINS : $PATH ENVIRONMENT VARIABLE

Inhoudsopgave:

Anonim

Wanneer u een opdracht op de opdrachtregel typt, zegt u in principe dat de shell een uitvoerbaar bestand met de opgegeven naam moet uitvoeren. In Linux leven deze uitvoerbare programma's zoals ls , find , file en andere gewoonlijk in verschillende mappen op uw systeem. Elk bestand met uitvoerbare machtigingen die in deze mappen zijn opgeslagen, kan vanaf elke locatie worden uitgevoerd. De meest voorkomende mappen met uitvoerbare programma's zijn /bin , /sbin , /usr/sbin , /usr/local/bin en /usr/local/sbin .

Maar hoe weet de shell, welke mappen om te zoeken naar uitvoerbare programma's of doorzoekt de shell het hele bestandssysteem?

Het antwoord is simpel. Wanneer u een opdracht typt, zoekt de shell in alle mappen die zijn opgegeven in de variabele $PATH naar een uitvoerbaar bestand met die naam.

Dit artikel laat zien hoe u mappen kunt toevoegen aan uw $PATH in Linux-systemen.

Wat is $PATH in Linux

De omgevingsvariabele $PATH is een door dubbele punten gescheiden lijst met mappen die de shell vertelt welke mappen moeten worden gezocht naar uitvoerbare bestanden.

Om te controleren welke mappen zich in uw $PATH , kunt u de opdracht printenv of echo gebruiken:

echo $PATH

De uitvoer ziet er ongeveer zo uit:

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

Een map toevoegen aan uw $PATH

Er zijn situaties waarin u misschien andere mappen wilt toevoegen met de variabele $PATH . Sommige programma's kunnen bijvoorbeeld op verschillende locaties zijn geïnstalleerd of u wilt misschien een speciale map voor uw persoonlijke scrips, maar u kunt ze uitvoeren zonder het absolute pad naar de uitvoerbare bestanden op te geven. Om dit te doen, hoeft u alleen de map toe te voegen aan uw $PATH .

Stel dat u een map met de naam bin in uw basismap hebt waarin u uw shellscripts bewaart. Om de map toe te voegen aan uw $PATH typt u in:

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

De export exporteert de gewijzigde variabele naar de shell-kindprocesomgevingen.

U kunt nu uw scripts uitvoeren door de uitvoerbare scriptnaam te typen zonder het uitvoerbare volledige pad te hoeven opgeven.

Deze wijziging is echter slechts tijdelijk en alleen geldig in de huidige shell-sessie.

Om de wijziging permanent te maken, moet u de variabele $PATH definiëren in de shell-configuratiebestanden. In de meeste Linux-distributies worden bij het starten van een nieuwe sessie omgevingsvariabelen gelezen uit de volgende bestanden:

  • Globale shell-specifieke configuratiebestanden zoals /etc/environment en /etc/profile . Gebruik dit bestand als u wilt dat de nieuwe map wordt toegevoegd aan alle systeemgebruikers $PATH .

    Shell-configuratiebestanden per gebruiker. Als u bijvoorbeeld Bash gebruikt, kunt u de variabele $PATH in het bestand ~/.bashrc instellen en als u Zsh gebruikt, is de bestandsnaam ~/.zshrc .

In dit voorbeeld stellen we de variabele in het bestand ~/.bashrc . Open het bestand met uw teksteditor en voeg aan het einde de volgende regel toe:

nano ~/.bashrc ~ /.Bashrc

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

Sla het bestand op en laad het nieuwe $PATH in de huidige shell-sessie met behulp van de opdracht source :

source ~/.bashrc

Om te bevestigen dat de map succesvol is toegevoegd, drukt u de waarde van uw $PATH door te typen:

echo $PATH

Conclusie

Het toevoegen van nieuwe mappen aan uw gebruiker of de globale variabele $PATH is vrij eenvoudig. Hiermee kunt u opdrachten en scripts uitvoeren die op niet-standaardlocaties zijn opgeslagen zonder dat u het volledige pad naar het uitvoerbare bestand hoeft te typen.

Dezelfde instructies zijn van toepassing op elke Linux-distributie, inclusief Ubuntu, CentOS, RHEL, Debian en Linux Mint.

Als je nog vragen hebt, kun je een reactie achterlaten.

terminal