Kuidas kasutada oma Bashi ajalugu Linuxis või macOS-terminalis

Sisukord:

Kuidas kasutada oma Bashi ajalugu Linuxis või macOS-terminalis
Kuidas kasutada oma Bashi ajalugu Linuxis või macOS-terminalis

Video: Kuidas kasutada oma Bashi ajalugu Linuxis või macOS-terminalis

Video: Kuidas kasutada oma Bashi ajalugu Linuxis või macOS-terminalis
Video: Class 01 Reading Marx's Capital Vol I with David Harvey - YouTube 2024, Aprill
Anonim
Bash-kaust on standardse terminali keskkond, mis on kaasatud enamikku MacOS-i sisaldavatest Linuxi distributsioonidest ja on saadaval Windows 10-le installimiseks. See mäletab käske, mille tipite ja salvestate ajaloo faili. Tõenäoliselt teate bash ajaloo mõningaid põhitõdesid, kuid see on palju võimsam kui võite aru saada.
Bash-kaust on standardse terminali keskkond, mis on kaasatud enamikku MacOS-i sisaldavatest Linuxi distributsioonidest ja on saadaval Windows 10-le installimiseks. See mäletab käske, mille tipite ja salvestate ajaloo faili. Tõenäoliselt teate bash ajaloo mõningaid põhitõdesid, kuid see on palju võimsam kui võite aru saada.

Klaviatuuri otseteed

Bashi ajaloo sirvimiseks võite kasutada mõnda bashi palju kasulikke klaviatuuri otseteid. Vajutage neid otseteid ja käske, mida olete varem kasutanud.

  • Noole üles või Ctrl + P: Mine oma eelmise käsku. Vajutage klahvi mitu korda, et liikuda kasutatavate käskude abil tagurpidi.
  • Allapoole või Ctrl + N: Mine järgmisele käsule oma ajaloos. Vajutage klahvi mitu korda, et edasi liikuda läbi käske, mida olete kasutanud.
  • Alt + R: Tagastab muudatused käsklusse, mille olete oma ajaloost välja tõmbanud, kui olete selle praeguses reas muutnud.

Bashil on ka spetsiaalne "tagasikutsumise" režiim, mille abil saate otsida käske, mida olete varem käitanud, selle asemel, et kerida neid ükshaaval.

  • Ctrl + R: Tuletage meelde viimane käsk, mis vastab teie määratud tähemärkidele. Vajutage seda otseteed ja hakake tippima, et otsida oma bash ajaloost käsku.
  • Ctrl + O: Käivita käsk, mille leidsite Ctrl + R-ga.
  • Ctrl + G: Jätke ajaloo otsimise režiim käsku käivitamata.
Image
Image

Vaadake oma bassi ajalugu

Saate oma kogu bassi ajaloo printida ekraanile, käivitades ühe käsuga:

history

Näete nimekirja kõigist teie bash ajaloo käskudest koos numbriga, mis vasakule neist on. Käsu kõrval olev "1" on teie bashi ajaloos vanim käsk, kõige suurema arvu kõige rohkem käsu käsk.

Saate väljundiga midagi teha, mida soovite. Näiteks võite selle torule suunata
Saate väljundiga midagi teha, mida soovite. Näiteks võite selle torule suunata

grep

käsk käsku otsida oma käsku ajalugu.

history | grep your_search

Võite ka toru see viia
Võite ka toru see viia

tail

käsk, et näha ainult väikest arvu viimati kasutatud käske. Näiteks, järgmine käsk näitab teie viimase 5 kirja oma ajaloos.

history | tail -5

Image
Image

Käivitage käsklusi oma ajaloost

Bash saab kiiresti laiendada varasemaid käske või laiendada neid ja neid muuta. See funktsioon on tuntud kui "ajaloo laiendamine" ja kasutab hüüumärki, mida nimetatakse "pahaks". Lihtsalt kirjuta need viipa ja vajuta Enter, et neid käitada, nagu oleksite käsku käivitada.

Selleks, et käivitada konkreetse käsku oma ajaloost selle numbri järgi, kasutage järgmist käsku:

!#

Näiteks ütleme, et soovite käivitada 12. käsu oma bash-ajaloost. See käsk vastab käsku "12", kui käivitate

history

käsk Sisesta järgmine käsk.

!12

Viimase käskluse uuesti käivitamiseks sisestage järgmine. Sellel on sama efekt, kui vajutada üles-nooleklahvi üks kord eelmise käskluse vaatamiseks ja seejärel vajutada Enter.
Viimase käskluse uuesti käivitamiseks sisestage järgmine. Sellel on sama efekt, kui vajutada üles-nooleklahvi üks kord eelmise käskluse vaatamiseks ja seejärel vajutada Enter.

!!

Võite viidata käsule teatud arvu ridade tagasi. Näiteks,

!-2

käiks teine viimane käsu sa jooksed.

!!

tähendab sama asja nagu

!-1

This expansion works anywhere on the line. You can add anything you like before or after
This expansion works anywhere on the line. You can add anything you like before or after

!!

või mõni muu selles jaotises esitatud väljend. Näiteks võite sisestada järgmise käsu, et uuesti käivitada viimane käsklus

sudo

andes sellele administraatoriõigused. See on eriti kasulik, kui te unustate lisada

sudo

enne käsku käivitamist.

sudo !!

Või näiteks võite eelmise käskluse uuesti käivitada ja suunata oma väljundi, et otsida mõnda teksti hiireklahviga.

!! | grep text

Selleks, et otsida käsku oma ajaloos ja käivitada, sisestage järgmine. Sellega käivitatakse viimane käsu, mis sobib teie määratud tekstiga:
Selleks, et otsida käsku oma ajaloos ja käivitada, sisestage järgmine. Sellega käivitatakse viimane käsu, mis sobib teie määratud tekstiga:

!text

Nii et kui sa hiljuti käivitasid käskluse, mis algas

ping

saate selle otsimiseks käivitada järgmise käsu. See otsib teie ajaloost tagasi, leidke kõige uuem käsk, mis algab"

pi

Ja kohe käivitage see:

!pi

Võite lisada a
Võite lisada a

:p

mis tahes ülaltoodud laiendusi ja bash trükkab käsu terminalile ilma selle käivitamata. See on kasulik, kui soovite, et valite õige käskluse enne selle käivitamist.

!12:p

!!:p

!text:p

Image
Image

Kasutage uuesti oma argumentide argumente

Bash võimaldab teil käivitada ka uue käsu, kuid kasutada oma ajaloo varasemate käskude argumente. See võib aidata teil pikki või keerukaid argumente kiiresti uuesti kasutada, ilma et peaksite neid uuesti looma.

command !$

Näiteks ütleme, et sa jooksed käsku

touch /home/chris/some_long_file_name_you_dont_want_to_type_again

. Nüüd soovite käsku käivitada

nano /home/chris/some_long_file_name_you_dont_want_to_type_again

. Selle asemel, et kirjutada kogu asi nullist, võite käivitada:

nano !$

The

!$

paneb bash automaatselt viimase eelmise käsu eelmise käsu.

See täidab ainult viimast argumenti. Nii et kui sa jooksed
See täidab ainult viimast argumenti. Nii et kui sa jooksed

ping google.com -c 4

ja siis jookse

ping !$

peaks see lihtsalt laienema"

ping 4

“.

Selle olukorra parandamiseks võite kasutada järgmise trikkina rida esimese argumendi laiendamiseks, mitte viimase:

command !^

Nii et kui sa jooksed

ping google.com -c 4

ja siis jooksis

ping !^

bash laiendaks seda"

ping google.com'

Selleks, et täita kõik argumendid, mida eelmises käskluses kasutati vaid ühe argumendi asemel, kasutaksite järgmist.
Selleks, et täita kõik argumendid, mida eelmises käskluses kasutati vaid ühe argumendi asemel, kasutaksite järgmist.

command !*

Nii et kui sa jooksed

ping !*

Selle asemel täidab bash automaatselt kõik eelmises käskluses kasutatud argumendid.

Võite kasutada sama trikki, mida kasutate oma ajaloost käskude käitamiseks, et nende argumentide saamiseks saada. Kasutage lihtsalt järgmist vormi.
Võite kasutada sama trikki, mida kasutate oma ajaloost käskude käitamiseks, et nende argumentide saamiseks saada. Kasutage lihtsalt järgmist vormi.

command !abc:#

Näiteks käisime käsku

sudo hostname ubuntu

varem Kui käivitame järgmise käskluse, otsib bash läbi ajaloo tagantjärele, et leida viimane käsk, mis algab kirjadega, mida me sisestame, ja täidame meie poolt määratud argumendi. Nii et kui me käime

echo !su:2

bash otsib uuesti, et leida viimane käsk, mis algab tähega"

su

"Ja täitke teine argument, mis on"

ubuntu

“.

Teised trikid toimivad nagu võite eeldada. Näiteks asendades numbriga tärniga, mida tuntakse metamärina, põhjustab bash, et täita kõik argumendid käsust:

command !abc:*

Image
Image

Korda eelmist käsku ja muutke seda

Bash võimaldab teil uuesti käivitada eelmise käskluse ja määrata midagi, mida tuleks muuta. See võib olla kasulik käsitsi kirjutamata paranduste tegemiseks. Näiteks käivitab järgmine käsk eelmise käskluse, asendades teksti"

abc

"Selles tekstis"

xyz

“.

^abc^xyz

Näiteks kui sa kogemata jooksid

ping gogle.com

siis võiksite käia

^gog^goog

ja bash käivitas käsu

ping google.com

selle asemel.

Image
Image

Kus teie ajalugu hoitakse ja kuidas seda kustutada

Bashi shell salvestab käskude ajaloo, mille olete oma kasutajakonto ajaloo failis käivitanud vaikimisi ~ /.bash_history. Näiteks kui teie kasutajanimi on bob, leiate selle faili aadressil /home/bob/.bash_history.

Kuna teie ajalugu on failis salvestatud, püsib see seansside vahel. Saate käivitada mõningaid käske, välja logida, tulla järgmisel päeval tagasi ja need käsud on ikka veel teie ajaloo failis valmis vaatamiseks ja kasutamiseks. Igal kasutajakontol on omaenda ajaloo fail koos eraldi käskude ajalooga.

Bashi ajaloo kustutamiseks võite käivitada järgmise käsu. See kustutab teie kasutajakonto faili.bash_history:

history -c

Bash mäletab vaikimisi ainult piiratud arvu käske, vältides ajaloo faili liiga suurt kasvu. Ajaloo sissekannete arv bash meelestab kontrollib
Bash mäletab vaikimisi ainult piiratud arvu käske, vältides ajaloo faili liiga suurt kasvu. Ajaloo sissekannete arv bash meelestab kontrollib

HISTSIZE

muutuv. Vaikimisi on tavaliselt 500 või 1000 kirjet. Saate käivitada järgmise käsu, et näha oma süsteemi bassi ajalugu.

echo $HISTSIZE

Ajaloo nullimiseks käivitage järgmine käsk.

HISTSIZE=0

Praeguse seansi puhul bash ei salvesta ühtegi ajaloo kirjeid, välja arvatud juhul, kui käivitage käsk nagu

HISTSIZE=1000

et seada see tagasi teatud arvu sissekannete juurde.

Image
Image

Kuidas ignoreerida tühikuid ja duplikaate

Bash võimaldab teil ignoreerida ajaloo sissekandeid, mis algavad tühikuga, kui määrate

HISTCONTROL

muutuv kuni

ignorespace.

HISTCONTROL=ignorespace

Sisestage ruum enne käsu enne selle käivitamist bash-shellis ja käsk toimib normaalselt, kuid seda ei kuvata teie ajaloos, kui see on lubatud. See võimaldab hoida ajalugu natuke puhtamana, valides käske käivitada, ilma et need oleksid teie ajaloos kuvatud.

Bash võimaldab ka ignoreerida korduvaid käske, mis võivad teie ajalugu segamini ajada. Selleks määrake
Bash võimaldab ka ignoreerida korduvaid käske, mis võivad teie ajalugu segamini ajada. Selleks määrake

HISTCONTROL

et

ignoredups.

HISTCONTROL=ignoredups

Kasutada mõlemat
Kasutada mõlemat

ignorespace

ja

ignoredups

funktsioon, seadistage

HISTCONTROL

muutuv kuni

ignoreboth.

HISTCONTROL=ignoreboth

Pange tähele, et bashi muutujad, mille olete määranud, püsivad ainult praeguse seansi jaoks. Peate need lisama oma kasutajakonto failile.bashrc, et need väärtused seatakse automaatselt iga algse bash-seansi puhul, kui see eelistate.

Soovitan: