BASH programavimas

„Bash“ komandų istorijos naudojimas ir pritaikymas

„Bash“ komandų istorijos naudojimas ir pritaikymas
„Bash“ apvalkalas yra numatytoji komandinės eilutės aplinka, prieinama daugumoje „Linux“ paskirstymų. Panašiai kaip ir visose apvalkalo aplinkose, jis registruoja komandas, kurias anksčiau vykdė vartotojas. Šis įrašas saugomas ir tvarkomas, net jei mes iš naujo paleidžiame savo sistemą.

Galbūt žinote pagrindinį istorijos naudojimo būdą, tačiau tai gali padaryti daug daugiau. „Bash“ istorija paprastai saugoma faile ~ /.bash_istorija. Tai leidžia jums efektyviai atšaukti ir pakartotinai naudoti saugomą įrašą, kad kuo geriau išnaudotumėte istorijos išsaugojimo funkciją. Negana to, bet taip pat galite pritaikyti ir valdyti „bash“ komandos išvestį taip, kaip norite.

Šiame straipsnyje paaiškinsime, kaip efektyviai naudoti ir pritaikyti „bash“ komandų istoriją, kad kuo geriau išnaudotumėte jos funkcijas.

Šiame straipsnyje paminėtoms komandoms ir procedūroms vykdyti naudojome „Debian 10“.

Naudojant „bash“ komandų istoriją

1. Peržiūri istoriją

Norėdami peržiūrėti visą apvalkalo komandų istoriją, galite paleisti šią komandą terminale:

$ istorija

Jame bus išvardyta visa konkretaus vartotojo istorija iš istorijos failo, saugomo specialiai tam vartotojui. Pamatysite visas komandas, pradedant skaičiumi, skirtu kiekvienam iš jų. Viršuje bus išvardytos senesnės komandos, pradedant skaičiumi 1, o naujesnės - apačioje.

2. Paieška istorijos išvestyje

Taip pat galite ieškoti konkretaus raktinio žodžio iš istorijos išvesties. Suporuokite komandos istoriją su „grep“ ir konkrečiu raktiniu žodžiu, kad ieškotumėte komandų, atitinkančių jūsų nurodytą raktinį žodį:

$ istorija | grep [raktinis žodis]

Pavyzdžiui, norint išvardyti visas komandas, kuriose yra raktinis žodis „rasti“, komanda būtų tokia:

$ istorija | grep rasti

3. Paskutinių n komandų peržiūra

Pagal numatytuosius nustatymus komandoje „Istorija“ nurodomas paskutinis 1000 naudotojo vykdomų komandų skaičius. Jei norite išvardyti tik konkretų skaičių, tarkime, n paskutinės įvykdytos komandos skaičių, terminale paleiskite šią komandą:

$ istorija n

Pavyzdžiui, norint išvardyti paskutines 7 įvykdytas komandas, komanda būtų tokia:

$ istorija 7

Norėdami peržiūrėti paskutinių n paleistų komandų, kuriose yra konkretus raktinis žodis, skaičių, galite naudoti šią sintaksę:

$ istorija | grep raktinis žodis | uodega -n

To pavyzdys galėtų būti paskutinių 4 įvykdytų komandų peržiūra su raktiniu žodžiu „java“.

$ istorija | grep java | uodega -n

4. Seniausių komandų peržiūra

Norėdami peržiūrėti seniausią n komandų skaičių, terminale galite naudoti šią sintaksę:

$ istorija | galva -n

Norėdami peržiūrėti seniausią n komandų, kuriose yra konkretus raktinis žodis, skaičių, naudokite šią sintaksę:

$ istorija | grep raktinis žodis | galva -n

To pavyzdys gali būti seniausių 4 vykdomų komandų peržiūra su raktiniu žodžiu „java“.

$ istorija | grep java | galva -4

5. Visiškai išvalykite „Bash“ istoriją

Norėdami pašalinti visą „bash“ istoriją, terminale paleiskite šią komandą:

$ istorija -cw

„Bash“ komandos istorijos pritaikymas

Norėdami pritaikyti „bash“ komandų istoriją, turėsime atlikti pakeitimus ~ /.bashrc failas. Norėdami redaguoti ~ /.bashrc failą, naudokite šią komandą:

$ nano ~ /.bashrc

Baigę modifikuoti failą, naudokite Ctrl + O ir Ctrl + X, kad išsaugotumėte ir uždarytumėte nano redaktorių.

Tada paleiskite šią komandą, kad pritaikytumėte modifikacijas:

$ source ~ /.bashrc

1. Pridėti datą ir laiko žymę prie „Bash“ istorijos

Jei norite rodyti datą ir laiko žymę kartu su komandų istorija, galite tai padaryti pridėdami šią eilutę ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Dabar paleiskite istorija komanda parodys komandos istoriją su atitinkamais duomenimis ir laiko žyme.

2. Didėjantis „Bash“ istorijos dydis

Pagal numatytuosius nustatymus „Bash“ istorijos sąraše laiko 500 komandų. Tačiau šią vertę galime pakeisti naudodami reikšmę HISTSIZE.

Norėdami peržiūrėti dabartinį „bash“ istorijos dydį, terminale paleiskite šią komandą:

$ echo $ HISTSIZE

Panašiai numatytasis „bash“ istorijos failo dydis yra 500. Tai yra didžiausias įrašų skaičius, esantis istorijos faile.

Norėdami padidinti bash istorijos dydį, tarkime, 10000, pridėkite šias eilutes ~ /.„bashrc“ failas:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

Norėdami patikrinti, ar sėkmingai pakeistas „bash“ istorijos dydis, „Terminal“ vykdykite šias komandas:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Pridėkite „Bash“ komandas prie istorijos failo

Kai „bash“ sesija yra uždaryta, galite pasirinkti, ar perrašyti, ar pridėti komandas istorijos faile, naudodami kintamąjį „histappend“. Norėdami peržiūrėti dabartinius nustatymus, terminale paleiskite šią komandą:

$ shopt histappend

Išvesties „įjungta“ rodo, kad parinktis „histappend“ yra įjungta, o komandos bus pridėtos prie istorijos failo, o ne perrašyti. Nors rodoma „išjungta“, histappend parinktis yra išjungta ir failas bus perrašytas.

Atidarykite ~ /.„bashrc“ failas ir:

Pridėkite šią eilutę, jei norite pridėti komandas prie istorijos failo, o ne perrašyti:

$ shopt -s histappend

Arba pridėkite šią eilutę, jei norite išjungti parinktį „Pridėti“ ir norite perrašyti failą išeidami:

$ shopt -u histappend

4. Iš karto saugokite „Bash“ istoriją

Pagal numatytuosius nustatymus „Bash“ sesiją išsaugo „bash“ istorijos faile tik pasibaigus sesijai. Norėdami pakeisti šį numatytąjį elgesį ir priversti jį iškart išsaugoti kiekvieną vykdomą komandą, galite naudoti PROMPT_COMMAND.

Redaguoti ~ /.bashrc failą ir pridėkite šią eilutę:

$ PROMPT_COMMAND = 'istorija -a'

Dabar, kai vykdote bet kurią komandą, ji bus nedelsiant įtraukta į istorijos failą.

5. Valdykite „Bash“ istoriją

Mes galime kontroliuoti, kaip bash išsaugo mūsų komandų istoriją per HISTCONTROL kintamąjį. Mes galime jį nurodyti, kad nepaisytume pasikartojančių įrašų ir (arba) nepaisytume įrašų su priekinėmis baltomis erdvėmis.

Norėdami pritaikyti šias funkcijas, atidarykite ~ /.bashrc ir pridėkite šią eilutę su reikšmėmis, atskirtomis dvitaškiu taip:

$ export HISTCONTROL = ignorespace: ignoredups

6. Nepaisykite specifinių komandų

Mes taip pat galime valdyti, kurias komandas ignoruoti istorijoje, naudodami kintamąjį HISTIGNORE. Tai yra dvitaškiais atskirtas šablonų sąrašas, kuriame galime nurodyti visas komandas, kurių norime nepaisyti iš istorijos.

Pvz., Jei nenorime išvardyti pagrindinių komandų, tokių kaip istorija, ls, pwd komandos istorijos sąraše, tada ~ /.„bashrc“ failas:

$ export HISTIGNORE = "istorija: ls: pwd:"

Naudodami „Linux bash“ komandų istoriją galite padaryti daug daugiau nei tik pakartoti senas komandas. Šiame straipsnyje mes sužinojome, kaip naudoti „bash“ istoriją norint peržiūrėti anksčiau vykdytas komandas, taip pat išmokome valdyti, kaip „bash“ išsaugo komandų istoriją.

Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...