Koduleht » kuidas » Kuidas kasutada oma Bashi ajalugu Linuxi või MacOSi terminalis

    Kuidas kasutada oma Bashi ajalugu Linuxi või MacOSi terminalis

    Bash shell on standardne terminali keskkond, mis on kaasatud enamiku Linuxi distributsioonidega, mis on MacOSiga kaasas ja mis on saadaval installimiseks Windows 10-s. Tõenäoliselt teate mõned bash-ajaloo põhitõed, kuid see on palju võimsam, kui võite aru saada.

    Klaviatuuri otseteed

    Oma bash-ajaloo sirvimiseks saate kasutada mõningaid bash'i palju kasulikke kiirklahve. Vajutage neid kiirklahve ja varem kasutatavad käsud ilmuvad teate kuvamisel.

    • Nool üles või Ctrl + P: Mine oma ajaloo varasemale käsule. Vajutage klahvi mitu korda, et edasi liikuda läbi kasutatud käskude.
    • Nool alla või Ctrl + N: Mine oma ajaloo järgmisele käsule. Vajutage klahvi mitu korda, et edasi liikuda läbi kasutatud käskude.
    • Alt + R: Kui olete redigeerinud seda praegusel real, siis tühistage kõik muudatused, mis on tehtud teie ajaloost tõmmatud käsule.

    Bashil on ka spetsiaalne „tagasikutsumise“ režiim, mida saate kasutada varem käivitatud käskude otsimiseks, selle asemel, et kerida neid ükshaaval.

    • Ctrl + R: Taasta viimane käsk, mis vastab teie pakutavatele tähemärkidele. Vajutage seda otsetee ja alustage tippimist, et otsida käsu bash ajalugu.
    • Ctrl + O: Käivitage käsk Ctrl + R abil.
    • Ctrl + G: Jätke ajaloo otsingu režiim ilma käsu käivitamata.

    Vaadake oma Bashi ajalugu

    Saate printida kogu bash-ajaloo ekraanile, käivitades ühe käsu:

    ajalugu

    Näete kõigi teie bash-ajaloo käskude loendit ja numbrit, mis asub mõlemast vasakul. Käsu "1" selle kõrval on vanim käsk sinu bash ajalugu, samas kui suurima arvu käsk on viimane.

    Saate väljundiga midagi teha. Näiteks võite selle selle toru külge juhtida grepkäsk käsku ajalugu otsida.

    ajalugu | grep your_search

    Sa võid seda ka torusse tuua saba käsk, et vaadata vaid väikest arvu käimasolevaid käske. Näiteks näitab järgmine käsk viimaseid 5 kirjet teie ajaloos.

    ajalugu | saba -5

    Käivita käsud oma ajaloost

    Bash võib kiiresti „laiendada” eelmisi käske või neid laiendada ja neid muuta. Seda funktsiooni tuntakse kui “ajaloo laiendamist” ja kasutatakse hüüumärk, mida tuntakse “bangina”. Lihtsalt kirjuta need väljale ja vajuta nende sisestamiseks Enter.

    Konkreetse käsu käivitamiseks oma ajaloo järgi kasutage järgmist käsku:

    !#

    Oletame näiteks, et soovisite 12. käsu oma bash-ajaloost käivitada. See on käsk "12" selle vasakul poolel, kui käivitate ajalugu käsk. Kirjutate järgmise käsu.

    !12

    Viimati käivitatud käsu uuesti käivitamiseks tippige järgmine. Sellel on sama mõju nagu eelmise käsu vaatamiseks üks kord üles-noole vajutamisel ja seejärel Enteri vajutamisel.

    !!

    Võite ka käsku vaadata teatud arvu read tagasi. Näiteks, !-2 käivitaksite teise kuni viimase käsu, mida jooksisite. !! tähendab sama !-1 .

    See laiendus töötab kõikjal liinil. Saate lisada midagi, mida soovite enne või pärast !! või mõnda muud selles jaotises toodud väljendit. Näiteks saate viimase käsu uuesti käivitamiseks sisestada järgmise käsu sudo, andes talle root õigused. See on eriti kasulik, kui unustate lisada  sudo enne käsu käivitamist.

    sudo !!

    Või näiteks võite eelmise käsu uuesti käivitada ja selle väljundi grepiga otsida mõne teksti otsimiseks.

    !! | grep tekst

    Käsu otsimiseks oma ajaloos ja selle käivitamiseks tippige järgmine. See käivitab viimase käsu, mis vastab teie määratud tekstile:

    !teksti

    Niisiis, kui sa hiljuti käivitas käsu, mis algas ping, selle käivitamiseks saate käivitada järgmise käsu. See otsib teie ajaloo kaudu tagasisidet, otsib kõige värskemat käsku, mis algab sõnaga „pi„Ja käivitage see kohe:

    !pi

    Võite lisada a : lk mis tahes ülaltoodud laiendustele ja bash prindib käsu terminalile ilma seda käivitamata. See on kasulik, kui soovite kinnitada, et valite õige käsu enne selle käivitamist.

    !12: lk
    !!: lk
    !tekst: lk

    Argumentide korduvkasutamine teie ajaloost

    Bash võimaldab teil käivitada ka uue käsu, kuid kasutada varasemaid käske oma ajaloo ajal. See võib aidata teil pika või keerulise argumendi kiiret taaskasutamist ilma neid uuesti sisestamata.

    käsk! $

    Oletame näiteks, et käskite käsku puudutage / kodu / chris / some_long_file_name_you_dont_want_to_type_again . Nüüd soovid käsu käivitada nano / kodu / chris / some_long_file_name_you_dont_want_to_type_again. Selle asemel, et kirjutada kogu asi nullist, võite käivitada:

    nano! $

    The !$ täidaks bash automaatselt eelmise käsu viimase argumenti.

    See täidab ainult viimase argumendi. Niisiis, kui sa jooksed ping google.com -c 4 ja seejärel käivitage ping! $ , see lihtsalt laieneks „ping 4„.

    Selle olukorra parandamiseks võite kasutada järgmist trikki, et laiendada esimest argumenti reale, mitte viimasele:

    käsk! ^

    Niisiis, kui sa jooksid ping google.com -c 4 ja siis jooksis ping! ^ , bash laiendaks seda „ping google.com ".

    Kõigi eelmises käsus kasutatud argumentide täitmiseks vaid ühe argumendi asemel kasutaksite järgmist:

    käsk! *

    Niisiis, kui sa jooksid ping! * selle asemel täidab bash kõik argumendid, mida kasutasite eelmises käsus.

    Võite kasutada sama trikki, mida kasutate oma ajaloo käskude käivitamiseks, et saada nendelt argumente. Kasutage lihtsalt järgmist vormi.

    käsk! abc: #

    Näiteks käisime käsk sudo hostinimi ubuntu varem. Kui käivitame järgmise käsu, otsib bash ajalugu läbi ajaloo, et leida viimane käsk, mis algab meie kirjutatud tähtedega ja täida täpsustatud argument. Niisiis, kui me käime kaja! su: 2 , bash otsib tagasi, et leida viimane käsk algusega “su“Ja täitke teine ​​argument, mis on„ubuntu„.

    Teised nipid toimivad nii, nagu te arvate. Näiteks põhjustab tärniga tähistatud numbri (nn metamärk) asendamine bashiga, et see täidaks kõik käsust järgmised argumendid:

    käsk! abc: *

    Taaskäivitage eelmine käsk ja muutke seda

    Bash võimaldab teil ka eelmist käsku uuendada ja täpsustada midagi, mida tuleks muuta. See võib olla kasulik käsu vea parandamiseks. Näiteks käivitab järgmine käsk eelmise käsu, asendades teksti “abc"Selles tekstiga"xyz„.

    ^ abc ^ xyz

    Näiteks kui juhtus kogemata ping gogle.com, siis võid siis käivitada ^ gog ^ goog ja bash käskis käsu ping google.com selle asemel.

    Kui teie ajalugu on salvestatud ja kuidas seda kustutada

    Bash shell salvestab käskude ajalugu, mida olete oma konto konto failis ~ / .bash_history käinud. Näiteks kui teie kasutajanimi on bob, leiate selle faili aadressil / home / bob/.bash_history.

    Kuna teie ajalugu on failis salvestatud, jääb see seansside vahele. Võite käivitada mõningaid käske, välja logida, järgmisel päeval tagasi tulla ja need käsud jäävad vaatamiseks ja kasutamiseks endiselt teie ajaloo failis. Igal kasutajakontol on oma ajaloo fail, millel on eraldi käskude ajalugu.

    Bash ajaloo kustutamiseks saate käivitada järgmise käsu. See kustutab teie kasutaja konto .bash_history faili sisu:

    ajalugu -c

    Bash mäletab vaikimisi ainult piiratud arvu käske, takistades ajaloo failide kasvamist liiga suureks. Ajalugu kirjete arv bash mäletab HISTSIZEmuutuja. Vaikimisi on tavaliselt 500 või 1000 kirjet. Saate käivitada järgmise käsu, et vaadata oma süsteemi bash-ajaloo suurust.

    echo $ HISTSIZE

    Oma ajaloo nullimiseks seadistage järgmine käsk.

    HISTSIZE = 0

    Praeguse seansi jaoks ei salvesta bash ühtegi ajaloo kirjet, kui teie käsk ei käi HISTSIZE = 1000 seada see teatud arvu kirjete juurde tagasi.

    Kuidas ignoreerida ruume ja duplikaate

    Bash võimaldab teil ignoreerida ajaloo kirjeid, mis algavad tühikuga HISTCONTROLmuutuja ignoreerimiskoht.

    HISTCONTROL = ignoreerimisruum

    Sisestage käsk enne käsu käivitamist bash shellis ja käsk käivitatakse normaalselt, kuid ei ilmu teie ajaloos, kui selle muutuja on lubatud. See võimaldab teil hoida oma ajalugu natuke puhtamaks, valides käske ilma nende ajaloos ilmumata.

    Bash võimaldab teil ignoreerida ka duplikaatseid käske, mis võivad teie ajalugu häirida. Selleks valige HISTCONTROL kuni ignoreeritakse.

    HISTCONTROL = ignoreeritud

    Et kasutada nii ignoreerimiskoht ja ignoreeritakse funktsioon, määrake HISTCONTROL muutuja teadmatu.

    HISTCONTROL = teadmata

    Pange tähele, et seadistatud bash muutujad jäävad kehtima ainult praeguse seansi jaoks. Peate need lisama oma kasutajakonto failile .bashrc, et need väärtused oleksid automaatselt seadistatud iga alustatud seansi ajal, kui soovite seda.

    Bash shell on keeruline tööriist, millel on palju rohkem võimalusi. Vaadake ametliku bash käsiraamatu üksikasjalikumat teavet ja teisi täiustatud nippe, mida saate kasutada Bash History Builtins ja History Expansion jaotistes..