„Linux“ komandinė eilutė - „Terminal“, kaip ir visi korpusai, saugo naudotojo anksčiau vykdytų komandų istoriją. Ši istorija yra nuolatinė ir lieka atmintyje net tada, kai perkrauname savo sistemą. Šias saugomas komandas galime optimaliausiai pakviesti ir pakartotinai naudoti, kad efektyviai naudotume daugumos kriauklių istorijos išsaugojimo funkciją.
„Linux bash“ yra su labai galinga komanda, vadinama „istorija“. Ši komanda yra įmontuota „bash“ komanda, naudojama norint išgauti informacijos apie komandas, kurias „Linux“ vartotojai vykdė visose ankstesnėse sesijose, istoriją. Šioje pamokoje mes padėsime jums kuo geriau išgauti savo apvalkalo istoriją išmokdami tinkamai naudoti komandą istorija. „Linux“ saugo tam tikro vartotojo komandų istoriją faile ~ /.pagal nutylėjimą „bash_history“.
Šioje pamokoje nurodytoms komandoms vykdyti naudosime „Linux“ programą „Terminal“.
Visos istorijos peržiūra
Vartotojas gali peržiūrėti visą savo „shell“ komandų istoriją iš istorijos failo, išsaugoto tik tam vartotojui, naudodamas šią paprastą komandą:
$ istorija
Istorija ekrane bus spausdinama tokiu numatytuoju formatu:
Aukščiau pateiktame paveikslėlyje galite pamatyti visų komandų sąrašą su kiekvienai iš jų priskirtu numeriu. Skaičius 1 atitinka pirmąją komandą, kurią vykdėte, o paskutinė sunumeruota komanda reiškia paskutinę komandą, kurią įvykdėte.
Jei naudodamiesi „bash“ vykdėte daug komandų, pastebėsite, kad tų komandų čia bus rodoma šimtai ir net tūkstančiai. Norėdami pasiekti keletą susijusių komandų, galite filtruoti rezultatus, rodomus pagal istorijos funkciją. Taip pat galite pritaikyti istorijos komandą, kad būtų rodomas konkretus komandų skaičius.
Filtruoti istorijos išvestį
Jei norite filtruoti savo istorijos išvestį pagal konkretų raktinį žodį, kurį galbūt naudojote ankstesnėse komandose, istoriją galite naudoti taip:
$ istorija | grep [raktinis žodis]
Pavyzdys: Šiame pavyzdyje noriu peržiūrėti tik tas ping komandas, kurias aš kada nors vykdžiau apvalkale. Todėl naudosiu šią komandą:
$ istorija | grep ping
Galite pamatyti, kad mano išvestyje dabar rodomos tik komandos, įskaitant paieškos raktinį žodį „ping“ Reklama
Naujausių komandų skaičiaus peržiūra
Taip pat galite peržiūrėti konkretų komandų skaičių, pavyzdžiui:
- N paskutinių komandų skaičius
ARBA
- N seniausių komandų skaičius
N Naujausių komandų skaičius
Konkretų neseniai paleistų komandų skaičių galite peržiūrėti naudodami šią komandą:
$ istorija | uodega -n
Pavyzdys:
Šiame pavyzdyje noriu peržiūrėti paskutines 3 paleistas komandas su raktiniu žodžiu „ping“:
$ istorija | grep ping | uodega -3
Išvestyje vietoj visos istorijos rodomos tik 3 naujausios ping komandos
N Seniausių komandų skaičius
Konkretų seniausių vykdymo komandų skaičių galite peržiūrėti naudodami šią komandą:
$ istorija | galva -n
Pavyzdys:
Šiame pavyzdyje noriu peržiūrėti seniausias 3 paleistas komandas su raktiniu žodžiu „ping“:
$ istorija | grep ping | galva -3
Išvestyje vietoj visos istorijos rodomos tik 3 seniausios ping komandos
Išvardykite visas komandas su data ir laiko žyme
Jei norite peržiūrėti komandos istoriją kartu su data ir laiko žyme, naudokite šią eksportavimo komandą:
$ export HISTTIMEFORMAT = "% F,% T"
Dabar, kai norite peržiūrėti istoriją, tiesiog paleiskite komandą istorija, kad pamatytumėte išvestį tokiu formatu:
Atkreipkite dėmesį, kad šis formato pakeitimas yra laikinas ir jis bus atkurtas pagal ankstesnį standartą, kai uždarysite sesiją.
Komandų naršymas iš istorijos
Kol esate komandų eilutėje, galite naršyti po anksčiau paleistas komandas ir taip pat prisiminti kai kurias neseniai naudojamas komandas pateikdami raktinį žodį.
Slinkimas per komandas
Norėdami naršyti istorijos komandas, galite naudoti šiuos klaviatūros valdiklius
Rodyklė aukštyn / „Ctrl“ + P | Naudodamiesi šiais valdikliais, galite parodyti ankstesnę komandą, kurią naudojote. Galite kelis kartus paspausti šiuos valdiklius, jei norite grįžti prie konkrečios komandos istorijoje. |
Rodyklė žemyn / „Ctrl“ + N | Naudodami šiuos valdiklius galite parodyti kitą naudojamą komandą. Galite kelis kartus paspausti šiuos valdiklius, jei norite pereiti prie konkrečios komandos istorijoje. |
„Alt“ + R | Jei redaguojate komandą, kurią ištraukėte iš istorijos, dabartinėje eilutėje, galite naudoti šį valdiklį norėdami grąžinti pradinę komandą. |
Komandų atšaukimas
Galite atšaukti, paleisti arba pasirinkti nevykdyti konkrečios komandos iš istorijos naudodami šiuos valdiklius:
„Ctrl“ + R | Naudodami šį valdiklį galite iškviesti komandą iš istorijos nurodydami paieškos eilutę. |
„Ctrl“ + O | Naudodami šį valdiklį, galite paleisti komandą, kurią prisiminėte naudodami „Ctrl“ + R |
„Ctrl“ + G | Naudodami šį valdiklį galite išeiti iš istorijos nepaleisdami komandos, kurią prisiminėte naudodami „Ctrl“ + R |
Pavyzdys:
Šiame pavyzdyje paspaudžiau „Ctrl“ + R, tada pateikiau paieškos eilutę „ar“. Istorijoje buvo rodoma komanda „arch“.
Kai paleidžiau komandą „arch“ paspausdami „Ctrl“ + O, ji parodė mano sistemos procesoriaus architektūrą:
Naudojant „Bash“ istoriją
Tikroji „bash“ istorijos magija yra naudojant įvairias komandas ir pritaikant pačią istorijos komandą, kad būtų galima geriausiai panaudoti istorijos funkciją:
Komandų vykdymas iš istorijos
- Kaip jau matėme anksčiau, komanda istorija rodo komandas susiedama skaičių su kiekviena. Naudodami šią komandą, galite paleisti tam tikrą komandą iš istorijos pagal jos numerį:
$ !#
Pavyzdys:
Čia vykdau komandos numerį 95 iš savo istorijos:
$ !95
Išvestyje rodomas „lscpu“ rezultatas, kuris buvo nurodytas kaip komandos numeris 95 mano bash istorijoje. Ši komanda rodo mano procesoriaus ir operacinės sistemos specifikacijas.
- Galite iš naujo paleisti ankstesnę komandą naudodami šią komandą:
$ !!
Pavyzdys:
Čia galite pamatyti, kad paleidžiau komandą „arch“. Vykdydamas pirmiau nurodytą komandą, aš galiu iš naujo paleisti komandą „arch“, kad galėčiau peržiūrėti savo procesoriaus architektūrą taip:
- Norėdami ieškoti komandos iš istorijos ir paleisti ją, naudokite šią komandą:
$ ![raktinis žodis]
Pavyzdys:
Aš naudosiu šią komandą, norėdamas iš naujo paleisti paskutinę komandą su raktiniu žodžiu „dconf“:
$ !dconf
Šiame paveikslėlyje galite iš naujo patvirtinti, kad tai buvo paskutinė mano paleista „dconf“ komanda.
Naudojant argumentus iš ankstesnių komandų
„Linux bash“ leidžia paleisti naują komandą naudojant argumentus iš ankstesnės komandos. Tai ypač naudinga, kai norite išvengti ilgų ar sudėtingų argumentų perrašymo. Šiam tikslui galite naudoti šią komandą:
Naudojant paskutinį argumentą iš ankstesnės komandos
$ [Komanda] !$
Kintamasis !$ jame yra paskutinis argumentas iš ankstesnės komandos.
Pavyzdys:
Šiame pavyzdyje sukursiu failą su ilgu pavadinimu.
Nano [longnameOfaFile]
Tada nukopijuosiu jį į kitą vietą, vengdamas vėl įvesti ilgąjį vardą taip:
Cp !$ [paskirties aplankas]
Matote, kad man pavyko nukopijuoti failą neperrašius failo pavadinimo naudojant kintamąjį !$
Naudojant pirmąjį argumentą iš ankstesnės komandos
Kartais dabartiniame naudingas tik pirmasis argumentas iš ankstesnės komandos.
Tokiu atveju galite naudoti šią komandą:
$ [komanda] !^
Pavyzdys:
Šiame pavyzdyje paleidžiau komandą ping, argumentais nurodydamas pagrindinio kompiuterio pavadinimą ir skaičių. Dabar savo naujoje komandoje noriu naudoti pagrindinio kompiuterio pavadinimą (pirmasis argumentas), o ne 2 (paskutinis argumentas). Šiam tikslui naudosiu šią komandą:
$ ping !^
Naudojant visus ankstesnės komandos argumentus
Taip pat galite naudoti visus ankstesnės komandos argumentus naudodami šią komandą:
$ !*
Naudojant vieną istorijos komandos argumentą
Taip pat galite naudoti savo istorijos komandas pakartotinai naudodami jų argumentus. Tam tikslui naudokite šią komandą:
$ [komanda] ![raktinis žodis]: #
Pavyzdys:
$ aidas !cp: 2
Ši komanda atliks šiuos parametrus:
komanda: aidas
Raktažodis: cp
#: 2 (antrasis komandos argumentas)
Toliau pateiktame išvestyje rodomas paskutinės mano paleistos komandos antrasis argumentas:
Naudojant visus istorijos komandos argumentus
Ši komanda išsaugos visus ieškomos istorijos komandos argumentus ir naudos juos dabartinėje komandoje:
$ komanda ![raktinis žodis]: *
Pavyzdys:
Šioje komandoje atsispausdinsiu visus paskutinės cp komandos argumentus naudodamas komandą echo taip:
$ aidas ![cp]: *
Ankstesnių komandų modifikavimas ir vykdymas
Jei įvedėte klaidą komandą arba norite paleisti komandą iš naujo, pakeisdami joje esantį tekstą; tai yra būdas tai padaryti:
$ ^ [previoustext] ^ [newtext]
Pavyzdys:
Aš neteisingai įvedžiau komandą „grep“ kaip „gep“ ir dabar noriu paleisti komandą pataisydamas tekstą:
$ ^ gep ^ grep
Dabar galite pamatyti, kad mano pataisyta komanda veiks tinkamai:
Kliringo istorija
Norėdami ištrinti savo bash istoriją, naudokite šią komandą:
$ istorija -c
Ši komanda išvalys jūsų istoriją ir pašalins visą turinį iš failo ~ /.bash_istorija
Šioje pamokoje sužinojome, kad nors spausdinti visą istorijos turinį gali būti ne taip naudinga, išvesties optimizavimas naudojant išmoktas komandas yra tikras žaidimų keitiklis. Praktika kartu su šiuo straipsniu leis jums peržiūrėti tikslias komandas, kurias norite, iš naujo paleisti ir naudoti šias komandas, taip pat naudoti argumentus iš anksčiau paleistų komandų, kad optimizuotumėte naujas.