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.
SOUVISEJÍCÍ: Nejlepší klávesové zkratky pro Bash (aka terminál Linux a MacOS)
Nejlepší klávesové zkratky pro Bash
: Vrátit všechny změny příkazu, který jste vybrali z historie, pokud jste je upravili na aktuálním řádku.
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říkazu
grep
a vyhledat historii příkazů.
history | grep your_searchDalo by se také připojit k příkazu
tail
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.
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říkaz
historie
. 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šlisudo
a dali mu oprávnění root. To je obzvláště užitečné, pokud zapomenete přidatsudo
př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: p
na 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 4
a pak spustíte
ping! $, rozbalí se to na
ping 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 spustili
ping 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 spustili
ping! *
, 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říkaz
sudo 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 spustili
ping 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
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 jako
HISTSIZE = 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
HISTCONTROLna
ignorespace ignorovat položky historie, které začínají mezerou.
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, nastavte
HISTCONTROLna
ignoredups.
HISTCONTROL = ignoredups
Chcete-li použít funkciignorespace
a
HISTCONTROL
proměnná naignoreboth
HISTCONTROL = 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.
Proč některé hry vysávají po přenosu z konzoly do počítače
Jste-li PC gamer, pravděpodobně jste tuto situaci zažili před tím, než vyčkáte měsíce nebo roky pro vzrušující novou hru skočit z hlavních konzolí do počítače, jen aby zjistil, že portovaná hra je buggy, zlomený nepořádek. Jedná se o jednu z větších nevýhod využití silnější a flexibilnější platformy - v určitém okamžiku vývojář nebo vydavatel bude ignorovat veškerou sílu a flexibilitu a stačí vynechat zátěž párového kódu na Steam a nazvat ho za den.
Pět užitečných věcí, které můžete dělat pomocí dotykové lišty MacBooku Pro
Vychutnejte si dotykový panel, ale přejeme vám, abyste získali více z toho? Existuje nejrůznější způsob, jak můžete tuto tenkou dotykovou obrazovku přizpůsobit a lépe využít. zde je pět, které doporučujeme. Existuje mnoho práce s dotykovým pruhem na vašem MacBook Pro. Mohli byste změnit tlačítka, odstraňovat věci, které nepoužíváte (Siri) a přidávat tlačítka (Pause / Play).