lt.phhsnews.com


lt.phhsnews.com / Kaip naudoti "Bash" istoriją "Linux" arba "macOS" terminale

Kaip naudoti "Bash" istoriją "Linux" arba "macOS" terminale


"bash shell" yra standartinė terminalo aplinka, kuri yra daugelyje "Linux" paskirstymų, įtrauktų į "macOS", ir galima įdiegti "Windows 10". Jis prisimena komandas, kurias įvedate ir saugo istorijos byloje. Jūs tikriausiai žinote keletą bash istorijos pagrindų, tačiau tai yra daug galingesnė, nei galėtumėte suvokti.

Klaviatūros spartos klavišai

SUSIJĘS: Geriausi klaviatūros spartieji klavišai "Bash" (dar žinomas kaip "Linux" ir "macOS" terminalas)

Norėdami pereiti į savo bash istoriją, galite naudoti keletą naudingų klaviatūros nuorodų iš bash. Paspauskite šiuos sparčiuosius klavišus, o anksčiau naudotos komandos bus rodomos eilutėje.

  • Ar rodyklė aukštyn arba Ctrl + P : eikite į ankstesnę savo istorijos komandą. Paspauskite klavišą keletą kartų, jei norite vaikščioti atgal naudodami komandas.
  • rodyklė žemyn arba Ctrl + N : eikite į kitą savo istorijos komandą. Paspauskite klavišą keletą kartų, jei norite vaikščioti į priekį naudodamiesi kitomis komandomis.
  • Alt + R : pakeiskite komandą, kurią jūs ištraukėte iš savo istorijos, jei ją redagavote dabartinėje eilutėje.

"Bash" taip pat turi specialų "atšaukimo" režimą, kurį galite naudoti anksčiau paleistoms komandoms ieškoti, o ne naršyti juos po vieną.

  • Ctrl + R : Prisiminkite paskutinę komandą, atitinkančią jūsų pateiktus simbolius.
  • Ctrl + O : paleiskite komandą, kurią radote naudodami Ctrl + R.
  • Ctrl + G : palikite istorijos paieškos būdą.

Peržiūrėti savo istoriją Bash

Jūs galite išspausdinti visą savo istoriją Bash istorijoje, paleidę vieną komandą:

istorija

Pamatysite visų savo komandų sąrašą. bash istorija, kartu su skaičiumi į kairę nuo kiekvieno. Komanda su "1" šalia yra seniausia komanda jūsų bash istorijoje, o komanda su didžiausiu skaičiumi yra naujausia.

SUSIJĘS: Tapkite Linux terminalo galios naudotoju, naudodami šiuos 8 gudrybes

Galite daryti viską, kas jums patinka, su produkcija. Pavyzdžiui, galite jį perkelti į komandągrep, kad galėtumėte ieškoti komandų istorijoje.

history | grep your_search

Galite taip pat pakabinti jį į komandątail, kad peržiūrėtumėte tik nedaugeliu nesenų komandų, kurias paleidote. Pavyzdžiui, ši komanda parodys paskutinius 5 įrašus jūsų istorijoje.

istorija | tail -5

Vykdyti komandas iš savo istorijos

Bash gali greitai "išplėsti" ankstesnes komandas, juos išplėsti ir keisti. Ši funkcija vadinama "istorijos išplėtimu" ir naudoja šauktuką, vadinamą "sprogimo" funkcija. Tiesiog įveskite juos eilutėje ir paspauskite Enter, kad paleistumėte juos, kaip paleisti bet kurią kitą komandą.

Norėdami paleisti tam tikrą komandą iš savo istorijos pagal jo numerį, naudokite šią komandą:

! #

Pavyzdžiui, tarkime, kad norite paleisti 12 komandą iš savo bash istorijos. Tai komanda su "12" į kairę, kai paleidžiate komandąhistory. Norėtumėte įvesti šią komandą.

! 12

Norėdami vėl paleisti paskutinę komandą, kurią paleidžiate, įveskite šią. Tai turi tą patį efektą, kaip vieną kartą paspaudus rodyklę aukštyn, norėdami peržiūrėti ankstesnę komandą ir paspausti Enter.

!!

Taip pat galite kreiptis į komandą į tam tikrą eilučių skaičių. Pavyzdžiui,! - 2paleista antra pagal paskutinę komandą, kurią paleidžiate.!!reiškia tą patį, kaip! - 1.

dirba bet kurioje linijoje. Galite pridėti bet ką, ko jums patinka prieš arba po!!ar bet kurios kitos šio skyriaus išraiškos. Pavyzdžiui, galite įvesti šią komandą, kad galėtumėte pakartotinai paleisti paskutinę komandą, kurią paleidotesudo, suteikiant jam root privilegijas. Tai ypač naudinga, jei pamiršai pridėtisudoprieš paleidžiant komandą.

sudo !!

Arba, pavyzdžiui, galėtumėte pakartotinai paleisti ankstesnę komandą ir perkelti savo išvestį į grep paiešką ka nors tekstas.

!! | grep tekstas

Norėdami ieškoti komandą savo istorijoje ir paleisti ją, įveskite šią. Tai atliks paskutinę komandą, atitinkančią jūsų nurodytą tekstą:

! text

Taigi, jei neseniai paleidžiate komandą, prasidėjusią naudojantping, galite ieškoti šios komandos. Tai bus ieškoti atgal per savo istoriją, suraskite naujausią komandą, kuri prasideda simboliu "pi" ir iš karto ją paleiskite:

! Pi

Galite pridėti: pbet kuriai iš anksčiau nurodytų išplėtimų ir bash spausdins komandą į terminalą, be jo paleisdami. Tai yra naudinga, jei norite patvirtinti, kad pasirenkate teisingą komandą prieš paleidžiant ją.

! 12: p
!!: p
! Text: p

pakartotinai naudokite argumentus iš savo istorijos

Bash taip pat leidžia paleisti naują komandą, bet naudoja argumentus iš ankstesnių komandų savo istorijoje.

command! $

Pavyzdžiui, tarkime, kad paleidote komandątouch / home / chris / some_long_file_name_you_dont_want_to_type_again, kad galėtumėte greitai pakartotinai naudoti ilgus ar sudėtingus argumentus. Dabar norite paleisti komandąnano / home / chris / some_long_file_name_you_dont_want_to_type_again.

nano! $

Užuot įvesdami visą dalyką nuo nulio, galite paleisti:nano! $, kad bash automatiškai užpildytų paskutinį argumentą iš ankstesnės komandos.

Tai tik užpildo paskutinį argumentą. Taigi, jei naudojateping google.com-c 4ir paleiskiteping! $, tai tik išplės į "ping 4".

Norėdami išspręsti šią situaciją, galite naudoti šį triuką, norėdami išplėsti pirmąjį argumentą eilutėje, o ne paskutinį:

komanda! ^

Taigi, jei paleidžiateping google.com-c 4ir tada paleidoteping! ^, bash išplėtė jį į "ping google.com".

Norėdami užpildyti visus argumentus, naudojamus ankstesnėje komandoje, o ne tik Vienintelis argumentas, jūs naudojate šiuos:

command! *

Taigi, jei paleistiping! *, bash automatiškai užpildys visus ankstesnėje komandoje naudojamus argumentus

komandą! Abc: #

Pavyzdžiui, mes paleidome komandą

.Jūs galite naudoti tą patį apgauti, kurį naudojate komandoms paleisti iš savo istorijos, kad gautumėte jų argumentus. > sudo hostname ubuntuanksčiau. Jei paleisime šią komandą, bash ieškos atgal per istoriją, norėdami rasti paskutinę komandą beginni ng su raidėmis mes įveskite ir užpildykite argumentą, kurį mes nurodome. Taigi, jei paleiskimeecho! Su: 2, bash ieškos paskutinės komandos, prasidedančios "su" ir užpildys antrą argumentą, kuris yra "Ubuntu".

Kiti gudrybės veikia taip, kaip tikėjotės. Pavyzdžiui, pakeičiant numerį žvaigždute, žinoma kaip pakaitos simbolis, sukelia bash užpildyti visus argumentus iš komandų:

command! Abc: *

Ankstesnės komandos pakartojimas ir keisti jį

Bash taip pat leidžia pakartokite ankstesnę komandą ir nurodykite kažką, kuris turėtų būti pakeistas. Tai gali būti naudinga norint ištaisyti klaidą komandoje. Pavyzdžiui, ši komanda vėl pakartos ankstesnę komandą, pakeisdama tekstą "abc" į tekstą "xyz".

^ abc ^ xyz

Pavyzdžiui, jei netyčia paleidoteping gogle.com, tuomet galėtum paleisti^ gog ^ googir bash paleisti komandąping google.com.

Kur saugoma jūsų istorija ir kaip ją išvalyti

"bash" aplankas pagal nutylėjimą saugo komandų istoriją, kurią paleidote savo vartotojo abonemento istorijos byloje ~ / .bash_history. Pavyzdžiui, jei jūsų naudotojo vardas yra bobas, jūs rasite šį failą adresu /home/bob/.bash_history.

Kadangi jūsų istorija saugoma faile, ji išlieka tarp sesijų. Galite paleisti kai kurias komandas, atsijungti, grįžti kitą dieną, o tos komandos vis tiek bus jūsų istorijos byloje pasiruošę peržiūrėti ir naudoti. Kiekviena vartotojo sąskaita turi savo istorijos failą su atskira komandų istorija.

Norėdami išvalyti savo istoriją, galite paleisti šią komandą. Tai ištrina jūsų vartotojo abonemento failo .bash_history turinį:

history -c

"Bash" tik prisimena ribotą skaičių komandų pagal nutylėjimą, užkertant kelią istorijos failo didėjimui. Istorinių įrašų, kuriuos išsaugo bash, skaičius yra kontroliuojamasHISTSIZEkintamasis. Numatytasis paprastai yra 500 arba 1000 įrašų.

echo $ HISTSIZE

Norėdami nustatyti savo istoriją nuliui, paleiskite šią komandą.

HISTSIZE = 0

Jei norite, kad jūsų istorija būtų lygi nuliui, paleiskite šią komandą. Dabartinė sesija, bash nesaugos jokių istorijos įrašų, nebent paleisti tokį komandą kaipHISTSIZE = 1000, norėdami nustatyti jį atgal į tam tikrą skaičių įrašų.

Kaip ignoruoti erdves ir dublikatus

Bash leidžia ignoruoti istorijos įrašus, kurie prasideda erdve, jei nustatoteHISTCONTROLkintamąjįignorespace.

HISTCONTROL = ignorespace

Prieš paleidžiant komandą į komandą bash apvalkalas ir komanda veiks normaliai, bet nebus rodomas jūsų istorijoje, jei šis kintamasis įgalintas. Tai leidžia išlaikyti šiek tiek švaresnę istoriją, pasirenkant paleisti komandas be jų rodomų jūsų istorijoje.

Bash taip pat leidžia ignoruoti pasikartojančias komandas, kurios gali sutramdyti istoriją. Norėdami tai padaryti, nustatykiteHISTCONTROLikiignoredup.

HISTCONTROL = ignoredups

Norėdami naudoti funkcijąignorepsasir ignoruojamas, nustatykiteHISTCONTROLkintamasis ikiignoreboth.HISTCONTROL = ignoreboth

Atkreipkite dėmesį, kad nustatyti bash kintamieji bus tęsiami tik dabartiniam seansui. Jums reikės pridėti juos prie savo vartotojo abonemento failo .bashrc, kad šios reikšmės būtų automatiškai nustatomos kiekviename paleidžiamame "bash" seanse, jei norite.

"bash" apvalkalas yra sudėtingas įrankis su daugybe kitų galimybių nei šie. Daugiau informacijos ir kitų pažangių gudrybių, kuriuos galite naudoti, rasite "Bash History Builtins" ir istorijos išplėtimo skyriuose oficialiame "bash" žinyne.


Kaip užšifruoti

Kaip užšifruoti "Mac" laiko mašinos atsarginę kopiją

Jūs užšifruojate savo "Mac" sistemos diske, kaip ir jūs: jei jūsų kompiuteris yra pavogtas, jūsų duomenys saugūs nuo smalsių akių. Tačiau ant jūsų stalo, šalia jūsų "Mac", yra kietojo disko visko kopija: jūsų "Time Machine" atsarginė kopija. Ar kas nors, kas sugavęs tą diską, turėtų prieigą prie visos tos pačios informacijos?

(how-top)

Kaip priversti

Kaip priversti "YouTube" vaizdo įrašus atidaryti "YouTube" žaidimų sąsajoje

Ar matėte tamsią, į pokalbį orientuotą "YouTube" žaidimų vartotojo sąsają? "Google" atsakymas į žaidimų transliacijos svetainę "Twitch" turi keletą įdomių funkcijų ir yra gana sklandus, kad būtų įkeltas. Tačiau skirtumas tarp įprastų "YouTube" ir "YouTube" žaidimų yra ... geras, mažiau nei skirtingas.

(how-top)