Naučte sa Linux

Príkaz histórie v systéme Linux s príkladmi

Príkaz histórie v systéme Linux s príkladmi

Príkaz history v systéme Linux nie je zložitým žargónom. Je to presne to, čo si myslíte, že to je, a nie je za tým skrytý zmysel. Rovnakým spôsobom sa po dlhom dni na internete pozeráte na históriu prehliadača aj vy. Všetko je to o sledovaní vašich predchádzajúcich pohybov a akcií, ale v tomto prípade je to na termináli alebo príkazovom riadku systému Linux.

Preto môžeme pohodlne definovať príkaz histórie v doméne Linux ako spôsob zobrazenia ukážky predtým vykonaných príkazov. V takom prípade sa na terminál môžeme pozerať ako na prehliadač, v ktorom vykonávate rôzne príkazy v súvislom časovom rámci. Tieto vykonané príkazy sa interpretujú jednotlivo ako udalosti. Každej udalosti je potom priradené číslo udalosti. Preto máme príkazy s ID ako čísla udalostí uložené v súbore histórie po ich vykonaní na termináli.

Dôležitosť ID udalostí je zrejmá, keď budete možno musieť neskôr spomenúť na konkrétny vykonaný príkaz. Možno budete tiež chcieť zmeniť predtým vykonaný príkaz. Preto môžeme uzavrieť úvodné porozumenie príkazu history, aby sa na termináli zobrazili všetky predtým vykonané príkazy alebo iba konkrétny príkaz. Tiež by sme nemali zabudnúť na realizovateľnú možnosť úpravy uvedeného príkazu.

Nechať históriu, aby sa opakovala

Tento historický článok môžeme začať zábavnou formou a citáciou Georga Santayanu. Tento slávny jedinec spája neschopnosť spomenúť si na minulosť s kliatbou jej opakovania. Keď však vstúpime do sveta Linuxu, tento citát sa dá kvalifikovať iba ako mýtus. Je to preto, lebo filozofia Linuxu je realisticky opakom uvedeného citátu Georga Santayanu. Ak si na termináli Linux nemôžete spomenúť na minulú akciu, nemusíte sa jej obávať, pretože je pravdepodobné, že sa nerozvinie.

Pokiaľ sa samozrejme nestanete veliteľom príkazu histórie systému Linux, môžete cestovať v čase do minulosti a opraviť svoje predchádzajúce hriechy terminálu, ak si to prajete. Použitie príkazu histórie systému Linux nie je v žiadnom prípade spoločníkom lenivosti. Šetrí čas efektívnosťou. Pri postupe v ovládaní operačného systému Linux zistíte, že pracujete s zdĺhavejšími a komplikovanejšími príkazmi. Aj keď porovnáte svoje IQ s Alberom Einsteinom, nebudete mať čas pamätať si všetky príkazy, ktoré vykonáte, a čoskoro začnete robiť hrozné chyby. Práca na termináli Linux vystaví jednotlivca dvom typom chýb:

Príkaz histórie si môžete predstaviť ako bojovníka ninja, ktorý eliminuje tieto dva typy chýb, aby zvýšil vašu produktivitu. Predtým, ako začneme s týmto tutoriálom, by ste mali myslieť na niečo, čo sa týka príkazu histórie systému Linux, nielen použitia šípky hore na klávesnici. Náš prístup umožní, aby ste vyzerali profesionálnejšie.

Zadajte príkaz História systému Linux

Spustenie príkazu history je také ľahké ako napísanie slova history na termináli Linux. Zapnite teda svoj terminál a absolvujte tento jednoduchý pravopisný kvíz.

história

príkaz histórie

Ak stlačíte kláves Enter, zobrazí sa zoznam všetkých príkazov, ktoré ste vykonali na termináli, s priradenými ID alebo číslami udalostí. Systém číslovania, ktorý používa rozhranie terminálu Linux, zobrazuje najstarší príkaz v hornej časti zoznamu a novo zadaný príkaz v dolnej časti zoznamu. Ako vidíte, práve zadanému príkazu histórie bolo pridelené identifikačné číslo 24.

zoznam príkazov histórie

Zvážte scenár veľmi aktívneho terminálu Linux. Ak by sme na tomto termináli mali napísať príkaz histórie, výstupom by bol povedzme zoznam 500 príkazov uložených v súbore histórie. Príkaz history je teda užitočný pri filtrovaní určeného zoskupeného segmentu príkazov. Povedzme, že si chceme pozrieť posledných 10 príkazov vykonaných na termináli. Cestu cez terminál prefiltrujeme zadaním nasledujúcich pokynov.

história 10

posledných desať príkazov v súbore histórie

Ako môžete vidieť, príkaz „history 10“ filtroval posledných desať príkazov použitých na tomto termináli a uviedol ich na našom termináli vrátane príkazu „history 10“.

To je jeden zo spôsobov, ako dosiahnuť tento cieľ. Ďalším neradným spôsobom, ako to urobiť, je prepojenie príkazu histórie s ďalším príkazom nazývaným príkaz chvosta. Zadajte nasledujúci príkaz uvedený na snímke obrazovky nižšie.

história | chvost -n 10

pomocou príkazu chvosta na zobrazenie posledných desiatich príkazov v súbore histórie

Príkaz tiež uvádza zoznam posledných 10 vykonaných príkazov na termináli Linux, vrátane toho, ktorý sme práve vykonali.

Vlastne sa opakujúca história

Je čas na zábavnú časť použitia príkazu histórie. Čo tak začať tým, že sa história nechá skutočne opakovať. Pretože ste oboznámení s príkazmi histórie a ich priradenými ID udalostí, vráťme sa k terminálu. Ak chcete zopakovať konkrétne uvedený príkaz, všimnite si jeho ID udalosti a zosmiešnite nasledujúci príkaz, ako je znázornené na snímke obrazovky. Pri písaní príkazu nepoužívajte medzery.

!17

použitie ID udalosti na vykonanie predchádzajúceho príkazu

V mojom prípade som chcel zobraziť súbor Linux / etc / host a bol som vyzvaný na zadanie autentifikačného hesla. Len čo boli moje poverenia schválené, príkaz sa vykonal sám.

vykonaný príkaz v súbore histórie

Existuje aj prípad, keď chcete zopakovať predchádzajúci vykonaný príkaz. Dosiahnutie tohto cieľa je také ľahké ako zadanie dvoch výkričníkov do terminálu. Nepoužívajte medzery.

!!

opätovné vykonanie predchádzajúceho príkazu

znovu vykonaný príkaz histórie

Ako vidíte, príkaz nás priviedol späť k súboru Linux / etc / host, ktorý som predtým otvoril. Na opätovné použitie môjho predchádzajúceho príkazu, ktorý bol vykonaný sám, bolo potrebné použiť príkaz dvojitého výkričníka. Možno ste už boli zvyknutí na klávesnicu so šípkou nahor, ktorá vyžaduje, aby ste vykonali dve akcie, raz rolovali nahor a potom stlačili tlačidlo Enter. Príkaz dvojitého výkričníka však vyzerá svižnejšie a profesionálnejšie, pretože stačí vykonať iba jednu akciu.

Pretože príkaz, ktorý som použil, vyžaduje privilégiá Sudo, môžem pred svoje dvojité výkričníky pridať príkaz Sudo, aby som dosiahol rovnaký očakávaný výsledok.

sudo !!

zaoberajúci sa velením histórie Sudo

Zobrazené výkričník spojené s daným ID vykoná jediné výkričníkové číslo v kombinácii s ID udalosti. Dvojitý výkričník vás prinúti vykonať naposledy použitý príkaz s možnosťou predpony príkazu Sudo, ak vyžaduje vykonanie používateľa sudoer.

Možno budete tiež chcieť posunúť svoju nerdiness na vyššiu úroveň a budete chcieť spôsob, ako zopakovať svoje 3rd alebo 6th predchádzajúci príkaz. V takom prípade si budete musieť všimnúť ID udalosti spojené s príkazom. Identifikátor udalosti potom skombinujete so spojovníkom a jedným výkričníkom nasledovne.

!-21

vykonaním predchádzajúceho príkazu v súbore histórie

Na konci som sa chcel spýtať na mojich 21sv predchádzajúci príkaz a ukázalo sa, že išlo o požiadavku na ping pre moju IP adresu localhost. Použitie tejto postupnosti príkazov je užitočné, keď chcete skontrolovať predtým vykonaný príkaz a zistiť, či parametre, ktoré ste použili na jeho vykonanie, sú stále platné alebo nie sú zaujaté.

Príkazové struny

Povedzme, že ste vykonali nejaký príkaz na svojom termináli, ale tento príkaz ste si úplne nezapamätali. Ste si však istý účinnosťou príkazu a tým, ako vám pomohol. Poznanie časti reťazca, ktorý tvorí tento príkaz, je veľmi užitočné. V mojom prípade som si veľmi istý, že raz spustím príkaz na aktualizáciu môjho systému. Povedzme, že si tento príkaz na aktualizáciu systému ešte musím úplne zapamätať, ale viem, že časť príkazu obsahuje reťazec „apt“ ako počiatočné znenie príkazu. Ak chcete tento príkaz znova použiť, napíšem na svoj terminál nasledujúci príkaz. Pretože však väčšina príkazov na aktualizáciu systému vyžadovala autorizáciu používateľa sudoer, predponujem pred príkazový reťazec, ktorý chcem použiť, príkaz Sudoer.

sudo !trefný

príkaz histórie s reťazcami

Ako vidíte, úspešne som aktualizoval svoj systém Linux z príkazového riadku bez použitia celého príkazu „sudo apt update“. Tento hack z príručky príkazu histórie systému Linux je užitočný pri práci s dlhšími príkazmi, ktoré by mohli byť zdĺhavé pri písaní alebo by mohli viesť k nepríjemnému preklepu. Možno upravujete súbor, ktorého relatívna cesta vytvorí zdĺhavý príkaz, alebo iba kopírujete súbory. Tak či onak, k recyklácii svojich opakujúcich sa príkazov potrebujete prístup bez stresu.

Keďže sme sa dotkli aspektu autorizácie používateľov sudoer, mohli by sme skončiť narazením do steny, pokiaľ nebudeme opatrní. Väčšina príkazov od privilegovaných používateľov sudoer bude na vykonanie vyžadovať predponu Sudo. Preto zadajte príkaz reťazca ako '!sudo 'pre príkazy začínajúce sa sudom nemusí stačiť, pretože by to mohlo viesť k vykonaniu nežiaducej postupnosti príkazov. Môžeme však poskytnúť záchrannú sieť pomocou parametra: p, ktorý je modifikátorom tlače. Kombinácia nášho reťazcového príkazu s ním by preto mala priniesť výstupy ako nasledujúci.

!sudo: str

príkaz histórie s modifikátorom tlače

Príkaz vytlačil dostupné príkazy Sudo, ktoré som práve použil. Na opätovné použitie tohto príkazu použijem kláves so šípkou hore a vykonám ho stlačením klávesu Enter. Ak by zoznam obsahoval viac ako jeden príkaz Sudo, stále by som pomocou klávesu so šípkou nahor navigoval ku konkrétnemu príkazu Sudo, ktorý som chcel znova použiť.

Toto nie sú všetky možnosti riešenia strún. Existuje aj prípad, keď viete iba o konkrétnom reťazci definovanom v príkaze, ktorý chcete použiť. Ide o prípad, keď si nie ste istí prvými reťazcami, ktoré definujú príkaz, ktorý ste predtým použili. Tu na vyhľadanie príkazu použijete výkričník aj otáznik.

!?ping

vykonanie konkrétneho príkazu zo súboru histórie prostredníctvom reťazcov

Použil som!?postupnosť príkazov ping, ktorá okamžite vykonala moju predchádzajúcu žiadosť o príkaz ping. Túto postupnosť môžete použiť na vykonanie predchádzajúcich príkazov vo vašom termináli, ktoré sú jedinečné pre ostatných.

Interaktívne vyhľadávanie

Predpokladajme, že máte niekoľko predchádzajúcich príkazov, ktoré ste vykonali, a ktoré majú podobné alebo zodpovedajúce sekvenčné reťazce. Spomedzi všetkých týchto zhodných pokynov možno budete chcieť vykonať iba konkrétnu sekvenciu príkazov v tomto záhybe. Interaktívne vyhľadávanie vám umožní dostať sa k tomuto jedinému príkazu, ktorý chcete vykonať. Interaktívne vyhľadávanie spustíte kombináciou klávesov Ctrl + r. Displej terminálu Linux by mal vyzerať podobne ako ten uvedený nižšie.

príkaz na históriu a interaktívne vyhľadávanie

Stačí zadať hľadanú stopu pre príkaz, ktorý musíte vykonať. V mojom prípade som zadal „apt“ a ako vidíte, objavilo sa to medzi apostrofom a spätnou väzbou. Môžete zadať ďalšie reťazcové stopy o dopytovanom príkaze a interaktívne vyhľadávanie bude neustále aktualizovať súvisiace výsledky. Stlačením klávesu Enter sa okamžite vykoná nájdený príkaz.

sudo apt aktualizácia

pomocou interaktívneho vyhľadávania

Okrem toho možno budete chcieť nájdený príkaz pred vykonaním upraviť. Použite na to šípky vľavo a vpravo na klávesnici. Nájdený príkaz sa teraz zobrazí na termináli, kde môžete vykonať potrebné zmeny.

sudo apt aktualizácia && cd FOSSLinux

úprava interaktívneho vyhľadávania

Odstraňovanie príkazov histórie

Doteraz môžete zo súboru histórie získavať, dopytovať, aktualizovať a spúšťať príkazy. Možno však hľadáte spôsob, ako vyprázdniť zoznam histórie niektorého alebo všetkých jeho príkazov. Možno ste ten typ používateľov, ktorý nechce, aby ktokoľvek sledoval, ako využívali svoj systém Linux. Parameter -d vám pomôže zbaviť sa niektorých nechcených príkazov v súbore histórie. V mojom prípade obsahuje môj súbor histórie nesprávne napísaný príkaz s ID udalosti číslo 44.

príkaz na nájdenie histórie na odstránenie

Aby som sa zbavil tohto nesprávne napísaného príkazu, urobím na svojom termináli nasledovné.

história -d 44

sk Použiť ID udalosti na vymazanie príkazu histórie

Opätovným spustením príkazu „history“ sa zobrazí chybne napísaný príkaz.

potvrdzujúce vymazanie príkazu histórie

Možnosť odstránenia sa nevzťahuje iba na jeden príkaz, pretože pokrýva aj celý rad príkazov. Zvážte napríklad nasledujúci príkaz.

história -d 10 20

Tento príkaz odstráni položky súboru histórie z ID udalosti 10 do ID udalosti 20. Ďalším príkazom histórie, ktorý je potrebné zvážiť, je nasledujúci.

história -d -6

Týmto príkazom sa zbavíte posledných šiestich príkazov, ktoré ste zadali do terminálu uloženého v súbore histórie.

Ak chcete vymazať všetko zo zoznamu súborov histórie, môžete zosmiešniť nasledujúci príkaz.

história -c

vymazať všetky príkazy histórie

Záver

Teraz máte všetky potrebné informácie, aby ste mohli rozhodnúť, či sa história terminálu má alebo nemá opakovať. Pre pokročilých používateľov existujú prípady, kedy môžete spustiť aplikáciu cez terminál a môže sa zobraziť výzva, aby ste za sebou nechali stopu citlivých informácií. Súbor histórie tiež uchováva také citlivé údaje. Preto je dobrým zvykom vždy pred opustením príkazového riadku vymazať súbor histórie, najmä v prípadoch, ktoré vedú k uloženiu citlivých údajov. Príkaz history vám dáva silu znovu prežiť dobré časy v termináli a tiež opraviť chyby z minulého príkazového riadku.

Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...