Kriauklė

Geriausia iš „Linux Bash“ istorijos

Geriausia iš „Linux Bash“ istorijos

„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:

ARBA

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“ + PNaudodamiesi š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“ + NNaudodami šiuos valdiklius galite parodyti kitą naudojamą komandą. Galite kelis kartus paspausti šiuos valdiklius, jei norite pereiti prie konkrečios komandos istorijoje.
„Alt“ + RJei 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“ + RNaudodami šį valdiklį galite iškviesti komandą iš istorijos nurodydami paieškos eilutę.
„Ctrl“ + ONaudodami šį valdiklį, galite paleisti komandą, kurią prisiminėte naudodami „Ctrl“ + R
„Ctrl“ + GNaudodami šį 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

$ !#

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.

$ !!

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:

$ ![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.

„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...