cs.phhsnews.com


cs.phhsnews.com / Použití vaší historie basů v terminálu Linux nebo MacOS

Použití vaší historie basů v terminálu Linux nebo MacOS


Bash shell je standardní terminálové prostředí obsažené ve většině distribucí Linux, které jsou dodávány s macOSem a jsou k dispozici pro instalaci v systému Windows 10. Pamatuje si zadané příkazy a ukládá je do souboru historie.

Klávesové zkratky

SOUVISEJÍCÍ: Nejlepší klávesové zkratky pro Bash (aka terminál Linux a MacOS)

Nejlepší klávesové zkratky pro Bash

  • Chcete-li procházet historii bash, můžete použít několik užitečných klávesových zkratek pro bash. Stiskněte klávesové zkratky a příkazy, které jste použili dříve, se objeví na výzvě. Šipka nahoru nebo Ctrl + P
  • : Přechod na předchozí příkaz ve své historii. Několikrát stiskněte klávesu pro přechod zpět pomocí příkazů, které jste použili. Šipka dolů nebo Ctrl + N
  • : Přejděte na další příkaz ve své historii. Několikrát stiskněte klávesu, abyste mohli procházet dopředu pomocí příkazů, které jste použili. Alt + R

: Vrátit všechny změny příkazu, který jste vybrali z historie, pokud jste je upravili na aktuálním řádku.

  • Bash má také speciální režim "recall", který můžete použít k vyhledávání příkazů, které jste dříve spouštěli, než k procházení po jednom. Ctrl + R
  • : Vyvolání posledního příkazu znaků, které poskytujete. Stiskněte tuto zkratku a začněte psát prohledávání vaší historie bash pro příkaz Ctrl + O
  • : Spusťte příkaz, který jste našli pomocí Ctrl + R. Ctrl + G

bez spuštění příkazu

Zobrazit historii basů

Můžete vytisknout celou historii bash na obrazovku spuštěním jediného příkazu:

historie

Zobrazí se seznam všech příkazů ve vašem bash history, spolu s číslem vlevo od každého. Příkaz s "1" vedle něj je nejstarším příkazem ve vaší historii bash, zatímco příkaz s nejvyšším číslem je nejnovější. SOUVISEJÍCÍ:

Staňte se uživatelským koncovým uživatelem Linuxu s těmito 8 trikyPomocí výstupu můžete udělat vše, co se vám líbí. Například byste jej mohli přivést do příkazugrep

a vyhledat historii příkazů.

history | grep your_searchDalo by se také připojit k příkazutail

pro zobrazení pouze malého počtu posledních příkazů, které jste spustili. Následující příkaz například zobrazí poslední 5 záznamů ve vaší historii.

historie | tail -5

Spustit příkazy z historie

Bash může rychle rozbalit předchozí příkazy nebo je rozbalit a modifikovat. Tato funkce je známá jako "rozšíření historie" a používá vykřičník, známý jako "bang". Jednoduše zadejte je na výzvu a stiskněte klávesu Enter a spusťte je, jako byste spustili libovolný jiný příkaz.

Pro spuštění určitého příkazu z historie číslem použijte následující příkaz:

! #Pro Příklad: Řekněme, že jste chtěli spustit 12. příkaz z vaší historie bash. To je příkaz s "12" nalevo od něj, když spustíte příkazhistorie

. Zadejte následující příkaz:

! 12

Chcete-li znovu spustit poslední příkaz, který jste spustili, zadejte následující. To má stejný účinek jako stisknutí jednou šipkou nahoru pro zobrazení předchozího příkazu a poté stisknutím klávesy Enter.

!!Můžete také na příkaz zobrazit určitý počet řádků zpět. Například! - 2by spustil druhý až poslední příkaz, který jste spustili.!!znamená totéž jako! - 1

pracuje kdekoli na trati. Můžete přidat vše, co se vám líbí před nebo po!!nebo některý z dalších výrazů v této části. Například můžete zadat následující příkaz, abyste znovu spustili poslední příkaz, který jste prošlisudoa dali mu oprávnění root. To je obzvláště užitečné, pokud zapomenete přidatsudopřed spuštěním příkazu.

sudo !!

Nebo můžete například znovu spustit předchozí příkaz a potrubí jeho výstup do grep pro hledání nějaký text.

!! | grep text

Chcete-li vyhledat příkaz ve své historii a spustit jej, zadejte následující. Tím se spustí poslední příkaz, který odpovídá zadanému textu:

! text

Takže, pokud jste nedávno spustili příkaz, který začal sping, můžete spustit následující příkaz a vyhledat jej. Budete vyhledávat zpět svou historii, najděte nejnovější příkaz začínající "pi" a okamžitě jej spustit:

! Pi

Můžete přidat: pna libovolné z výše uvedených rozšíření a bash vytiskne příkaz k terminálu bez jeho spuštění. Toto je užitečné, pokud chcete potvrdit, že vybíráte správný příkaz před jeho spuštěním

! 12: p
!!: p
! Text: p

Bash také umožňuje spustit nový příkaz, ale použít argumenty z předchozích příkazů ve vaší historii. To znamená, že jste spustili příkaz

touch / home / chris / some_long_file_name_you_dont_want_to_type_again

. Nyní chcete spustit příkaznano / home / chris / some_long_file_name_you_dont_want_to_type_again. Spíše než zadat celou věc od začátku, můžete spustit:nano! $

! $

by způsobilo, že bash automaticky vyplní poslední argument z vašeho předchozího příkazu. vyplní poslední argument. Takže pokud spustíteping google.com -c 4a pak spustíte

ping! $, rozbalí se to naping 4Chcete-li tuto situaci vyřešit, použijte následující trik pro rozbalení prvního argumentu na řádku namísto posledního:příkaz! ^Takže pokud jste spustiliping google.com -c 4

a pak spustil

ping! ^

, bash by to rozbalil na "ping google.com".Vyplňte všechny argumenty použité v předchozím příkazu místo jediný argument byste použili následující příkaz:!Pokud jste namísto toho spustiliping! *

, bash automaticky vyplnil všechny argumenty, které jste použili v předchozím příkazu

Můžete použít stejný trik, který používáte pro spuštění příkazů z historie, abyste získali argumenty od nich. Použijte následující formulář:

command! Abc: #Například jsme spustili příkazsudo hostname ubuntu

dřív. Pokud spustíme následující příkaz, bash vyhledá zpět historii a najde poslední příkaz beginni ng s písmeny, které zadáváme, a vyplníme argument, který specifikujeme. Takže pokud spustíme

echo! Su: 2

, bash vyhledá poslední příkaz začínající "su" a vyplní druhý argument, ubuntu".Další triky fungují, jak byste mohli očekávat. Například nahrazení čísla hvězdičkou, známou jako zástupný znak, způsobí, že bash vyplní všechny argumenty z příkazu:příkaz! Abc: *Převrátit předchozí příkaz a upravitBash také povolí můžete znovu spustit předchozí příkaz a určit něco, co by mělo být změněno. To může být užitečné pro opravu překlepu v příkazu. Například následující příkaz znovu spusťte předchozí příkaz a nahrazuje text "abc

" v textu s textem "

xyz

"

^ abc ^ xyzNapříklad pokud jste náhodou spustiliping gogle.com, můžete spustit^ gog ^ goog

a bash spustil příkaz

ping google.com.Kde je uložena vaše historie a jak ji vymazatSložka bash ukládá ve výchozím nastavení historii příkazů, které jste spouštěli do souboru historie uživatelského účtu, ve formátu ~ / .bash_history. Pokud je například vaše uživatelské jméno bob, tento soubor najdete na /home/bob/.bash_history.Protože vaše historie je uložena v souboru, přetrvává mezi relacemi. Můžete spustit některé příkazy, odhlásit se, vrátit se příští den a tyto příkazy budou stále ve vašem souboru historie připraveny k zobrazení a použití. Každý uživatelský účet má vlastní soubor historie se samostatnou historií příkazů.Chcete-li vymazat historii bash, můžete spustit následující příkaz. Tím se vymaže obsah souboru .bash_history vašeho uživatelského účtu:historie -c

Bash si ve výchozím nastavení pamatuje jen omezený počet příkazů, čímž zabraňuje přílišnému zvětšování souboru historie. Počet záznamů o historii, které si pamatuje, je řízen parametrem

HISTSIZE

proměnná. Výchozí hodnota je obvykle 500 nebo 1000 položek. Můžete spustit následující příkaz pro zobrazení velikosti historie bash ve vašem systému:

echo $ HISTSIZE

Chcete-li nastavit historii na nulu, spusťte následující příkaz:

HISTSIZE = 0aktuální příkaz, bash neuloží žádné záznamy historie, pokud nezpracujete příkaz jakoHISTSIZE = 1000

a nastavíte jej zpět na určitý počet položek.

Jak Ignorovat mezery a duplikáty

Bash umožňuje nastavit proměnnou

HISTCONTROLnaignorespace ignorovat položky historie, které začínají mezerou.

HISTCONTROL = ignorespace

Zadejte před příkazem místo před jeho spuštěním v bash shellu a příkaz běží normálně, ale v historii se nezobrazí, pokud máte tuto proměnnou zapnutou. To vám umožní udržet historii trochu čistší a zvolit si spouštění příkazů, aniž by se objevily ve vaší historii.Bash také umožňuje ignorovat duplicitní příkazy, které mohou přeplnit vaši historii. Chcete-li tak učinit, nastavteHISTCONTROLna

ignoredups.

HISTCONTROL = ignoredups

Chcete-li použít funkciignorespacea

HISTCONTROL

proměnná naignorebothHISTCONTROL = ignorebothVšimněte si, že proměnné bash, které jste nastavili, budou existovat pouze pro aktuální relaci. Budete je muset přidat do souboru .bashrc svého uživatelského účtu, aby tyto hodnoty byly automaticky nastaveny v každé relaci bash, kterou začnete, pokud to chcete.Bash shell je složitý nástroj s mnoha dalšími možnostmi. Podrobnější informace a další pokročilé triky, které můžete použít, naleznete v sekci Historie Bash Builtins a Historie expanze v oficiálním manuálu.


Jak uspořádat záložky pracovních listů v abecedním pořadí v aplikaci Excel

Jak uspořádat záložky pracovních listů v abecedním pořadí v aplikaci Excel

Pokud máte ve svém sešitu aplikace Excel velké množství listů, může být obtížné najít určitý pracovní list. Třídění karet listu v abecedním pořadí by usnadnilo nalezení toho, co hledáte. Kromě uspořádání tabulek pracovního listu aplikací barev můžete také uspořádat abecedně nebo alfanumericky, pokud jste použili vlastní názvy do pracovních listů.

(how-top)

Co je to

Co je to "Blockchain"?

Pokud jste v poslední době sledovali zprávy, možná jste slyšeli něco, co se nazývá bloková křivka. Je to koncept, který dělá data velmi bezpečné pro konkrétní použití. Pravděpodobně jste to slyšeli ve spojení s Bitcoinem, ale má aplikace daleko za oblíbenou kryptocurrencí každého. Zde je stručné vysvětlení, jak to funguje.

(how-top)