Hvordan legge til en katalog til bane i Linux

Hvordan legge til en katalog til bane i Linux
Sti er en forhåndsdefinert variabel i et Linux -skall. Den består av kataloger med katalogstiene sine, som begynner fra roten. Sti er en tykktarmseparert liste. Hver katalog med banen er atskilt fra den foregående katalogen med sin vei med en tykktarm. Skallet ser etter kommandoer i disse katalogene.

Kommandoer er ikke bare kommandoer for diskoperativsystem. Stien er en liste over kataloger der skallet ser etter operativsystemkommandoer og andre kommandoer. Kommandoer er som korte programfiler. Så kommandoer er kjørbare filer. Hver applikasjon installert i datamaskinen leveres med en kjørbar fil. For å kjøre applikasjonen er den kjørbare filen først engasjert. Disse kjørbare filene kalles også kommandoer.

Uten banevariabelen ville hver kommando bli kommandert med den absolutte banen, som i,

/Home/John/Dir1/Dir2/Command.EXE

der den første / er rotkatalogen; John er brukerkatalogen for brukeren, John; Dir1 og Dir2 er underkataloger; og kommando.EXE er navnet på den kjørbare filen.

Mange andre navn er mulig for den kjørbare filen. Faktisk, kommando.Exe er symbolsk, her. Så hvis katalogen,/Home/John/Dir1/Dir2 (uten filen), er i banevariabelen, vil brukeren John utføre kommandoen.exe at the quarm, john@host: ~ $ ved ganske enkelt å skrive, kommando.exe, uten foregående sti. Det er:

John@vert: ~ $ kommando.EXE

og deretter trykke Enter.

For å se den gjeldende listen over banekataloger i datamaskinen, skriv: Skriv:

$ ekko $ bane

og trykk Enter, ved terminalen. Resultatet ville være noe sånt som,

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

Spørsmålet nå er: Hvordan er en katalog (og dens foregående vei) lagt til banevariabelen? Med noen installasjoner legges katalogen automatisk. Med andre må det legges til manuelt. Denne artikkelen forklarer de to hovedveiene, der katalogen er lagt til. Katalogen er ikke lagt til (inkludert) som det ville bli gjort med en matrise. De to hovedveiene blir referert til som midlertidig tillegg og permanent tillegg. Bash er skallet som brukes til kodeeksemplene i denne artikkelen.

Artikkelinnhold

  • INNLEDNING - Se ovenfor
  • Midlertidig tillegg
  • Permanent tillegg
  • Konklusjon

Midlertidig tillegg

Midlertidig tillegg betyr at tillegget bare foregår i minnet. Det lagres ikke for bruk når datamaskinen startes på nytt.

Bourne Shell innebygde eksportkommando

Enkelt sagt er eksportkommandoen:

$ eksport [navn [= verdi]]

I dette tilfellet tildeler den en verdi til en variabel i minnet.

Banevariabelen i minnet kan allerede ha verdi som,

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

Anta at katalogen som skal legges til er/Home/John/Dir1/Dir2. Hvis eksportkommandoen er skrevet som,

$ Eksportbane =/Home/John/Dir1/Dir2

Da/Home/John/Dir1/Dir2 vil erstatte alt det som allerede er i minnet som verdi for banevariabelen.

Hvis eksportkommandoen er skrevet som,

$ Eksportbane = $ bane:/Hjem/John/Dir1/Dir2

Deretter vil/Home/John/Dir1/Dir2 feste seg på slutten av det som allerede er i variabelen. Så den nye variabelen ville være:

Path =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ Hjem/John/Dir1/Dir2

Legg merke til at i den forrige kodelinjen ovenfor, er den delen av verdien som allerede er der skilt fra den nye delen med en tykktarm, som er ':'. $ Bane i kodelinjen, utvides (erstattes) med verdien av banen som allerede er i minnet.

Nå kan den samme kommandoen være i mer enn en katalog. Når en kjørbar kommando skrives uten den foregående banen ved ledeteksten, begynner skallet å søke i verdien (strengen) for banevariabelen i minnet, fra venstre til høyre. Så med kodelinjen ovenfor,/Home/John/Dir1/Dir2 ville ankomme til slutt, i søket. Som vil at katalogen hans skal komme sist? - Ingen. Så en bedre måte å inkludere (legg til) katalogen, er som følger:

$ Eksportbane =/Home/John/Dir1/Dir2: $ Path

/Home/John/Dir1/Dir2 er nå i begynnelsen, atskilt fra neste katalog, med en tykktarm. Så med en ledetekst om “John@Host: ~ $”,

John@Host: ~ $ Eksportbane =/Hjem/John/Dir1/Dir2: $ Sti

Etter å ha skrevet og trykket på enter, kommandoen, kommandoen.Exe i katalogen, Dir2, ville bli utført med:

John@vert: ~ $ kommando.EXE

Så lenge datamaskinen ikke er slått av, vil brukeren fortsette å utføre kommandoen.exe uten å skrive den foregående banen.

Når datamaskinen er slått av, blir alt i tilfeldig tilgangsminne slettet. Den dårlige nyheten er at datamaskinbrukeren må gjenta denne prosessen med å legge til katalogen sin til banevariabelen hver gang datamaskinen startes på nytt. Ingen vil gjøre det i dag. Så den permanente tilleggstilnærmingen er den anbefalte tilnærmingen. Det vil si at tillegg til sti, må lagres (på harddisken).

Permanent tillegg

Fra diskusjonen ovenfor er ideen å lagre endringen som er gjort (på harddisken). Så hvis endringen lagres i en fil som Shell leser hver gang datamaskinen støvler, vil det være bra. Det vil si at hver gang datamaskinen støvler, vil banevariabelen i minnet bli oppdatert på riktig måte. Når en datamaskin starter, ved oppstart, leser den visse filer. En av filene Bash -skallet for Linux -leser er, ~/.Bashrc . Filnavnet er .Bashrc , begynner med prikken. Det er i brukerens katalog.

Bash er bare ett skall, sannsynligvis det mest populære skallet for Linux, i dag. Nok et skall for Linux er Zsh. Med Zsh er den tilsvarende filen ~/.Zshrc, Fortsatt i brukerens katalog. Når skallet starter, ved oppstart, leser det denne filen. For bash er filen, ~/.Bashrc . Så hvis ovennevnte tilleggskode skrives inn i ~/.Bashrc -fil, katalogen vil alltid være i minnet, som ~/.Bashrc vil alltid inkludere det i banen, hver gang datamaskinen støvler. Det forblir i minnet, til datamaskinen er stengt.

I bash, ~/.Bashrc er en skjult fil, så den ordinære bruken av kommandoen, LS vil ikke vise den. ~/.Bashrc inneholder noen bash (skall) kommandoer. Ubuntu er en variant av Linux. Ubuntu kommer med en tekstredigerer. I forfatterens datamaskin er bakgrunnen til Ubuntu Text Editor Black.

Ovennevnte tilleggskommando (uten ledeteksten) skal inkluderes til ~/.Bashrc -fil. Det er bra å legge den til på slutten av filen for ikke å temperere med det tilgjengelige innholdet, som sannsynligvis fungerer i orden.

Å åpne ~/.Bashrc i Ubuntu, skriv inn følgende ved ledeteksten på terminalen, og trykk Enter:

$ nano ~/.Bashrc

Hvor Nano er tekstredigereren. Her er Nano en kommando (kjørbar), hvis argument er, ~/.Bashrc . Innholdet i filen skal åpne i tekstredigereren for å legge over terminalvinduet.

~/.Bashrc -filen åpnes i Text Editor, sannsynligvis med svart bakgrunn. Markøren blinker øverst til venstre hjørne.

Trykk på ned-piletasten på tastaturet kontinuerlig til markøren når slutten av filen. Legg til en ny linje med,

$ Eksportbane =/Home/John/Dir1/Dir2: $ Path

Det er ikke alt. Endringen til ~/.Bashrc -filen er ikke lagret. For å lagre filen med endringen som er gjort, trykk CTRL+O, og følg eventuelle andre instruksjoner som vises. For å avslutte tekstredigereren, trykk CTRL+X, og det normale terminalvinduet skal erstatte tekstredigeringsvinduet. Andre skallkommandoer kan deretter utstedes.

Hvis "Echo $ Path" er utstedt, vil den nye katalogen ikke bli sett på displayet. Det er to måter å fortsette herfra: Start datamaskinen på nytt, eller få det nye innholdet i ~//.Bashrc -fil til minnet med kildekommandoen. Det er enkelt å bruke kildekommandoen, som følger:

$ kilde ~/.Bashrc

Hvis kildekommandoen er utstedt uten omstart, vil "Echo $ Path" vise den nye katalogen lagt til i resultatet (visning). Kommandoen av interesse kan deretter skrives uten foregående vei.

Merk: Ikke forveksle mellom slutten av banen (liste) og slutten av ~//.Bashrc -fil. Ikke forveksle mellom en katalog i banen i minnet, og en kjørbar fil i katalogen på harddisken.

Konklusjon

Sti er en innebygd variabel i Linux-skjell. Verdien av banen er en liste over kataloger atskilt av Colons. Det er en kommando (kjørbar fil) på harddisken for hver av disse katalogene. Hvis en kommando blir gitt ved selgeren uten foregående den med en bane, vil skallet se på disse katalogene for kommandoen. Hvis den ikke ser kommandoen i noen av katalogene, vil ikke kommandoen bli utført. I dette tilfellet, for å utføre kommandoen, må kommandoen gå foran med sin vei. Kommandoen kan være i mer enn en katalog i baneverdien. Så snart skallet ser den første katalogen som har kommandoen, utfører den kommandoen. Baneverdien er faktisk en streng som består av kataloger atskilt med koloner.

Problemet er hvordan du legger til katalogen for kjørbar av en ny applikasjon i banen. I noen tilfeller gjøres dette automatisk av installasjonsprogrammet til den nye applikasjonen. I andre tilfeller må det gjøres manuelt. Det er to måter å gjøre det manuelt, referert til som: midlertidig tillegg og permanent tillegg. Midlertidig tillegg bruker eksportkommandoen og legger bare til katalogen mens datamaskinen er på. Permanent tillegg må lagre eksportkommandolinjen i ~/.BASHRC Initialiseringsfil (BASH) for fremtidig drift.