Klaviatūros nuorodos
Norėdami pereiti į savo bash istoriją, galite naudoti keletą naudingų sparčiųjų klavišų "bash". Paspauskite šiuos sparčiuosius klavišus, o anksčiau naudotos komandos bus rodomos eilutėje.
- Rodyklė aukštyn arba Ctrl + P: Eikite į ankstesnę istorijos komandą. Paspauskite klavišą keletą kartų, jei norite vaikščioti atgal per naudojamas komandas.
- Rodyklė žemyn arba Ctrl + N: Eikite į kitą savo istorijos komandą. Paspauskite klavišą keletą kartų, jei norite vaikščioti į priekį naudodami komandas.
- Alt + R: Grąžinkite bet kokius pakeitimus komandoje, kurią 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 ieškodamas anksčiau paleistas komandas, o ne slinkti per juos vieną po kito.
- Ctrl + R: Prisiminkite paskutinę komandą, atitinkančią jūsų pateiktus simbolius. Paspauskite šią nuorodą ir pradėkite spausdinti, kad galėtumėte ieškoti savo bash istorijoje.
- Ctrl + O: Paleiskite komandą, kurią radote naudodami Ctrl + R.
- Ctrl + G: Palikite istorijos paieškos režimą, nenaudodami komandos.
Peržiūrėkite savo istoriją
Galite spausdinti visą savo istoriją bash į ekraną, paleisdami vieną komandą:
history
Pamatysite sąrašą visų komandų savo "bash" istorijoje kartu su skaičiumi kairėje kiekvieno. Komanda su "1" šalia yra seniausia komanda jūsų bash istorijoje, o komanda su didžiausiu skaičiumi yra naujausia.
grep
komanda ieškoti komandų istorijoje.
history | grep your_search
tail
komandą peržiūrėti tik nedidelį skaičių nesenų komandų, kurias paleidote. Pavyzdžiui, ši komanda parodys paskutinius 5 įrašus jūsų istorijoje.
history | 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 ir paleiskite kokią nors kitą komandą.
Norėdami paleisti tam tikrą komandą iš savo istorijos pagal savo numerį, naudokite šią komandą:
!#
Pavyzdžiui, tarkime, kad norite paleisti 12 komandą iš savo bash istorijos. Tai komanda su "12" į kairę, kai paleidžiate
history
komanda Įveskite šią komandą.
!12
!!
Taip pat galite nurodyti komandą tam tikrą skaičių eilučių atgal. Pavyzdžiui,
!-2
atliksite antrąją komandą, kurią vykdysite.
!!
tai tas pats dalykas kaip
!-1
!!
ar bet kurią kitą šio skyriaus frazę. Pavyzdžiui, galite įvesti šią komandą, kad galėtumėte pakartotinai paleisti paskutinę komandą
sudo
suteikiant jam root privilegijas. Tai ypač naudinga, jei pamirštumėte pridėti
sudo
prieš paleisdami komandą.
sudo !!
Arba, pavyzdžiui, galėtumėte pakartotinai paleisti ankstesnę komandą ir perduoti savo išvestį grep, kad galėtumėte ieškoti kokio nors teksto.
!! | grep text
!text
Taigi, jei neseniai paleidote komandą, kuri prasidėjo
ping
galite paleisti šią komandą, kad galėtumėte ją ieškoti. Tai bus ieškoti atgal per savo istoriją, suraskite naujausią komandą, kuri prasideda"
pi
Ir nedelsiant paleiskite jį:
!pi
:p
bet kuriai iš anksčiau nurodytų išplėtimų ir bash spausdins komandą į terminalą, nenaudodami jo. Tai naudinga, jei norite patvirtinti, kad pasirenkate tinkamą komandą, kol ją paleidžiate.
!12:p
!!:p
!text:p
Pakartotinai naudoti argumentus iš savo istorijos
Bash taip pat leidžia paleisti naują komandą, tačiau naudoja ankstesnių istorijų komandų argumentus. Tai gali padėti greitai pakartotinai naudoti ilgus ar sudėtingus argumentus, nereikalaujant jų dar kartą įvesti.
command !$
Pavyzdžiui, tarkime, kad paleidote komandą
touch /home/chris/some_long_file_name_you_dont_want_to_type_again
. Dabar norite paleisti komandą
nano /home/chris/some_long_file_name_you_dont_want_to_type_again
. Užuot rašydami visą dalyką nuo nulio, galite paleisti:
nano !$
The
!$
kad bash automatiškai užpildytų paskutinį argumentą iš ankstesnės komandos.
ping google.com -c 4
ir tada paleiskite
ping !$
tai tik plėsti į"
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į:
command !^
Taigi, jei bėgo
ping google.com -c 4
ir tada bėgo
ping !^
"bash" išplės šį"
ping google.com'
command !*
Taigi, jei bėgo
ping !*
Vietoj to, bash automatiškai užpildys visus ankstesnėje komandoje naudojamus argumentus.
command !abc:#
Pavyzdžiui, mes paleisti komandą
sudo hostname ubuntu
anksčiau. Jei paleisime šią komandą, bash ieškos atgal per istoriją, kad surastume paskutinę komandą, kuri prasideda raidėmis, kurias mes įvedame, ir užpildysime nurodytą argumentą. Taigi, jei mes einame
echo !su:2
bash ieškos atgal, kad surastumėte paskutinę komandą, prasidedančią"
su
"Ir užpildyk antrą argumentą, kuris yra"
ubuntu
“.
Kiti gudrybės veikia taip, kaip tikėtumėte. Pavyzdžiui, pakeičiant numerį žvaigždute, žinoma kaip pakaitos simbolis, sukelia bash, kad užpildyti visus argumentus iš komandos:
command !abc:*
Anuliuoti ankstesnę komandą ir keisti ją
Bash taip pat leidžia pakartoti ankstesnę komandą ir nurodyti 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
"Jame su tekstu"
xyz
“.
^abc^xyz
Pavyzdžiui, jei netyčia bėgo
ping gogle.com
tada tu gali paleisti
^gog^goog
ir bash paleis komandą
ping google.com
vietoj to.
Kur saugoma jūsų istorija ir kaip ją išvalyti
"Bash" lange aplanke ~ /.bash_history paleista istorija komandų, kurias paleidote savo vartotojo abonemento istorijos byloje, pagal nutylėjimą. Pavyzdžiui, jei jūsų naudotojo vardas yra bobas, jūs galite rasti šį failą adresu /home/bob/.bash_history.
Kadangi jūsų istorija įrašoma į failą, 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
HISTSIZE
kintamasis. Numatytasis paprastai yra 500 arba 1000 įrašų. Galite paleisti šią komandą, kad galėtumėte peržiūrėti savo sistemoje esančios bash istorijos dydį.
echo $HISTSIZE
Norėdami nustatyti savo istoriją nuliui, paleiskite šią komandą.
HISTSIZE=0
Dabartinės sesijos metu bash nesaugos jokių istorijos įrašų, nebent paleisti komandą kaip
HISTSIZE=1000
nustatyti jį atgal į tam tikrą skaičių įrašų.
Kaip ignoruoti erdves ir dublikatus
Bash leidžia ignoruoti istorijos įrašus, kurie prasideda vietos, jei jūs nustatote
HISTCONTROL
kintamasis į
ignorespace.
HISTCONTROL=ignorespace
Įveskite tarpą prieš komandą prieš paleidžiant ją į bash apvalkalo ir komanda veiks normaliai, bet nebus rodoma jūsų istorijoje, jei šis kintamasis įgalintas. Tai leidžia jums išlaikyti šiek tiek švaresnę istoriją, pasirenkant paleisti komandas, kad jos nebūtų rodomos jūsų istorijoje.
HISTCONTROL
į
ignoredups.
HISTCONTROL=ignoredups
ignorespace
ir
ignoredups
funkcija, nustatykite
HISTCONTROL
kintamasis į
ignoreboth.
HISTCONTROL=ignoreboth
Atkreipkite dėmesį, kad nustatyti bash kintamieji bus išsaugoti tik dabartiniam seansui. Jums reikės juos įtraukti į savo vartotojo abonemento failą.bashrc, kad šios reikšmės būtų automatiškai nustatomos kiekviename paleidžiamame "bash" seanse, jei to norėsite.