Linuxi käsurida - Terminal, nagu kõik kestad, hoiab kasutaja minevikus täidetud käskude ajalugu. See ajalugu on püsiv ja jääb mällu ka siis, kui taaskäivitame oma süsteemi. Neid salvestatud käske saab meil kõige optimaalsemal viisil välja kutsuda ja taaskasutada, et enamiku kestade ajaloo salvestamise funktsiooni tõhusalt kasutada.
Linuxi bashil on väga võimas käsk nimega "ajalugu". See käsk on sisseehitatud bashi käsk, mida kasutatakse ajalooteabe eraldamiseks käskude kohta, mille Linuxi kasutajad on täitnud kõigis eelmistes seanssides. Selles õpetuses võimaldame teil oma shelliajaloost parimat kasu saada, õppides ajaloo käsu õigesti kasutama. Linux salvestab teatud kasutaja käsuloo failis ~ /.vaikimisi bash_history.
Selles õpetuses mainitud käskude käitamiseks kasutame Linuxi rakendust Terminal.
Kogu ajaloo vaatamine
Kasutaja saab vaadata oma shellikäskude kogu ajalugu ainult selle kasutaja jaoks salvestatud ajaloofailist järgmise lihtsa käsu abil:
$ ajalugu
Ajalugu prinditakse ekraanile järgmises vaikevormingus:
Ülaltoodud pildil näete kõigi käskude loendit, millele on määratud number. Number 1 käsk vastab esimesele käsklusele ja viimane nummerdatud käsk tähistab viimast käsku.
Kui olete pärast bashi kasutamist käivitanud palju käske, märkate, et neid käske kuvatakse siin sadu ja isegi tuhandeid. Mõne asjakohase käsu juurde pääsemiseks saate filtreerida ajaloofunktsiooni abil kuvatud tulemused. Samuti saate kohandada ajaloo käsku, et kuvada teie jaoks kindel arv käske.
Ajalugu väljundi filtreerimine
Kui soovite oma ajaloo väljundit filtreerida konkreetse märksõna põhjal, mida olete võib-olla eelmistes käskudes kasutanud, võite kasutada käsku ajalugu järgmiselt:
$ ajalugu | grep [märksõna]
Näide: Selles näites tahan vaadata ainult neid pingikäske, mida olen kestas kunagi käivitanud. Seetõttu kasutan järgmist käsku:
$ ajalugu | grep ping
Näete, et minu väljund kuvab nüüd ainult käske, sealhulgas minu otsingu märksõna “ping” Advertisement
Hiljutiste käskude arvu kuvamine
Samuti saate vaadata kindlat arvu käske, näiteks:
- N viimaste käskude arvu
VÕI
- N vanimate käskude arvu
N Hiljutiste käskude arv
Kindlat arvu hiljuti käivitatud käske saate vaadata järgmise käsu kaudu:
$ ajalugu | saba -n
Näide:
Selles näites tahan vaadata viimast kolme käsku, mida käitusin märksõnaga 'ping':
$ ajalugu | grep ping | saba -3
Väljund kuvab kogu ajaloo asemel ainult 3 hiljutist pingikäsklust
N Vanimate käskude arv
Kindlat arvu vanimaid käske saate vaadata järgmise käsu kaudu:
$ ajalugu | pea -n
Näide:
Selles näites soovin vaadata kõige vanemaid kolme käsku, mida käitusin märksõnaga "ping":
$ ajalugu | grep ping | pea -3
Väljund kuvab kogu ajaloo asemel ainult 3 vanimat pingikäsklust
Loetlege kõik käsud kuupäeva ja ajatempliga
Kui soovite vaadata oma käskude ajalugu koos kuupäeva ja ajatempliga, kasutage järgmist käsku eksport:
$ eksport HISTTIMEFORMAT = "% F,% T"
Kui soovite ajalugu vaadata, käivitage lihtsalt käsk ajalugu, et näha väljundit järgmises vormingus:
Pange tähele, et see vormingu muudatus on ajutine ja seansi sulgemisel taastatakse see eelmisele standardile.
Ajalugu käskude navigeerimine
Käsureal olles saate navigeerida varem käivitatud käsklustes ja ka märksõna lisades meenutada mõningaid hiljuti kasutatud käske.
Käsude sirvimine
Ajaloo käskude sirvimiseks võite kasutada järgmisi klaviatuuri juhtnuppe
Nool üles / Ctrl + P | Nende juhtnuppude abil saate kuvada eelmise käsu. Ajalugu kindla käsu juurde naasmiseks võite neid juhtnuppe lüüa mitu korda. |
Nool alla / Ctrl + N | Nende juhtnuppude abil saate kuvada järgmise kasutatava käsu. Ajaloolises kindlas käsus edasi liikumiseks võite neid juhtnuppe mitu korda tabada. |
Alt + R | Kui redigeerite käsku, mille olete praegusest reast ajaloost välja tõmmanud, saate selle juhtelemendi abil taastada selle algsele käsule. |
Käskude tagasikutsumine
Konkreetset käsku ajaloost saate meelde tuletada, käivitada või mitte käivitada, kasutades järgmisi juhtelemente:
Ctrl + R | Selle juhtelemendi abil saate käsu ajaloost meelde tuletada, määrates otsingustringi. |
Ctrl + O | Selle juhtelemendi abil saate käivitada käsu, mille olete meelde kutsunud Ctrl + R abil |
Ctrl + G | Selle juhtelemendi abil saate ajaloost väljuda ilma käsu Ctrl + R abil meelde tuletatud käsu käivitamata |
Näide:
Selles näites vajutasin klahvikombinatsiooni Ctrl + R ja pakkusin seejärel otsingu stringi 'ar'. Ajalugu kuvas käsu 'arch'.
Kui käsku "arch" käivitasin, vajutades klahvikombinatsiooni ctrl + O, kuvas see minu süsteemi protsessori arhitektuuri:
Bashi ajaloo kasutamine
Bashi ajaloo tõeline maagia on erinevate käskude kasutamine ja ajaloo käsu enda kohandamine, et ajaloofunktsiooni kõige paremini ära kasutada:
Käskude käitamine ajaloost
- Nagu me varem nägime, kuvatakse ajaloo käskudes käske, seostades igaühega numbri. Järgmise käsu abil saate käivitada ajaloost teatud käsu selle numbri põhjal:
$ !#
Näide:
Siin käivitan oma ajaloost käsunumbri 95:
$ !95
Väljund kuvab tulemuse 'lscpu' -st, mis oli minu bashi ajaloos kirjas number 95. See käsk kuvab minu protsessori ja operatsioonisüsteemi spetsifikatsioonid.
- Oma eelmise käsu saate uuesti käivitada järgmise käsu abil:
$ !!
Näide:
Siin näete, et käivitasin käsu 'arch'. Eespool nimetatud käsu käivitamisel saan oma CPU arhitektuuri kuvamiseks käsu "arch" uuesti käivitada järgmiselt:
- Käsust ajaloost otsimiseks ja selle käivitamiseks kasutage järgmist käsku:
$ ![märksõna]
Näide:
Ma kasutan järgmist käsku, et käivitada viimane käsk märksõnaga "dconf":
$ !dconf
Järgmisel pildil saate uuesti kinnitada, et see oli viimane käsk dconf.
Eelmiste käskude argumentide kasutamine
Linux bash võimaldab teil käivitada uue käsu, kasutades eelmise käsu argumente. See on eriti kasulik, kui soovite vältida pikkade või keeruliste argumentide uuesti sisestamist. Selleks saate kasutada järgmist käsku:
Kasutades eelmise käsu viimast argumenti
$ [Käsk] !$
Muutuja !$ -i on sinna salvestatud viimane argument eelmisest käsust.
Näide:
Selles näites loo pika nimega fail.
Nano [pikk nimiOfaFile]
Seejärel kopeerin selle teise kohta, vältides pika nime uuesti sisestamist järgmiselt:
Cp !$ [sihtkoha kaust]
Näete, et suutsin muutuja abil faili kopeerida ilma failinime uuesti tippimata !$
Kasutades eelmise käsu esimest argumenti
Mõnikord on praeguses abiks vaid eelmise käsu esimene argument.
Sellisel juhul võite kasutada järgmist käsku:
$ [käsk] !^
Näide:
Järgmises näites käivitasin käsu ping, määrates argumentidena hostinime ja loenduse. Nüüd tahan oma uues käsus kasutada hosti nime (esimene argument), mitte 2 (viimane argument). Kasutan selleks järgmist käsku:
$ ping !^
Kasutades kõiki eelmise käsu argumente
Kõiki eelmise käsu argumente saate kasutada ka järgmise käsu abil:
$ !*
Kasutades ühte ajaloo käsu argumenti
Võite kasutada ka oma ajaloo käske, kasutades nende argumente uuesti. Selleks kasutage järgmist käsku:
$ [käsk] ![märksõna]: #
Näide:
$ kaja !cp: 2
See käsk võtab järgmised parameetrid:
käsk: kaja
Märksõna: cp
#: 2 (käsu teine argument)
Järgmine väljund näitab viimase käivitatud cp-käsu 2. argumenti:
Kasutades kõiki ajaloo käsu argumente
Järgmine käsk salvestab kõik otsitud ajaloo käsu argumendid ja kasutab neid praeguses käsus:
$ käsk ![märksõna]: *
Näide:
Järgmises käsus printin kõik käsu cp argumendid käsu echo abil järgmiselt:
$ kaja ![cp]: *
Eelmiste käskude muutmine ja käitamine
Kui sisestasite käsu valesti või soovite käsu uuesti käivitada, muutes selles olevat teksti; järgmine on viis seda teha:
$ ^ [previoustext] ^ [newtext]
Näide:
Sisestasin käsu „grep” valesti kui „gep” ja nüüd tahan käsu käivitada teksti parandades:
$ ^ gep ^ grep
Nüüd näete, et minu parandatud käsk töötab korralikult järgmiselt:
Ajalugu kustutamine
Bashi ajaloo kustutamiseks kasutage järgmist käsku:
$ ajalugu -c
See käsk kustutab teie ajaloo ja eemaldab kogu sisu failist ~ /.bash_history
Selles õpetuses oleme õppinud, et kuigi kogu ajaloo sisu printimine ei pruugi olla nii kasulik, on väljundi optimeerimine õpitud käskude kaudu tõeline mängude vahetaja. Selle artikliga harjutamine võimaldab teil vaadata täpseid käske, mida soovite, neid käske uuesti käivitada ja uuesti kasutada ning kasutada uute käskude optimeerimiseks ka varem käivitatud käskude argumente.