abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 1
    včera 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    22.5. 14:11 | IT novinky

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 7
    22.5. 12:33 | Nová verze

    LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.

    ZCR | Komentářů: 0
    21.5. 23:33 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.5. 21:22 | Nová verze

    Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.

    Ladislav Hagara | Komentářů: 2
    21.5. 12:55 | Nová verze

    Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 520 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Hrátky s historií

    10.7.2007 13:26 | Přečteno: 2997× | Rady | Výběrový blog | poslední úprava: 12.7.2007 11:45

    Po delší době jsem opět zasedl k psaní blogísku. Dneska si vezmu na mušku historii příkazů příkazového interpretu, neboli shellu. Jelikož jsem uživatelem Bashe, bude řeč právě o něm.

    Všichni moc dobře určitě známe pohyb nebo lépe řečeno listování v historii pomocí kláves "šipka nahoru" a "šipka dolu". To je však často velmi nepohodlné a zdlouhavé. Naštěstí Bash dovoluje využít vyhledávání v historii. Například pokud víme, že před dvěma dny jsme psali velice dlouhý příkaz a nechce se nám jej většinou vymýšlet znova, tedy alespoň mě ne. Díky reverznímu prohledávání v historie máme ale velmi užitečného pomocníka. Samozřejmě mohli bychom prohledávat historii příkazů pomocí šipky nahoru ale uznejte sami že tohle je poněkud pracné. Hledání v bash historii zpřístupňuje klávesová zkratka CTRL+r. Postačí psát libovolnou část příkazu, dokud se neobjeví ten, který jsme hledali. Úspěšnost hledání závisí na nastavené velikosti historie.

    Historie příkazů je v shellu Bash implicitně zapnuta. Vypíná se pomocí holby +H vestavěného příkazu set. Historie je řízena těmito proměnnými: HISTSIZE, HISTFILE, HISTFILESIZE, HISTCONTROL a command_oriented_history. Pokud navíc budeme požadovat osmibitový vstup, musíme do souboru ~/.inputrc vložit následující příkazy:

     
    set meta-flag on 
    set output-meta on 
    set convert-meta off 
    

    Často se setkáváme s pojmy jako interaktivní, neinteraktivní a login shell. Co to vlastně je?
    Login shell je interpret příkazů který má jméno ve tvaru "-jmeno", tedy například echo $0 vrátí -bash. Jedná se o první shell uživatele, tedy ten který je spuštěn při přihlášení.
    Interaktivní shell je takový, který má svůj standardní vstup i výstup napojen na terminál, často bývá spouštěn s volbou -i. Jak již název vypovídá, je takový shell, který umožňuje přímou interakci s uživatelem.
    Neinteraktivní shell Neinteraktivní shell se ukončí při zjištění prvního chybového návratového kódu, který není ve skriptu testován. Shell se neukončuje tehdy, pokud proces s chybným návratovým kódem řídí příkazy if, elif, while, until, nebo pokud je za procesem uveden operátor && nebo || (nebo pokud se návratový kód neguje uvedením !). Pro tento shell není uplatňována historie.

    Některé klávesové zkratky

    Uvažujeme nastavený mód emacs, je-li nastaven jiný, přepínáme pomocí set -o emacs/vi on

    Tab - klávesa, která doplní název proměnné (začíná-li text $), uživatelského jména (začíná-li text ~), hostname (začíná-li text ), příkazu (spustitelného souboru, aliasu i funkce) a jména souboru v pořadí tak, jak bylo napsáno.
    Ctrl+a ­- tato kombinace vrátí kurzor na začátek řádky.
    Ctrl+l - vyčistí obrazovku ale zachová aktuální řádku tak, jak byla napsána (vhodné, pokud jste neco lehce nevychytali a nechcete, aby to ten, kdo u vás sedí viděl).
    Ctrl+e ­- posune kurzor na konec řádku.
    Ctrl+r ­- tohle už známe.
    Ctrl+s - dopředné hledání v historii příkazů.
    Ctrl+t ­- opět skvělá kombinace, prohodí písmenko pod kurzorem s písmenem předcházejícím (obzvlášť vhodné na zkomoleniny typu mroe apod.).
    Ctrl+b - přesune kurzor o jeden znak spět.
    Ctrl+f - přesune kurzor o jeden znak kupředu.
    Ctrl+d - vymaže znak na pozici kurzoru.
    Ctrl+_ - o krok zpět, opakuje poslední akci.
    Ctrl+w - obdobně jako Alt-DEL (ale ne naprosto stejně) smaže předchozí slovo.
    Ctrl+y - vloží před tím smazaný text na aktuální pozici kurzoru na řádce.
    Ctrl+p - předchozí příkaz v historii příkazů ,téhož lze dosáhnout šipkou nahoru.
    Alt+. - vloží na pozici kurzoru poslední slovo předchozího příkazu (by Ritchie).

    Práce jen s historií

    history [-počet] - vypíše historii příkazů (posledních "počet" příkazů).
    !! - zopakuje poslední příkaz.
    !4 - zopakuje příkaz číslo 4.
    !$ - zopakuje poslední parametr posledního příkazu.
    !^ - zopakuje první parametr posledního příkazu.
    !* - zopakuje všechny parametry posledního příkazu.
    !:0 - nultý parametr posledního příkazu (čili samotný příkaz bez dalších parametrů).
    !:2-4 - druhý až čtvrtý parametr.
    !:-3 - nultý až třetí parametr.
    !847:2-4 - nemusíme samozřejmě operovat jen s posledním příkazem - takto pracujeme s příkazem číslo 847.
    !!:s/řetězec1/řetězec2/ - provede poslední příkaz + nahradí řetězec1 řetězcem2 (stejné jako ^string1^string2^).

    Klávesových zkratek je samozřejmě mnohem více, pro další doporučuji prostudovat manuálové stránky Bashe. Klávesové zkratky lze měnit a to v souboru uvedeném v proměnné INPUTRC nebo v souboru ~/.inputrc.

    Readline library

    Knihovna readline se používá při načítání řádků v interaktivním shellu. Obsahuje soubor funkcí, jejichž pomocí můžeme při zadávání opravovat a vybírat příkazy ze zásobníku historie příkazů. Implicitně jsou použity příkazy editoru Emacs, lze samozřejmě přepnout i do módu editoru Vi.

    Literatura

    Osobní stránky Jindřicha Vrby
    Using Linux
    Brandejs, M., Linux: praktický průvodce, Brno: Konvoj, 2003. ISBN 80-7302-050-5        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    10.7.2007 13:35 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
    Rozbalit Rozbalit vše Re: Hrátky s historijí
    no až na tu historiji dobrý ;-)
    θηριον ειμι
    10.7.2007 13:40 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Hrátky s historijí
    Logni shell?
    pol128 avatar 10.7.2007 13:50 pol128 | skóre: 18
    Rozbalit Rozbalit vše Re: Hrátky s historijí
    Tam si autor skúšal CTRL+t ;-)
    10.7.2007 18:22 hub | skóre: 26 | blog: bg
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Možná byste mohl části zápisku nalepit do učebnice.
    pele avatar 10.7.2007 19:00 pele | skóre: 28 | blog: Bleabr | UH
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Pokusim se:)
    Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
    Václav 10.7.2007 18:28 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Až na některé ze zkratek to vše funguje v ZSH stejně.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    pele avatar 10.7.2007 19:00 pele | skóre: 28 | blog: Bleabr | UH
    Rozbalit Rozbalit vše Re: Hrátky s historií
    To je dobre vedet, diky za info.
    Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
    11.7.2007 21:21 Jiří Daněk
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Ještě bych rád doplnil, že při vyhledávání pomocí Ctrl + r/s je možné ve vysledcích listovat pomocí stisků ctrl + r dopředu a pomocí Ctrl + s zase dozadu.

    ---

    Byl jeden pán a ten měl psa, HAFUŠA se jmenoval.
    11.7.2007 21:48 thefox | skóre: 25 | Ťapešovo
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Takže Ctrl-_ odčiní poslednú akciu! Konečne viem, čo robiť pri najbližšom rm -rf :-).

    (Inak trošku sa ti tam miešajú CTRL a Ctrl, ale to je detail.)
    0118 999 881 999 119 725 3
    pele avatar 11.7.2007 23:09 pele | skóre: 28 | blog: Bleabr | UH
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Souhlasim to sem napsal blbe, spis by melo byt zopakuje posledni akci, asi.

    "Ctrl" opravim.
    Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
    12.7.2007 08:12 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Přidal bych užitečnou, nicméně téměř neznámou klávesovou zkratku Alt + ., která vloží na pozici kurzoru poslední slovo předchozího příkazu.
    xvasek avatar 18.7.2007 09:07 xvasek | skóre: 21 | blog: | Zlín
    Rozbalit Rozbalit vše Re: Hrátky s historií
    Geniální. :-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.