Komennot eivät ole vain levykäyttöjärjestelmän komentoja. Polku on luettelo hakemistoista, joissa kuori etsii käyttöjärjestelmän komentoja ja muita komentoja. Komennot ovat kuin lyhyitä ohjelmatiedostoja. Joten komennot ovat suoritettavia. Jokaisessa tietokoneeseen asennetussa sovelluksessa on suoritettava tiedosto. Sovelluksen suorittamiseksi suoritettava tiedosto aktivoidaan ensin. Näitä suoritettavia tiedostoja kutsutaan myös komennoiksi.
Ilman PATH -muuttujaa jokaiselle komennolle annettaisiin absoluuttinen polku, kuten
/home/john/dir1/dir2/command.exe
jossa ensimmäinen / on juurihakemisto; john on käyttäjän käyttäjähakemisto John; dir1 ja dir2 ovat alihakemistoja; ja command.exe on suoritettavan tiedoston nimi.
Suoritettavalle tiedostolle voidaan antaa monia muita nimiä. Itse asiassa command.exe on symbolinen tässä. Joten jos hakemisto/home/john/dir1/dir2 (ilman tiedostoa) on PATH -muuttujassa, käyttäjä john suorittaa komennon command.exe, [email protected]: ~ $ kirjoittamalla, command.exe, ilman edellistä polkua. Tuo on:
[sähköposti suojattu]: ~ $command.exeja paina sitten Enter -näppäintä.
Näet tietokoneen nykyisen PATH -hakemistoluettelon kirjoittamalla:
$heitti pois $ PATHja paina terminaalin Enter -näppäintä. Tuloksena olisi jotain,
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Kysymys kuuluu nyt: miten hakemisto (ja sitä edeltävä polku) lisätään PATH -muuttujaan? Joissakin asennuksissa hakemisto lisätään automaattisesti. Muiden kanssa se on lisättävä manuaalisesti. Tässä artikkelissa selitetään kaksi päätapaa, joilla hakemisto lisätään. Hakemistoa ei lisätä (sisälly), kuten se tehtäisiin taulukolle. Kahta päätapaa kutsutaan väliaikaiseksi lisäykseksi ja pysyväksi lisäykseksi. Bash on kuori, jota käytetään tämän artikkelin koodiesimerkkeihin.
Artikkelin sisältö
- Johdanto - katso yllä
- Väliaikainen lisäys
- Pysyvä lisäys
- Johtopäätös
Väliaikainen lisäys
Väliaikainen lisäys tarkoittaa, että lisäys tapahtuu vain muistissa. Sitä ei tallenneta käytettäväksi, kun tietokone käynnistetään uudelleen.
Bourne Shellin sisäänrakennettu vientikomento
Yksinkertaisesti sanottuna vientikomento on:
$viedä [nimi[= arvo]]Tässä tapauksessa se määrittää arvon muuttujalle muistissa.
Muistin PATH -muuttujan arvo voi olla jo esim.
PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Oletetaan, että lisättävä hakemisto on/home/john/dir1/dir2. Jos vientikomento on kirjoitettu,
$viedä PATH=/Koti/john/dir1/dir2sitten/home/john/dir1/dir2 korvaa kaiken, mikä on jo muistissa PATH -muuttujan arvona.
Jos vientikomento on kirjoitettu,
$viedä PATH=$ PATH:/Koti/john/dir1/dir2Tällöin/home/john/dir1/dir2 kiinnittyy muuttujan jo sen loppuun. Uusi muuttuja olisi siis:
PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ etusivu/john/dir1/dir2
Huomaa, että edellisessä koodirivissä jo olemassa oleva arvon osa on erotettu uudesta osasta kaksoispisteellä, joka on ”:”. $ PATH koodirivillä, laajenee (korvataan) arvolla PATH jo muistissa.
Nyt sama komento voi olla useammassa kuin yhdessä hakemistossa. Kun suoritettava komento kirjoitetaan ilman edeltävää polkua kehotteessa, kuori alkaa etsiä PATH -muuttujan arvoa (merkkijonoa) muistista vasemmalta oikealle. Joten yllä olevalla koodirivillä/home/john/dir1/dir2 saapuisi vihdoinkin hakuun. Kuka haluaa hakemistonsa saapuvan viimeisenä? - Ei kukaan. Joten parempi tapa lisätä (lisätä) hakemisto on seuraava:
$viedä PATH=/Koti/john/dir1/dir2:$ PATH/home/john/dir1/dir2 on nyt alussa, erotettuna seuraavasta hakemistosta kaksoispisteellä. Joten kehotettaessa [sähköposti suojattu]: ~ $,
[sähköposti suojattu]: ~ $viedä PATH=/Koti/john/dir1/dir2:$ PATHkirjoittamisen ja Enter -näppäimen painamisen jälkeen komento command.exe hakemistossa, dir2, suoritetaan seuraavalla tavalla:
[sähköposti suojattu]: ~ $command.exeNiin kauan kuin tietokonetta ei ole sammutettu, käyttäjä jatkaa command.exe -tiedoston suorittamista kirjoittamatta edellistä polkua.
Kun tietokone sammutetaan, kaikki hajamuistista poistetaan. Huono uutinen on, että tietokoneen käyttäjän on toistettava tämä prosessi lisätäkseen hakemistonsa PATH -muuttujaan joka kerta, kun tietokone käynnistetään uudelleen. Kukaan ei halua tehdä sitä tänään. Pysyvä lisäys on siis suositeltava lähestymistapa. Toisin sanoen PATH -lisäys on tallennettava (kiintolevylle).
Pysyvä lisäys
Yllä olevan keskustelun perusteella ajatus on tallentaa tekemäsi muutos (kiintolevylle). Joten jos muutos tallennetaan tiedostoon, jonka kuori lukee joka kerta, kun tietokone käynnistyy, se olisi hyvä. Toisin sanoen joka kerta, kun tietokone käynnistyy, muistin PATH -muuttuja päivitetään asianmukaisesti. Kun tietokone käynnistyy, se lukee käynnistyksen yhteydessä tiettyjä tiedostoja. Yksi tiedostoista, joita Linuxin Bash -kuori lukee, on ~/.bashrc. Tiedoston nimi on. bashrc , alkaen pisteestä. Se on käyttäjän hakemistossa.
Bash on vain yksi kuori, luultavasti Linuxin suosituin kuori. Toinen Linux -kuori on Zsh. Zsh: llä vastaava tiedosto on ~/. zshrc , edelleen käyttäjän hakemistossa. Kun kuori käynnistyy käynnistyksen yhteydessä, se lukee tämän tiedoston. Bashin tiedosto on ~/.bashrc. Joten jos yllä oleva lisäkoodi on kirjoitettu ~/.bashrc -tiedostoon, hakemisto on aina muistissa, koska ~/.bashrc sisällyttää sen aina PATH: iin aina, kun tietokone käynnistyy. Se pysyy muistissa, kunnes tietokone sammutetaan.
Bashissa ~/.bashrc on piilotettu tiedosto, joten komennon tavallinen käyttö ls ei näytä sitä. ~/.bashrc sisältää joitain Bash (shell) -komentoja. Ubuntu on muunnelma Linuxista. Ubuntun mukana tulee tekstieditori. Tekijän tietokoneessa Ubuntun tekstieditorin tausta on musta.
Yllä oleva lisäyskomento (ilman kehotetta) tulee sisällyttää tiedostoon ~/.bashrc. On hyvä lisätä se tiedoston loppuun, jotta ei hillitä sen käytettävissä olevaa sisältöä, mikä todennäköisesti toimii hyvin.
Voit avata ~/.bashrc Ubuntussa kirjoittamalla seuraavan komennon päätelaitteessa ja painamalla Enter:
$nano~/.bashrcMissä nano on tekstieditori. Tässä nano on komento (suoritettava), jonka argumentti on ~/.bashrc. Tiedoston sisällön pitäisi avautua tekstieditorissa pääteikkunan peittämiseksi.
~/.Bashrc -tiedosto avautuu tekstieditorissa, todennäköisesti mustalla taustalla. Kohdistin vilkkuu vasemmassa yläkulmassa.
Paina näppäimistön alanuolinäppäintä jatkuvasti, kunnes kohdistin on tiedoston lopussa. Lisää uusi rivi,
$viedä PATH=/Koti/john/dir1/dir2:$ PATHSe ei ole kaikki. Muutosta tiedostoon ~/.bashrc ei ole tallennettu. Jos haluat tallentaa tiedoston muutoksella, paina Ctrl+o ja noudata muita näyttöön tulevia ohjeita. Poistu tekstieditorista painamalla Ctrl+x, ja tavallisen pääteikkunan pitäisi korvata tekstieditori -ikkuna. Muita kuorikomentoja voidaan sitten antaa.
Jos echo $ PATH annetaan, uusi hakemisto ei näy näytössä. Voit jatkaa tästä kahdella tavalla: käynnistä tietokone uudelleen tai hae ~/.bashrc -tiedoston uusi sisältö muistiin lähdekomennolla. Lähdekomentoa on helppo käyttää seuraavasti:
$lähde~/.bashrcJos lähdekomento annetaan ilman uudelleenkäynnistystä, echo $ PATH näyttää tulokseen lisätyn uuden hakemiston (näyttö). Kiinnostava komento voidaan sitten kirjoittaa ilman edellistä polkua.
Huomautus: Älä sekoita PATH -arvon (luettelo) ja ~/.bashrc -tiedoston loppua kesken. Älä myöskään sekoita muistissa olevan PATH -hakemiston ja kiintolevyn hakemiston suoritettavan tiedoston välillä.
Johtopäätös
PATH on sisäänrakennettu muuttuja Linux-kuorissa. PATH -arvo on kaksoispisteillä erotettu luettelo hakemistoista. Kummallakin hakemistolla on komento (suoritettava tiedosto) kiintolevyllä. Jos myyntiin annetaan komento ilman sitä edeltävää polkua, kuori etsii komentoa näistä hakemistoista. Jos komento ei näy missään hakemistossa, komentoa ei suoriteta. Tässä tapauksessa komennon suorittamiseksi komentoa on edeltettävä polulla. Komento voi olla useammassa kuin yhdessä hakemistossa PATH -arvossa. Heti kun kuori näkee ensimmäisen komennon sisältävän hakemiston, se suorittaa komennon. PATH -arvo on itse asiassa merkkijono, joka koostuu kaksoispisteillä erotetuista hakemistoista.
Ongelmana on, miten uuden sovelluksen suoritettavan tiedoston hakemisto lisätään PATH -tiedostoon. Joissakin tapauksissa uuden sovelluksen asennusohjelma tekee tämän automaattisesti. Muissa tapauksissa se on tehtävä manuaalisesti. On kaksi tapaa tehdä se manuaalisesti, joita kutsutaan nimellä: väliaikainen lisäys ja pysyvä lisäys. Väliaikainen lisäys käyttää vientikomentoa ja lisää hakemiston vain tietokoneen ollessa päällä. Pysyvän lisäyksen on tallennettava viennin komentorivi ~/.bashrc -alustustiedostoon (Bash) tulevia toimintoja varten.