Lær Linux

Historik kommando i Linux med eksempler

Historik kommando i Linux med eksempler

Historik-kommandoen i Linux er ikke noget kompleks jargon. Det er præcis, hvad du synes, det er, og der er ingen skjult mening bag det. Den samme måde, du ser på din browserhistorik efter en lang dag på internettet, er hvordan du opfatter kommandoen historie. Det handler om at spore dine tidligere bevægelser og handlinger, men i dette tilfælde er det på en Linux-terminal eller kommandolinje.

Derfor kan vi komfortabelt definere historik-kommandoen under Linux-domænet som en måde at forhåndsvise tidligere udførte kommandoer på. I dette tilfælde kan vi se på terminalen som en browser, hvor du udfører forskellige kommandoer på en kontinuerlig tidsramme. Disse udførte kommandoer fortolkes individuelt som begivenheder. Hver begivenhed tildeles derefter et begivenhedsnummer. Derfor har vi kommandoer med id'er som hændelsesnumre, der er gemt i en historikfil efter deres terminaludførelse.

Hændelses-id'ernes betydning er tydelig, når du måske senere skal huske en bestemt kommando, du udførte. Du vil muligvis også ændre en tidligere udført kommando. Derfor kan vi konkludere historik-kommandos indledende forståelse for at vise alle de tidligere udførte kommandoer eller bare en bestemt kommando på terminalen. Vi bør heller ikke glemme den levedygtige mulighed for at ændre den anførte kommando.

At lade historien gentage sig selv

Vi kan begynde denne historiske artikel på en sjov måde og ved at citere George Santayana. Denne berømte person forbinder manglende evne til at huske fortiden med forbandelsen om at gentage den. Men når vi træder ind i Linux-universet, kvalificerer dette citat kun som en myte. Det er fordi Linux-filosofien realistisk er det modsatte af det erklærede George Santayanas citat. Når du er på Linux-terminalen, hvis du ikke kan huske en tidligere handling, er der ingen grund til at bekymre sig om det, fordi oddsene er imod, at det nogensinde løser sig ud.

Medmindre du selvfølgelig bliver en mester i Linux historie-kommandoen, kan du tidsrejser til fortiden og rette dine tidligere terminalsynder, hvis det er dit ønske. Brugen af ​​kommandoen Linux historie er på ingen måde en tilknytning til dovenskab. Det sparer tid gennem effektivitet. Når du går videre til at mestre Linux-operativsystemet, vil du finde dig selv at arbejde med længerevarende og komplicerede kommandoer. Selv hvis du sammenligner din IQ med Albert Einstein, har du ikke tid til at huske alle de kommandoer, du udfører, og snart begynde at lave frygtelige fejl. Arbejde på Linux-terminalen udsætter en person for to typer fejl:

Du kan tænke på kommandoen historie som ninja-krigeren, der udrydder disse to typer fejl for at øge din produktivitet. Et tankegang før vi begynder vejledningen, der er mere til Linux historie-kommandoen end bare at bruge dit tastaturs pil op. Vores tilgang får dig til at se mere professionel ud.

Indtast Linux's History Command

At starte kommandoen historie er lige så let som at skrive ordhistorikken på din Linux-terminal. Så fyr din terminal op, og bestil denne enkle stavequiz.

historie

historie kommando

Hvis du trykker på enter, får du en liste over alle de kommandoer, du udførte på terminalen med deres tildelte id'er eller begivenhedsnumre. Nummereringssystemet, som Linux-terminalgrænsefladen bruger, viser den ældste kommando øverst på listen og den nyligt indtastede kommando nederst på listen. Som du kan se, fik den kommando, jeg lige har skrevet, tildelt id-nummer 24.

historie kommandoliste

Overvej scenariet for en meget aktiv Linux-terminal. Hvis vi skulle skrive historik-kommandoen på denne terminal, ville output være, lad os sige, en liste med 500 kommandoer gemt i historikfilen. Så historik-kommandoen er nyttig til filtrering af et specifikt grupperet segment af kommandoer. Lad os sige, at vi vil se de sidste 10 kommandoer, der er udført på terminalen. Vi filtrerer os gennem terminalen ved at skrive følgende.

historie 10

sidste ti kommandoer i historikfilen

Som du kan se, filtrerede kommandoen 'historie 10' de sidste ti kommandoer, der blev brugt på denne terminal, og opførte dem på vores terminal med inkludering i kommandoen 'historie 10'.

Det er en måde at nå dette mål på. En anden nørdet måde at gøre det på er ved at udpege historikommando med en anden kommando kaldet halekommando. Skriv følgende kommando som videresendt i skærmbilledet nedenfor.

historie | hale -n 10

ved hjælp af hale-kommandoen til at vise de sidste ti kommandoer i historikfilen

Kommandoen viser også de sidste 10 udførte kommandoer på Linux-terminalen, inklusive den vi lige har udført.

Faktisk gentagende historie

Det er tid til den sjove del af at bruge kommandoen historie. Hvad med, vi starter med faktisk at lade historien gentage sig selv. Da du er bekendt med historik-kommandoerne og deres tilknyttede begivenheds-id'er, lad os vende tilbage til terminalen. For at gentage en specifikt anført kommando skal du notere dens hændelses-id og spotte følgende kommando som vist på skærmbilledet. Brug ikke mellemrum, når du skriver kommandoen.

!17

ved hjælp af begivenheds-id til at udføre en tidligere kommando

I mit tilfælde ville jeg se Linux / etc / host-filen og blev bedt om et godkendelsesadgangskode. Så snart mine legitimationsoplysninger blev godkendt, udførte kommandoen sig selv.

udført kommando på historikfilen

Der er også et tilfælde, hvor du vil gentage den forrige kommando, du udførte. At nå dette mål er lige så let som at skrive to udråbstegn på din terminal. Brug ikke mellemrum.

!!

genudførelse af tidligere kommando

genudført historik-kommando

Som du kan se, tog kommandoen os tilbage til Linux / etc / host-filen, jeg tidligere havde åbnet. Det krævede kommandoen for dobbelt udråb for at genbruge min tidligere kommando, som blev udført af sig selv. Måske var du muligvis vant til tastaturets pil op, hvilket krævede, at du udførte to handlinger, rul op en gang og derefter trykke på Enter-knappen. Den dobbelte udråbskommando ser dog hurtigere og mere professionel ud, da du kun behøver at udføre en enkelt handling.

Da den kommando, jeg brugte, kræver Sudo-privilegier, kan jeg forud for mine dobbelte udråbstegn med en Sudo-kommando for at give det samme forventede resultat.

sudo !!

beskæftiger sig med Sudo historie kommando

Et enkelt udråbstegn kombineret med et hændelses-id udfører den viste kommando, der er bundet til det id. Et dobbelt udråbstegn får dig til at udføre din senest anvendte kommando med mulighed for at prefikse kommandoen med Sudo, hvis det kræver, at en sudoer-bruger udfører.

Du vil måske også tage din nørdhed til det næste niveau og vil have en måde at gentage din 3 pård eller 6th forrige kommando. I dette tilfælde skal du notere begivenheds-id'et, der er knyttet til kommandoen. Derefter kombinerer du begivenheds-id'et med en bindestreg og et enkelt udråbstegn som følger.

!-21

udførelse af tidligere kommandoer i historikfilen

Til sidst ville jeg spørge om min 21St forrige kommando, og det viste sig at være en ping-anmodning om min localhost IP-adresse. Brug af denne kommandosekvens er nyttig, når du vil modkontrol af en tidligere udført kommando og afgøre, om de parametre, du brugte til at udføre den, stadig er gyldige eller ikke forudindtatte.

Command Strings

Lad os sige, at du udførte en kommando på din terminal, men du har ikke husket kommandoen fuldt ud. Du er dog sikker på effektiviteten af ​​kommandoen og hvordan den hjalp dig. At kende en del af strengen, der udgør denne kommando, er meget nyttig. I mit tilfælde er jeg meget sikker på en gang at køre en kommando for at opdatere mit system. Lad os sige, at jeg endnu ikke skal huske denne systemopdateringskommando fuldt ud, men jeg ved, at en del af kommandoen indeholder strengen 'apt' som den første ordlyd til kommandoen. For at bruge denne kommando igen, vil jeg skrive følgende kommando på min terminal. Da de fleste systemopdateringskommandoer krævede en sudoer-brugeres autorisation, vil jeg forud for kommandostrengen, jeg vil bruge med Sudo.

sudo !apt

historie kommando med strenge

Som du kan se, opdaterede jeg mit Linux-system med succes fra kommandolinjen uden at bruge den fulde kommando 'sudo apt update'. Dette hack fra Linux historie kommandovejledning er nyttigt, når du beskæftiger dig med længere kommandoer, der kan være kedelige at skrive eller kan føre til en nagende skrivefejl. Du redigerer muligvis en fil, hvis relative sti giver en lang kommando eller bare kopierer filer. Uanset hvad har du brug for en stressfri tilgang til at genbruge dine gentagne kommandoer.

Da vi berørte sudoerbrugernes autorisationsaspekt, kan vi ende med at ramme en mur, hvis vi ikke er forsigtige. De fleste kommandoer fra sudoer-privilegerede brugere kræver, at præfikset Sudo skal udføres. Derfor skriver du en strengkommando som '!sudo 'for kommandoer, der begynder med Sudo, er muligvis ikke nok, da det kan føre til udførelse af en uønsket kommandosekvens. Vi kan dog tilbyde et sikkerhedsnet ved hjælp af parameteren: p, som er en udskriftsmodifikator. Derfor bør kombination af vores strengkommando med den give output som følgende.

!sudo: s

historik kommando med udskriftsmodifikatoren

Kommandoen udskrev de tilgængelige Sudo-kommandoer, jeg lige har brugt. For at genbruge denne kommando vil jeg bruge tastaturets pil op og trykke på Enter for at udføre den. Hvis listen viste mere end én Sudo-kommando, ville jeg stadig bruge pil op for at navigere til den specifikke Sudo-kommando, som jeg ønskede at genbruge.

Dette er ikke alle de muligheder, vi har for at håndtere strenge. Der er også et tilfælde, hvor du kun kender en bestemt streng defineret i den kommando, du vil bruge. Det er et tilfælde, hvor du ikke er sikker på de første strenge, der definerer den kommando, du tidligere har brugt. Her bruger du både udråbstegn og spørgsmålstegn til at finde din kommando.

!?ping

udførelse af en bestemt kommando fra historikfilen gennem strenge

Jeg brugte '!?ping 'kommandosekvens, som øjeblikkeligt udførte min tidligere ping-anmodning. Du kan bruge denne sekvens til at udføre tidligere kommandoer på din terminal, der er unikke for andre.

Interaktiv søgning

Lad os antage, at du har flere tidligere kommandoer, som du udførte, og at de har lignende eller matchende strengesekvenser. Ud af alle disse matchende signaler vil du måske kun udføre en bestemt kommandosekvens i den fold. En interaktiv søgning giver dig mulighed for at komme til denne ene kommando, som du vil udføre. For at starte den interaktive søgning skal du kombinere tasterne Ctrl + r. Din Linux-terminalskærm skal se ud som den nedenfor.

historie kommando og interaktiv søgning

Skriv bare søgeordet for den kommando, du skal udføre. I mit tilfælde skrev jeg 'apt', og som du kan se, dukkede det op mellem apostrofen og backtick. Du kan indtaste som flere strengspor om den forespurgte kommando, og den interaktive søgning opdaterer løbende de relaterede resultater. Ved at trykke på enter udføres straks den fundne kommando.

sudo apt opdatering

ved hjælp af interaktiv søgning

Desuden vil du måske redigere den fundne kommando, før du udfører den. For at gøre det skal du bruge venstre og højre tastaturpil. Den fundne kommando viser sig nu på terminalen, hvor du kan foretage de nødvendige ændringer.

sudo apt opdatering && cd FOSSLinux

redigering af en interaktiv søgning

Sletning af historik kommandoer

Indtil videre kan du nu hente, forespørge, opdatere og udføre kommandoer fra historikfilen. Du kan dog være på udkig efter en måde at tømme historiklisten for nogle af eller alle dens kommandoer på. Måske er du den type bruger, der ikke ønsker, at nogen skal spore, hvordan de brugte deres Linux-system. Parameteren -d hjælper dig med at slippe af med nogle uønskede kommandoer i historikfilen. I mit tilfælde indeholder min historikfil en stavet forkert kommando med et hændelses-ID-nummer 44.

finde historik kommando til at slette

For at slippe af med denne forkert stavede kommando vil jeg gøre følgende på min terminal.

historie -d 44

ved hjælp af begivenheds-id til at slette historik kommando

At køre kommandoen 'historie' igen viser, at den forkert stavede kommando blev slettet.

bekræfter sletningen af ​​historik-kommandoen

Sletningsmuligheden gælder ikke kun for en enkelt kommando, da den også dækker en række kommandoer. Overvej f.eks. Følgende kommando.

historie -d 10 20

Denne kommando sletter historikfilindtastningerne fra hændelses-id 10 til hændelses-id 20. En anden historiekommando, der skal overvejes, er følgende.

historie -d -6

Denne kommando slipper af med de sidste seks kommandoer, du skrev på terminalen, der er gemt i historikfilen.

Hvis du vil rydde alt fra listen over historikfiler, kan du spotte følgende kommando.

historie -c

ryd alle historik-kommandoer

Konklusion

Du har nu alle de nødvendige oplysninger til at afgøre, om din terminalhistorie skal eller ikke skal gentage sig selv. For avancerede brugere er der tilfælde, hvor du muligvis kører en app gennem terminalen og måske bliver bedt om at efterlade et spor af følsomme oplysninger bag. Historikfilen gemmer også sådanne følsomme data. Derfor er det god praksis altid at rydde din historikfil, før du afslutter kommandolinjen, især i tilfælde, der fører til lagring af følsomme data. Historik-kommandoen giver dig mulighed for at genopleve de gode tider på terminalen og også rette dine tidligere kommandolinjefejl.

Mus WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
Hvis du vil forbedre standardfunktionerne for din musemarkør, skal du bruge freeware WinMouse. Det tilføjer flere funktioner, der hjælper dig med at f...
Mus Museklik på venstre museknap fungerer ikke på Windows 10
Museklik på venstre museknap fungerer ikke på Windows 10
Hvis du bruger en dedikeret mus med din bærbare computer eller stationære computer, men musens venstre-klik-knap fungerer ikke på Windows 10/8/7 af en...
Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...