Shell

Najlepšie využitie histórie systému Linux Bash

Najlepšie využitie histórie systému Linux Bash

Príkazový riadok systému Linux - terminál, rovnako ako všetky shelly, uchováva históriu príkazov, ktoré v minulosti vykonal používateľ. Táto história je pretrvávajúca a zostáva v pamäti, aj keď reštartujeme náš systém. Tieto uložené príkazy môžeme vyvolať a znova použiť najoptimálnejším spôsobom na efektívne využitie funkcie ukladania histórie väčšiny škrupín.

Linuxový bash je dodávaný s veľmi výkonným príkazom nazývaným „history“. Tento príkaz je vstavaný príkaz bash, ktorý sa používa na získanie historických informácií o príkazoch, ktoré vykonali používatelia systému Linux vo všetkých predchádzajúcich reláciách. V tomto tutoriáli vám umožníme získať maximum z vašej histórie shellu naučením sa správneho použitia príkazu history. Linux ukladá históriu príkazov pre určitého používateľa do súboru ~ /.predvolene bash_history.

Na vykonávanie príkazov uvedených v tomto návode použijeme aplikáciu Terminal v systéme Linux.

Prezeranie celej histórie

Užívateľ môže zobraziť celú históriu svojich príkazov shellu zo súboru histórie uloženého výhradne pre tohto používateľa pomocou nasledujúceho jednoduchého príkazu:

$ história

História sa na obrazovke vytlačí v nasledujúcom predvolenom formáte:

Na vyššie uvedenom obrázku vidíte zoznam všetkých príkazov s číslom priradeným každému z nich. Príkaz číslo 1 zodpovedá prvému spustenému príkazu a posledný očíslovaný príkaz predstavuje posledný vykonaný príkaz.

Ak ste od spustenia bash spustili veľa príkazov, uvidíte, že tu budú zobrazené stovky až tisíce týchto príkazov. Ak chcete získať prístup k niekoľkým relevantným príkazom, môžete filtrovať výsledky zobrazené funkciou histórie. Príkaz histórie môžete tiež prispôsobiť tak, aby zobrazoval konkrétny počet príkazov pre vás.

Filtrovanie výstupu histórie

Ak chcete filtrovať svoj výstup histórie na základe konkrétneho kľúčového slova, ktoré ste mohli použiť v predchádzajúcich príkazoch, môžete použiť príkaz history takto:

$ história | grep [kľúčové slovo]

Príklad: V tomto príklade chcem zobraziť iba príkazy ping, ktoré som v prostredí Shell kedy spustil. Preto použijem nasledujúci príkaz:

$ história | grep ping

Vidíte, že môj výstup teraz zobrazuje iba príkazy vrátane môjho vyhľadávacieho kľúčového slova „ping“ Reklama

Zobrazenie počtu posledných príkazov

Môžete tiež zobraziť konkrétny počet príkazov, napríklad:

ALEBO

N Počet posledných príkazov

Konkrétny počet naposledy spustených príkazov môžete zobraziť pomocou nasledujúceho príkazu:

$ história | chvost -n

Príklad:

V tomto príklade si chcem prezrieť posledné 3 príkazy, ktoré som spustil, s kľúčovým slovom 'ping':

$ história | grep ping | chvost -3

Na výstupe sa namiesto celej histórie zobrazia iba 3 posledné príkazy ping

N Počet najstarších príkazov

Konkrétny počet najstarších spustených príkazov môžete zobraziť pomocou nasledujúceho príkazu:

$ história | hlava -n

Príklad:

V tomto príklade si chcem pozrieť najstaršie 3 príkazy, ktoré som spustil, s kľúčovým slovom „ping“:

$ história | grep ping | hlava -3

Na výstupe sa namiesto celej histórie zobrazia iba 3 najstaršie príkazy ping

Zoznam všetkých príkazov s dátumom a časovou značkou

Ak chcete zobraziť históriu príkazov spolu s dátumom a časovou pečiatkou, použite nasledujúci príkaz na export:

$ export HISTTIMEFORMAT = "% F,% T"

Teraz, keď chcete zobraziť históriu, stačí spustiť príkaz history, aby ste videli výstup v nasledujúcom formáte:

Upozorňujeme, že táto zmena formátu je dočasná a po ukončení relácie sa obnoví na pôvodný štandard.

Navigácia v príkazoch z histórie

Keď ste na príkazovom riadku, môžete prechádzať predtým spustenými príkazmi a tiež vyvolať niektoré nedávno použité príkazy zadaním kľúčového slova.

Rolovanie v príkazoch

Pomocou nasledujúcich ovládacích prvkov klávesnice môžete prechádzať príkazy histórie

Šípka hore / Ctrl + PPomocou týchto ovládacích prvkov môžete zobraziť predchádzajúci príkaz, ktorý ste použili. Na tieto ovládacie prvky môžete stlačiť niekoľkokrát, aby ste sa vrátili k konkrétnemu príkazu v histórii.
Šípka nadol / Ctrl + NPomocou týchto ovládacích prvkov môžete zobraziť ďalší použitý príkaz. Ak chcete prejsť na konkrétny príkaz v histórii, môžete na tieto ovládacie prvky naraziť viackrát.
Alt + RAk upravujete príkaz, ktorý ste vytiahli z histórie, na aktuálnom riadku, pomocou tohto ovládacieho prvku ho môžete vrátiť k pôvodnému príkazu.

Vyvolávanie príkazov

Pomocou nasledujúcich ovládacích prvkov môžete vyvolať, spustiť alebo zvoliť nespustenie konkrétneho príkazu z histórie:

Ctrl + RPomocou tohto ovládacieho prvku môžete vyvolať príkaz z histórie zadaním vyhľadávacieho reťazca.
Ctrl + OPomocou tohto ovládacieho prvku môžete spustiť príkaz, ktorý ste si vyvolali, pomocou kombinácie klávesov Ctrl + R
Ctrl + GPomocou tohto ovládacieho prvku môžete ukončiť históriu bez spustenia príkazu, ktorý ste si vybrali, pomocou kombinácie klávesov Ctrl + R

Príklad:

V tomto príklade som stlačil ctrl + R a potom poskytol vyhľadávací reťazec „ar“. V histórii sa zobrazil príkaz „arch“.

Keď som spustil príkaz „arch“ stlačením klávesovej skratky ctrl + O, zobrazila sa architektúra procesora môjho systému:

Využitie histórie bash

Skutočnou mágiou histórie bash je použitie rôznych príkazov a prispôsobenie samotného príkazu history, aby sa čo najlepšie využila funkcia histórie:

Spúšťanie príkazov z histórie

$ !#

Príklad:

Tu spúšťam príkaz číslo 95 z mojej histórie:

$ !95

Výstup zobrazuje výsledok 'lscpu', ktorý bol uvedený ako príkaz číslo 95 v mojej histórii bash. Tento príkaz zobrazuje moje parametre CPU a operačného systému.

$ !!

Príklad:

Tu vidíte, že som spustil príkaz „arch“. Spustením vyššie uvedeného príkazu môžem znova spustiť príkaz „arch“, aby som si mohol pozrieť architektúru svojho procesora takto:

$ ![kľúčové slovo]

Príklad:

Nasledujúci príkaz použijem na opätovné spustenie posledného príkazu s kľúčovým slovom „dconf“:

$ !dconf

Na nasledujúcom obrázku môžete znova potvrdiť, že išlo o posledný príkaz dconf, ktorý som spustil.

Používanie argumentov z predchádzajúcich príkazov

Linux bash vám umožňuje spustiť nový príkaz pomocou argumentov z predchádzajúceho príkazu. Je to obzvlášť užitočné, ak sa chcete vyhnúť opakovaniu dlhých alebo zložitých hádok. Na tento účel môžete použiť nasledujúci príkaz:

Použitím posledného argumentu z predchádzajúceho príkazu

$ [Príkaz] !$

Premenná !$ má v sebe uložený posledný argument z predchádzajúceho príkazu.

Príklad:

V tomto príklade vytvorím súbor s dlhým menom.

Nano [longnameOfaFile]

Potom ho skopírujem na iné miesto tak, že sa vyhnem opätovnému zadaniu dlhého názvu nasledovne:

Cp !$ [cieľová zložka]

Vidíte, že pomocou premennej sa mi podarilo skopírovať súbor bez opätovného zadania názvu súboru !$

Použitím prvého argumentu z predchádzajúceho príkazu

V aktuálnom prípade je niekedy užitočný iba prvý argument z predchádzajúceho príkazu.

V takom prípade môžete použiť nasledujúci príkaz:

$ [príkaz] !^

Príklad:

V nasledujúcom príklade som spustil príkaz ping zadaním názvu hostiteľa a počtu ako argumentov. Teraz chcem v mojom novom príkaze použiť skôr názov hostiteľa (prvý argument) ako 2 (posledný argument). Na tento účel použijem nasledujúci príkaz:

$ ping !^

Použitie všetkých argumentov z predchádzajúceho príkazu

Všetky argumenty z predchádzajúceho príkazu môžete tiež použiť pomocou nasledujúceho príkazu:

$ !*

Pomocou jedného argumentu z príkazu histórie

Môžete tiež použiť príkazy z vašej histórie opätovným použitím ich argumentov. Na tento účel použite nasledujúci príkaz:

$ [príkaz] ![kľúčové slovo]: #

Príklad:

$ echo !cp: 2

Tento príkaz bude mať nasledujúce parametre:

príkaz: echo

Kľúčové slovo: cp

#: 2 (druhý argument príkazu)

Nasledujúci výstup zobrazuje druhý argument posledného príkazu cp, ktorý som spustil:

Používanie všetkých argumentov z príkazu history

Nasledujúci príkaz uloží všetky argumenty z prehľadaného príkazu histórie a použije ich v aktuálnom príkaze:

príkaz $ ![kľúčové slovo]: *

Príklad:

V nasledujúcom príkaze vytlačím všetky argumenty posledného príkazu cp pomocou príkazu echo nasledovne:

$ echo ![cp]: *

Úpravy a spustenie predchádzajúcich príkazov

Ak ste zadali nesprávny príkaz alebo chcete príkaz spustiť znovu tak, že v ňom zmeníte nejaký text; spôsob, ako to urobiť:

$ ^ [predchádzajúci text] ^ [nový text]

Príklad:

Napísal som príkaz „grep“ ako „gep“ a teraz chcem príkaz spustiť opravou textu:

$ ^ gep ^ grep

Teraz vidíte, že môj opravený príkaz bude fungovať správne nasledovne:

Vymazáva sa história

Ak chcete vymazať históriu vášho bash, použite nasledujúci príkaz:

$ history -c

Tento príkaz vymaže vašu históriu a odstráni všetok obsah zo súboru ~ /.bash_history

V tomto tutoriáli sme sa naučili, že hoci tlač celého obsahu histórie nemusí byť až taká užitočná, optimalizácia výstupu pomocou príkazov, ktoré sme sa naučili, je skutočným meničom hry. Cvičenie spolu s týmto článkom vám umožní zobraziť presné príkazy, ktoré chcete, znova spustiť a znova použiť tieto príkazy a tiež použiť argumenty z predtým spustených príkazov na optimalizáciu nových.

Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...
Hry Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
OpenRA je herný engine Libre / Free Real Time Strategy, ktorý obnovuje rané hry z Westwoodu, ako napríklad klasické Command & Conquer: Red Alert. Dist...
Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...