Kako dodati direktorij u svoj $PATH u Linuxu

Fatmawati Achmad Zaenuri/Shutterstock



|_+_| je jedan od tihih manipulatora u pozadini vašeg Linux računala. Tiho utječe na vaše korisničko iskustvo, ali u tome nema ničeg sumnjivog. Objasnit ćemo što radi i kako ga možete prilagoditi.

Što je $PATH na Linuxu i kako radi?

Kada upišete naredbu u prozor terminala i pritisnete Enter, pokrećete dosta aktivnosti prije nego što se vaša naredba i izvrši.





Bash je zadana ljuska na većini Linux distribucija. Tumači redak teksta koji ste unijeli i identificira nazive naredbi pomiješanih s parametrima, cijevi , preusmjeravanja , i što god još ima. Zatim locira izvršne binarne datoteke za te naredbe i pokreće ih s parametrima koje ste dali.

Prvi korak koji ljuska poduzima da locira izvršnu datoteku je identificiranje je li binarni program uopće uključen. Ako je naredba koju koristite unutar same ljuske (a ljuska ugrađena ) nije potrebna daljnja pretraga.



Ugrađene ljuske je najlakše pronaći jer su sastavni dio ljuske. To je kao da ih imate u pojasu s alatima - uvijek su s vama.

Oglas

Međutim, ako trebate neki od vaših drugih alata, morate ići prekapati u radionicu da biste ga pronašli. Je li na vašem radnom stolu ili na zidnoj vješalici? To je ono što je |_+_| varijabla okruženja čini. Sadrži popis mjesta koja ljuska pretražuje i redoslijed kojim će se pretraživati.

Ako želite vidjeti je li naredba a ugrađena ljuska, alias, funkcija ili samostalni binarni mv /work/unfile , možete koristiti |_+_| naredba kao što je prikazano u nastavku:



$PATH $PATH

To nam govori da |_+_| je binarna datoteka, a prva pronađena na putu nalazi se na |_+_|. Možda imate više od jedne verzije |_+_| instaliran na vašem računalu, ali ovo je onaj koji će školjka pokušati koristiti.

Nije iznenađujuće, |_+_| je ugrađena školjka.

Navođenje vašeg $PATH

Lako je vidjeti što vam je na putu. Samo upišite sljedeće da biste koristili |_+_| naredba i ispiši vrijednost održano u |_+_| varijabla:

type

Izlaz je popis lokacija datotečnog sustava razdvojenih dvotočkom (|_+_|). Školjka pretražuje s lijeva na desno kroz stazu, provjeravajući svaku lokaciju datotečnog sustava za odgovarajuću izvršnu datoteku za izvođenje vaše naredbe.

Možemo odabrati svoj put kroz popis kako bismo vidjeli lokacije datotečnog sustava koje će se pretraživati ​​i redoslijed kojim će se pretraživati:

  • clear
  • /usr/bin
  • clear
  • cd
  • echo
  • $PATH
  • :
  • /usr/local/sbin
  • /usr/local/bin
Oglas

Nešto što možda nije odmah očito je da pretraga ne počinje u trenutnom radnom direktoriju. Umjesto toga, radi svoj put kroz navedene imenike, i samo navedene direktorije.

Ako trenutni radni direktorij nije na vašem putu, neće se pretraživati. Također, ako imate naredbe pohranjene u direktorijima koji nisu na putu, ljuska ih neće pronaći.

Da bismo to demonstrirali, kreirali smo mali program pod nazivom |_+_|. Kada se izvrši, |_+_| ispisuje naziv direktorija iz kojeg je pokrenut u prozoru terminala. Nalazi se u |_+_|. Također imamo noviju verziju u |_+_| imenik.

Upisujemo sljedeće |_+_| naredba da nam pokaže koja verzija našeg programa ljuska će pronaći i koristiti:

/usr/sbin

Shell javlja da je verzija koju je pronašla ona u direktoriju koji se nalazi na putu.

Upisujemo sljedeće da ga pokrenemo:

/usr/bin

Verzija 1.0 od |_+_| radi i potvrđuje da su naša očekivanja bila točna. Pronađena i izvršena verzija nalazi se u |_+_|.

Oglas

Za pokretanje bilo koje druge verzije |_+_| na ovom računalu, morat ćemo koristiti put do izvršne datoteke u naredbenoj liniji, kao što je prikazano u nastavku:

/sbin

Sada kada smo ljusci rekli gdje pronaći verziju |_+_| želimo pokrenuti, koristi verziju 1.1. Ako preferiramo ovu verziju, možemo je kopirati u |_+_| imenik i prepiši stari.

Recimo da razvijamo novu verziju |_+_|. Morat ćemo ga često pokretati dok ga razvijamo i testiramo, ali ne želimo kopirati neobjavljenu razvojnu konstrukciju u živo okruženje.

Ili smo možda preuzeli novu verziju |_+_| i želimo napraviti verifikacijsko testiranje prije nego što ga učinimo javno dostupnim.

Ako stazi dodamo svoj radni direktorij, činimo da ljuska pronađe našu verziju. A ova promjena će utjecati samo na nas—drugi će i dalje koristiti verziju |_+_| u |_+_| .

Dodavanje imenika na vaš $PATH

Možete koristiti |_+_| zapovijed da dodati imenik na |_+_|. Direktorij je tada uključen u popis lokacija datotečnog sustava koje ljuska traži. Kada ljuska pronađe odgovarajuću izvršnu datoteku, prestaje tražiti, tako da želite biti sigurni da prvo traži vaš direktorij, prije |_+_|.

Oglas

Ovo je lako učiniti. Za naš primjer, upisujemo sljedeće kako bismo naš imenik dodali na početak puta tako da je to prvo traženo mjesto:

/bin

Ova naredba postavlja |_+_| biti jednak direktoriju koji dodajemo, |_+_|, a zatim cijelom trenutnom putu.

Prvi |_+_| nema znak dolara (|_+_|). Postavljamo vrijednost za |_+_|. Finale |_+_| ima znak dolara jer upućujemo na sadržaj pohranjen u |_+_| varijabla. Također, obratite pozornost na dvotočku (|_+_|) između novog direktorija i |_+_| naziv varijable.

Pogledajmo kako sada izgleda staza:

/usr/games

Naš |_+_| direktorij se dodaje na početak puta. Dvotočka koju smo naveli razdvaja ostatak puta.

Upisujemo sljedeće kako bismo potvrdili našu verziju |_+_| je prvi pronađen:

/usr/local/games

Dokaz u pudingu je |_+_|, kao što je prikazano u nastavku:

/snap/bin

Školjka pronalazi verziju 1.1 i izvršava je iz |_+_|.

Oglas

Da bismo naš imenik dodali na kraj staze, samo ga premjestimo na kraj naredbe, ovako:

rf

Učiniti promjene trajnim

Kao Beth Brooke-Marciniak rekao: Uspjeh je u redu, ali uspjeh je prolazan. U trenutku kada zatvorite prozor terminala, sve promjene koje ste napravili na |_+_| su otišli. Da biste ih učinili trajnim, morate staviti svoj |_+_| naredbu u konfiguracijskoj datoteci.

Kada stavite |_+_| naredbu u vašem |_+_| datoteke, postavlja putanju svaki put kada otvorite prozor terminala. Za razliku od |_+_| sjednice , za koje se morate prijaviti, to se zove interaktivne sesije.

U prošlosti biste stavili |_+_| naredbu u vašem |_+_| datoteku za postavljanje putanje za prijavu u terminalske sesije.

Međutim, otkrili smo da ako stavimo |_+_| naredbu u |_+_| ili |_+_| datoteke, ispravno je postavio put i za interaktivne i za prijavu u terminalsku sesiju. Vaše iskustvo bi moglo biti drugačije. Kako bismo riješili sve moguće situacije, pokazat ćemo vam kako to učiniti u obje datoteke.

Koristite sljedeću naredbu u svom |_+_| direktorij za uređivanje |_+_| datoteka:

rf

The /usr/local/bin urednik otvara s |_+_| datoteka učitana.

Uređivač gedit s

Oglas

Pomaknite se do dna datoteke, a zatim dodajte sljedeću naredbu za izvoz koju smo ranije koristili:

/dave/work

Spremite datoteku. Zatim zatvorite i ponovno otvorite prozor terminala ili upotrijebite |_+_| naredba za čitanje |_+_| datoteku, kako slijedi:

which

Zatim upišite sljedeće |_+_| naredba za provjeru puta:

rf

Ovo dodaje |_+_| imenik do početka puta.

Proces za dodavanje naredbe u |_+_| datoteka je ista. Upišite sljedeću naredbu:

/usr/local/bin

The |_+_| uređivač se pokreće s |_+_| datoteka učitana.

Uređivač gedit s

Dodajte |_+_| naredbu na dno datoteke, a zatim je spremite. Zatvaranje i otvaranje novog prozora terminala nije dovoljno da se prisili |_+_| datoteku za ponovno čitanje. Da bi nove postavke stupile na snagu, morate se odjaviti i ponovno prijaviti ili koristiti |_+_| naredba kao što je prikazano u nastavku:

rf

POVEZANO: Kako grafički uređivati ​​tekstualne datoteke na Linuxu s geditom

Postavljanje puta za svakoga

Da biste postavili put za sve koji koriste sustav, možete urediti |_+_| datoteka.

Morat ćete koristiti |_+_|, kako slijedi:

rfOglas

Kada je |_+_| editor, dodajte naredbu za izvoz na dno datoteke.

Uređivač gedit s

Spremite i zatvorite datoteku. Promjene će stupiti na snagu za druge kad se sljedeći put prijave.

Napomena o sigurnosti

Pazite da slučajno ne dodate početnu dvotočku |_+_| na stazu, kao što je prikazano u nastavku.

Ako to učinite, ovo će prvo pretražiti trenutni direktorij, što predstavlja sigurnosni rizik. Recimo da ste preuzeli arhivsku datoteku i raspakirali je u direktorij. Pogledate datoteke i vidite drugu komprimiranu datoteku. Još jednom pozovite unzip da biste izdvojili tu arhivu.

Ako je prva arhiva sadržavala izvršnu datoteku pod nazivom |_+_| koja je bila zlonamjerna izvršna datoteka, slučajno biste je pokrenuli umjesto pravog |_+_| izvršni. To bi se dogodilo jer bi ljuska prvo pogledala u trenutni direktorij.

Stoga uvijek budite oprezni kada upisujete svoj |_+_| naredbe. Koristite |_+_| $PATH da ih pregledate i provjerite jesu li onakvi kakvi želite da budu.

Linux naredbe
Datoteke katran · pv · mačka · tac · chmod · zahvat · razl · sed · S · čovjek · pushd · popd · fsck · testdisk · sljed · F D · pandok · CD · $PATH · awk · pridružiti · jq · preklopiti · jedinstven · journalctl · rep · država · ls · fstab · izbaciti · manje · chgrp · chown · rev · izgled · žice · tip · preimenovati · patentni zatvarač · otvoriti rajsfešlus · montirati · razmontirati · instalirati · fdisk · mkfs · rm · rmdir · rsync · df · gpg · mi · nano · mkdir · iz · ln · zakrpa · Pretvoriti · rclone · usitniti · SRM
Procesi alias · zaslon · vrh · Lijepo · renice · napredak · strace · sustav · tmux · chsh · povijesti · na · serija · besplatno · koji · dmesg · usermod · p.s · chroot · xargs · tty · ružičasti · lsof · vmstat · pauza · zid · Da · ubiti · spavati · sudo · njegov · vrijeme · groupadd · usermod · grupe · lshw · ugasiti · ponovno podizanje sustava · Stop · isključenje · passwd · lscpu · crontab · datum · bg · fg
Umrežavanje netstat · ping · traceroute · ip · ss · tko je · fail2ban · bmon · vas · prst · nmap · ftp · kovrča · wget · tko · tko sam ja · U · iptables · ssh-keygen · ufw

POVEZANO: Najbolja prijenosna računala s Linuxom za programere i entuzijaste

PROČITAJTE SLJEDEĆE Fotografija profila Davea McKaya Dave McKay
Dave McKay je prvi put koristio računala kada je bušena papirna traka bila u modi i od tada se bavi programiranjem. Nakon više od 30 godina u IT industriji, sada je stalni tehnološki novinar. Tijekom svoje karijere radio je kao freelance programer, voditelj međunarodnog tima za razvoj softvera, voditelj projekta IT usluga, a nedavno i kao službenik za zaštitu podataka. Njegovo pisanje objavili su howtogeek.com, cloudsavvyit.com, tenterpriser.com i opensource.com. Dave je Linux evanđelist i zagovornik otvorenog koda.
Pročitajte cijelu biografiju

Zanimljivi Članci