Možno poznáte základné použitie príkazu history, ale dokáže toho oveľa viac. História bashov je zvyčajne uložená v súbore ~ /.bash_history. Umožňuje vám efektívnym spôsobom vyvolať a znovu použiť uložený záznam, aby ste čo najlepšie využili funkciu ukladania histórie bash. Nielen to, ale tiež môžete prispôsobiť a ovládať výstup príkazu bash požadovaným spôsobom.
V tomto článku vysvetlíme, ako efektívne používať a prispôsobovať históriu príkazov bash, aby ste čo najlepšie využili jeho funkcie.
Na spustenie príkazov a postupov uvedených v tomto článku sme použili Debian 10.
Používanie histórie príkazov bash
1. Prezeranie histórie bash
Ak chcete zobraziť celú históriu príkazov shellu, môžete v Termináli spustiť nasledujúci príkaz:
$ históriaZobrazí sa zoznam celej histórie konkrétneho používateľa zo súboru histórie uloženého špeciálne pre daného používateľa. Uvidíte všetky príkazy začínajúce číslom prideleným každému z nich. Hore bude zoznam starších príkazov, počnúc číslom 1, a novších príkazov dole.
2. Vyhľadávanie výstupu histórie
Môžete tiež vyhľadať konkrétne kľúčové slovo z výstupu histórie. Spárujte príkaz history s grep a konkrétnym kľúčovým slovom, aby ste vyhľadali príkazy, ktoré zodpovedajú zadanému kľúčovému slovu, nasledovne:
$ história | grep [kľúčové slovo]Napríklad pre zoznam všetkých príkazov, ktoré obsahujú kľúčové slovo „find“, by bol tento príkaz:
$ história | grep nájsť
3. Prezeranie posledných n príkazov
Príkaz history v predvolenom nastavení obsahuje zoznam posledných 1 000 príkazov vykonaných používateľom. Ak chcete uviesť iba konkrétne číslo, povedzme n číslo posledného vykonaného príkazu, spustite v termináli nasledujúci príkaz:
$ história nNapríklad pre zoznam posledných 7 vykonaných príkazov by bol príkaz:
$ história 7Ak chcete zobraziť počet príkazov posledného spustenia, ktoré obsahujú konkrétne kľúčové slovo, môžete použiť nasledujúcu syntax:
$ história | grep kľúčové slovo | tail -nPríkladom toho môže byť zobrazenie posledných 4 vykonaných príkazov s kľúčovým slovom „java“.
$ história | grep java | chvost -n
4. Prezeranie najstarších príkazov
Ak chcete zobraziť najstarší počet príkazov, môžete v Termináli použiť nasledujúcu syntax:
$ história | hlava -nAk chcete zobraziť najstarší počet príkazov, ktoré obsahujú konkrétne kľúčové slovo, použite nasledujúcu syntax:
$ história | grep kľúčové slovo | head -nPríkladom by mohlo byť zobrazenie najstarších 4 vykonaných príkazov s kľúčovým slovom „java“.
$ história | grep java | hlava -4
5. Vymazať históriu bashu úplne
Ak chcete odstrániť celú históriu bash, spustite v termináli nasledujúci príkaz:
$ history -cwPrispôsobenie histórie príkazov bash
Ak chcete prispôsobiť históriu príkazov bash, budeme musieť vykonať zmeny v ~ /.súbor bashrc. Úprava ~ /.súbor bashrc, použite nasledujúci príkaz:
$ nano ~ /.bashrcPo dokončení úprav súboru uložte a zavrite nano editor pomocou kombinácie klávesov Ctrl + O a Ctrl + X.
Potom spustite nasledujúci príkaz, aby sa úpravy vykonali:
$ zdroj ~ /.bashrc1. Pridajte dátum a časovú pečiatku do histórie bash
Ak chcete spolu s históriou príkazov zobraziť dátum a časovú značku, môžete to urobiť pridaním nasledujúceho riadku do ~ /.bashrc:
$ export HISTTIMEFORMAT = '% F,% T'Teraz spustite história príkaz a zobrazí históriu príkazov s príslušnými údajmi a časovou pečiatkou.
2. Zvyšuje sa veľkosť histórie bash
Bash predvolene uchováva 500 príkazov v zozname histórie. Túto hodnotu však môžeme zmeniť pomocou hodnoty HISTSIZE.
Aktuálnu veľkosť histórie bash zobrazíte spustením nasledujúceho príkazu v Termináli:
$ echo $ HISTSIZEPodobne je predvolená veľkosť súboru histórie bash 500. Je to maximálny počet záznamov, ktoré sú obsiahnuté v súbore histórie.
Ak chcete zväčšiť veľkosť histórie bash, povedzme 10 000, pridajte do ~ / nasledujúce riadky.súbor bashrc:
HISTSIZE $ = 10 000$ HISTFILESIZE = 10 000
Ak chcete skontrolovať, či sa veľkosť histórie bash úspešne zmenila, spustite v termináli nasledujúce príkazy:
$ echo $ HISTSIZE$ echo $ HISTFILESIZE
3. Pripojte príkazy Bash k súboru histórie
Keď je relácia bash uzavretá, môžete si zvoliť, či chcete prepísať alebo pridať príkazy v súbore histórie pomocou premennej histappend. Aktuálne nastavenia zobrazíte spustením nasledujúceho príkazu v Termináli:
$ shoped histappend„Zapnuté“ vo výstupe ukazuje, že je povolená možnosť histappend a príkazy sa namiesto prepisu pridajú do súboru histórie. Aj keď je „vypnuté“, možnosť histappend je deaktivovaná a súbor bude prepísaný.
Otvorte ~ /.súbor bashrc a:
Pridajte nasledujúci riadok, ak chcete namiesto prepisu pridať príkazy do súboru histórie:
$ shopt -s histappendAlebo pridajte nasledujúci riadok, ak chcete vypnúť možnosť pridania a chcete súbor pri výstupe prepísať:
$ shopt -u histappend4. Okamžite uložte históriu bashov
Bash predvolene uloží reláciu do súboru histórie bash až po ukončení relácie. Ak chcete zmeniť toto predvolené správanie a umožniť okamžité uloženie všetkých vykonaných príkazov, môžete využiť PROMPT_COMMAND.
Upraviť ~ /.súbor bashrc a pridajte nasledujúci riadok:
$ PROMPT_COMMAND = 'history -a'Teraz, kedykoľvek vykonáte ľubovoľný príkaz, bude okamžite pridaný do súboru histórie.
5. Control Bash History
Spôsob, akým bash ukladá našu históriu príkazov, môžeme ovládať pomocou premennej HISTCONTROL. Môžeme ho určiť na ignorovanie duplicitných záznamov a / alebo na ignorovanie záznamov s úvodnými bielymi medzerami.
- ignorespace - eliminuje príkazy, ktoré začínajú zoznamom histórie vesmíru.
- ignoredups - eliminuje duplicitné príkazy.
- ignoreboth - Povolí ignorované aj ignorované priestory
- erasedups- eliminuje duplikáty z celého zoznamu
Ak chcete použiť tieto funkcie, otvorte ~ /.bashrc a pridajte nasledujúci riadok s hodnotami oddelenými dvojbodkou takto:
$ export HISTCONTROL = ignorespace: ignoredups6. Ignorovať konkrétne príkazy
Pomocou premennej HISTIGNORE môžeme tiež ovládať, ktoré príkazy majú byť v histórii ignorované. Je to zoznam vzorov oddelených dvojbodkou, v ktorom môžeme určiť všetky príkazy, ktoré chceme z histórie ignorovať.
Napríklad, ak nechceme v zozname histórie uvádzať základné príkazy, ako sú príkazy histórie, ls, pwd, pridáme nasledujúci riadok do ~ /.súbor bashrc:
$ export HISTIGNORE = "história: ls: pwd:"S históriou príkazov Linux bash môžete urobiť oveľa viac než len opakovať staré príkazy. V tomto článku sme sa naučili, ako používať históriu bash na prezeranie príkazov, ktoré sa predtým vykonali, a tiež sme sa naučili ovládať spôsob, akým bash ukladá históriu príkazov.