Cum se adaugă un director la PATH în Linux

How Add Directory Path Linux



PATH este o variabilă predefinită într-un shell Linux. Se compune din directoare cu căile lor de director, începând de la rădăcină. PATH este o listă separată de două puncte. Fiecare director cu calea sa este separat de directorul precedent cu calea sa printr-un punct. Shell-ul caută comenzi în aceste directoare.

Comenzile nu sunt doar comenzi ale sistemului de operare pe disc. Calea este o listă de directoare în care shell-ul caută comenzile sistemului de operare și alte comenzi. Comenzile sunt ca niște fișiere de program scurte. Deci, comenzile sunt executabile. Fiecare aplicație instalată pe computer vine cu un fișier executabil. Pentru a rula aplicația, fișierul executabil este angajat mai întâi. Aceste fișiere executabile sunt numite și comenzi.







Fără variabila PATH, fiecare comandă ar fi comandată cu calea absolută, ca în,



/home/john/dir1/dir2/command.exe



unde primul / este directorul rădăcină; john este directorul utilizatorului pentru utilizator, John; dir1 și dir2 sunt subdirectoare; și command.exe este numele fișierului executabil.





Multe alte nume sunt posibile pentru fișierul executabil. De fapt, command.exe este simbolic, aici. Deci, dacă directorul, / home / john / dir1 / dir2 (fără fișierul), se află în variabila PATH, utilizatorul john va executa command.exe la prompt, [e-mail protejat]: ~ $ prin simpla tastare, command.exe, fără calea precedentă. Acesta este:

[e-mail protejat]: ~ $command.exe

și apoi apăsând Enter.

Pentru a vedea lista curentă de directoare PATH pe computer, tastați:

$aruncat $ PATH

și apăsați Enter, la terminal. Rezultatul ar fi ceva de genul,

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

Întrebarea acum este: cum se adaugă un director (și calea precedentă) la variabila PATH? Cu unele instalări, directorul este adăugat automat. Cu alții, trebuie adăugat manual. Acest articol explică cele două moduri principale în care este adăugat directorul. Directorul nu este adăugat (inclus), așa cum ar fi făcut la o matrice. Cele două modalități principale sunt denumite Adăugare temporară și Adăugare permanentă. Bash este shell-ul folosit pentru exemplele de cod din acest articol.

Conținutul articolului

Adăugare temporară

Adăugarea temporară înseamnă că adăugarea are loc numai în memorie. Nu este salvat pentru utilizare atunci când computerul este repornit.

Comanda de export încorporată Bourne Shell

În termeni simpli, comanda de export este:

$export [Nume[= valoare]]

În acest caz, reatribuie o valoare unei variabile din memorie.

Variabila PATH din memorie poate avea deja valoare ca,

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

Să presupunem că directorul de adăugat este / home / john / dir1 / dir2. Dacă comanda de export este tastată ca,

$export CALE=/Acasă/Ioan/dir1/dir2

atunci / home / john / dir1 / dir2 ar înlocui tot ceea ce este deja în memorie ca valoare pentru variabila PATH.

Dacă comanda de export este tastată ca,

$export CALE=$ PATH:/Acasă/Ioan/dir1/dir2

Apoi, / home / john / dir1 / dir2 s-ar atașa la sfârșitul a ceea ce este deja în variabilă. Deci, noua variabilă ar fi:

PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin: / acasă / john / dir1 / dir2

Observați că în linia de cod anterioară de mai sus, partea din valoare care există deja este separată de partea nouă cu două puncte, care este „:”. $ PATH în linia de cod, se extinde (se înlocuiește) cu valoarea PATH deja în memorie.

Acum, aceeași comandă poate fi în mai multe directoare. Când o comandă executabilă este tastată fără calea precedentă la prompt, shell-ul începe să caute valoarea (șirul) variabilei PATH din memorie, de la stânga la dreapta. Deci, cu linia de cod de mai sus, / home / john / dir1 / dir2 ar ajunge în sfârșit, în căutare. Cine vrea ca directorul său să ajungă ultima? - Nimeni. Deci, o modalitate mai bună de a include (adăuga) directorul este următoarea:

$export CALE=/Acasă/Ioan/dir1/dir2:$ PATH

/ home / john / dir1 / dir2 este acum la început, separat de următorul director, cu două puncte. Deci, cu un mesaj [email protected]: ~ $,

[e-mail protejat]: ~ $export CALE=/Acasă/Ioan/dir1/dir2:$ PATH

după ce tastați și apăsați Enter, comanda, command.exe din director, dir2, va fi executată cu:

[e-mail protejat]: ~ $command.exe

Atâta timp cât computerul nu este oprit, utilizatorul va continua să execute command.exe fără a introduce calea precedentă.

Când computerul este oprit, totul din memoria cu acces aleatoriu este șters. Vestea proastă este că utilizatorul computerului va trebui să repete acest proces de adăugare a directorului său la variabila PATH de fiecare dată când computerul este repornit. Nimeni nu vrea să facă asta astăzi. Deci, abordarea Adăugării permanente este abordarea recomandată. Adică, adăugarea la PATH trebuie salvată (pe hard disk).

Adăugare permanentă

Din discuția de mai sus, ideea este să salvați modificarea făcută (pe hard disk). Deci, dacă modificarea este salvată într-un fișier pe care shell-ul îl citește de fiecare dată când computerul pornește, ar fi bine. Adică, de fiecare dată când computerul pornește, variabila PATH din memorie va fi actualizată corespunzător. Când pornește un computer, la pornire, citește anumite fișiere. Unul dintre fișierele citite de shell-ul Bash pentru Linux este, ~ / .bashrc. Numele fișierului este. bashrc , începând cu punctul. Se află în directorul utilizatorului.

Bash este doar un singur shell, probabil cel mai popular shell pentru Linux, astăzi. Un alt shell pentru Linux este Zsh. Cu Zsh, fișierul corespunzător este ~ /. zshrc , încă în directorul utilizatorului. Când începe shell-ul, la pornire, citește acest fișier. Pentru Bash, fișierul este, ~ / .bashrc. Deci, dacă codul de adăugare de mai sus este introdus în fișierul ~ / .bashrc, directorul va fi întotdeauna în memorie, deoarece ~ / .bashrc îl va include întotdeauna în PATH, de fiecare dată când computerul pornește. Rămâne în memorie, până când computerul este oprit.

În Bash, ~ / .bashrc este un fișier ascuns, astfel încât utilizarea obișnuită a comenzii, ls nu o va afișa. ~ / .bashrc conține câteva comenzi Bash (shell). Ubuntu este o variantă a Linux-ului. Ubuntu vine cu un editor de text. Pe computerul autorului, fundalul editorului de text Ubuntu este negru.

Comanda de adăugare de mai sus (fără prompt) ar trebui să fie inclusă în fișierul ~ / .bashrc. Este bine să-l adăugați la sfârșitul fișierului pentru a nu vă tempera cu conținutul său disponibil, care probabil funcționează bine.

Pentru a deschide ~ / .bashrc în Ubuntu, tastați următoarele la promptul de comandă de la terminal și apăsați Enter:

$nano~/.bashrc

Unde nano este editorul de text. Aici, nano este o comandă (executabilă), al cărei argument este, ~ / .bashrc. Conținutul fișierului ar trebui să se deschidă în editorul de text pentru a suprapune fereastra terminalului.

Fișierul ~ / .bashrc se va deschide în editorul de text, probabil cu un fundal negru. Cursorul va clipi în colțul din stânga sus.

Apăsați continuu tasta săgeată în jos de pe tastatură până când cursorul ajunge la sfârșitul fișierului. Adăugați o nouă linie de,

$export CALE=/Acasă/Ioan/dir1/dir2:$ PATH

Asta nu este tot. Modificarea fișierului ~ / .bashrc nu a fost salvată. Pentru a salva fișierul cu modificarea făcută, apăsați Ctrl + o și urmați orice alte instrucțiuni care apar. Pentru a ieși din editorul de text, apăsați Ctrl + x, iar fereastra normală a terminalului ar trebui să înlocuiască fereastra editorului de text. Pot fi apoi emise alte comenzi shell.

Dacă este emis echo $ PATH, noul director nu va fi văzut pe afișaj. Există două modalități de a continua de aici: fie reporniți computerul, fie introduceți conținutul nou al fișierului ~ / .bashrc în memorie cu comanda sursă. Este simplu să utilizați comanda sursă, după cum urmează:

$sursă~/.bashrc

Dacă comanda sursă este emisă fără repornire, atunci echo $ PATH va afișa noul director adăugat în rezultat (afișare). Comanda de interes poate fi apoi tastată fără calea precedentă.

Notă: Nu confundați între sfârșitul valorii PATH (listă) și sfârșitul fișierului ~ / .bashrc. De asemenea, nu confundați între un director din PATH în memorie și un fișier executabil în directorul de pe hard disk.

Concluzie

PATH este o variabilă încorporată în shell-urile Linux. Valoarea PATH este o listă de directoare separate prin două puncte. Există o comandă (fișier executabil) pe hard disk pentru fiecare dintre aceste directoare. Dacă o comandă este emisă la vânzare fără a fi precedată de o cale, shell-ul va căuta în aceste directoare comanda. Dacă nu vede comanda în niciunul dintre directoare, atunci comanda nu va fi executată. În acest caz, pentru a executa comanda, comanda trebuie să fie precedată de calea sa. Comanda poate fi în mai multe directoare din valoarea PATH. De îndată ce shell-ul vede primul director având comanda, acesta execută comanda. Valoarea PATH este de fapt un șir format din directoare separate prin două puncte.

Problema este cum se adaugă directorul pentru executabilul unei noi aplicații în PATH. În unele cazuri, acest lucru se realizează automat prin programul de instalare al noii aplicații. În alte cazuri, trebuie făcut manual. Există două moduri de a face acest lucru manual, denumite: Adăugare temporară și Adăugare permanentă. Adăugarea temporară utilizează comanda de export și doar adaugă directorul în timp ce computerul este pornit. Adăugarea permanentă trebuie să salveze linia de comandă export în fișierul de inițializare ~ / .bashrc (Bash) pentru operațiuni viitoare.