Programovanie v jazyku BASH

Používanie a prispôsobenie histórie príkazov Bash

Používanie a prispôsobenie histórie príkazov Bash
Bash shell je predvolené prostredie príkazového riadku dostupné vo väčšine distribúcií Linuxu. Podobne ako vo všetkých prostrediach prostredia uchováva záznamy o príkazoch, ktoré predtým vykonal používateľ. Tento záznam sa uchováva a udržuje, aj keď reštartujeme náš systém.

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ória

Zobrazí 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 n

Napríklad pre zoznam posledných 7 vykonaných príkazov by bol príkaz:

$ história 7

Ak 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 -n

Prí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 -n

Ak 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 -n

Prí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 -cw

Prispô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 ~ /.bashrc

Po 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 ~ /.bashrc

1. 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 $ HISTSIZE

Podobne 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 histappend

Alebo pridajte nasledujúci riadok, ak chcete vypnúť možnosť pridania a chcete súbor pri výstupe prepísať:

$ shopt -u histappend

4. 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.

Ak chcete použiť tieto funkcie, otvorte ~ /.bashrc a pridajte nasledujúci riadok s hodnotami oddelenými dvojbodkou takto:

$ export HISTCONTROL = ignorespace: ignoredups

6. 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.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z najpopulárnejších obchodných simulačných hier. V tejto hre musíte vytvoriť úžasné dopravné podnikanie. Začnete však na začiatku ok...
Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...