Directory toevoegen aan pad in Linux

Add Directory Path Linux



Elke keer dat u een opdracht uitvoert op een Linux-terminal, geeft u in feite de shell opdracht om een ​​uitvoerbaar programma uit te voeren met de opgegeven naam. Uitvoerbare programma's, inclusief eenvoudige programma's zoals ls, mkdir, touch en find, bevinden zich in speciale mappen op het bestandssysteem. In Linux omvatten mappen die dergelijke uitvoerbare programma's bevatten:

/usr/sbin
/ben/usr/lokaal/ben
/usr/lokaal/ben
/ben
/usr/ben
/snap/ben
/sbin
/usr/spellen
/usr/lokaal/spellen

Een bestand met uitvoerbare machtigingen in een van die mappen kan vanaf elke locatie binnen de Linux-terminal worden uitgevoerd.







Dus, de vraag smeekt, hoe weet de Linux-shell waar hij naar de programma's moet zoeken? Het begint de zoekopdracht niet vanuit de huidige map of ergens willekeurig in het bestandssysteem. De schaal vertrouwt op de $PATH variabel.



Wat is de $PATH-variabele?

$PATH is een omgevingsvariabele die de shell vertelt waar het uitvoerbare bestand moet worden gevonden. Er zijn verschillende mappen gedefinieerd in de $PATH variabel. Om mappen in uw . weer te geven $PATH , voer de opdracht uit:



$gooide uit $PATH





Om de map te vinden waar een uitvoerbaar commando zich bevindt, gebruikt u de die commando als volgt:

$die opdracht

Om bijvoorbeeld te lokaliseren waar het uitvoerbare bestand voor de pwd commando, voer het commando uit:



$die pwd

Uit de uitvoer kunnen we zien dat het uitvoerbare bestand zich in de bevindt /ben map. Voor de aanraken commando, het uitvoerbare bestand bevindt zich in de /usr/bin map.

Een map toevoegen aan $PATH

Stel dat je een eenvoudig shellscript hebt met de naam de groeten .sh die wordt afgedrukt Hallo Wereld geplaatst in de / home/james/bestanden map. Standaard is de map nog niet gedefinieerd in de $PATH variabel. Om het script vanaf elke locatie of map uit te voeren, moet u het absolute pad naar het script opgeven. Nu kan dit omslachtig en tijdrovend zijn.

Om het script globaal uit te voeren (ongeacht uw locatie in het bestandssysteem) zonder het volledige pad naar het script op te geven, moet u de map met het script toevoegen aan de $PATH variabele met behulp van de onderstaande syntaxis.

$exporteren PAD=$PATH:/pad/tot/map/met/het dossier

In dit geval is de opdracht:

$exporteren PAD=$PATH:/huis/james/bestanden

Je zou nu in staat moeten zijn om het script aan te roepen of uit te voeren vanuit elke map binnen je Linux-systeem zonder het absolute pad naar het script op te geven, zoals weergegeven.

Hoe de map permanent aan de $PATH-variabele toe te voegen

Het pad dat we zojuist hebben gedefinieerd naar $PATH is slechts tijdelijk en blijft niet bestaan ​​wanneer u de terminal sluit of uw systeem opnieuw opstart. Het werkt alleen in de huidige shell-sessie. Als u afsluit en een andere sessie start, komt u de fout tegen zoals weergegeven.

Om de wijzigingen te behouden, definieert u de $PATH-variabele in de ~.bashrc configuratiebestand. Open hiervoor het configuratiebestand.

$sudo ik kwam~/.bashrc

Voeg vervolgens de regel toe zoals weergegeven.

$exporteren PAD=$PATH:/huis/james/bestanden

Sla daarna op en sluit af. Roep als volgt het source-commando aan om de nieuwe wijzigingen te laden:

$bron~/.bashrc

Om de toevoeging van de directory aan $PATH te verifiëren, voert u de opdracht uit zoals weergegeven.

$gooide uit $PATH

Afsluiten

En daar heb je het, jongens! We zijn erin geslaagd om de map met succes toe te voegen aan $PATH op Linux. Zoals je hebt gezien, is het best handig en duidelijk, vooral als je het script of de applicatie regelmatig vanuit de shell aanroept. Dezelfde commando's werken voor elke Linux-smaak.