Lær Linux

Historikkommando i Linux med eksempler

Historikkommando i Linux med eksempler

Historikkommandoen i Linux er ikke noe kompleks sjargong. Det er akkurat det du tror det er, og det er ingen skjult mening bak det. På samme måte som du ser på nettleserloggen din etter en lang dag på internett, er hvordan du oppfatter historikkommandoen. Det handler om å spore dine tidligere bevegelser og handlinger, men i dette tilfellet er det på en Linux-terminal eller kommandolinje.

Derfor kan vi komfortabelt definere historikkommandoen under Linux-domenet som en måte å forhåndsvise tidligere utførte kommandoer på. I dette tilfellet kan vi se på terminalen som en nettleser der du utfører forskjellige kommandoer på en kontinuerlig tidsramme. Disse utførte kommandoene tolkes individuelt som hendelser. Hver hendelse tildeles deretter et hendelsesnummer. Derfor har vi kommandoer med ider som hendelsesnumre lagret i en historikkfil etter terminalutførelsen.

Hendelses-ID-ene er tydelige når du senere trenger å huske en bestemt kommando du utførte. Det kan også være lurt å endre en tidligere utført kommando. Derfor kan vi konkludere med historikkommandoens innledende forståelse for å vise alle tidligere utførte kommandoer eller bare en bestemt kommando på terminalen. Vi bør heller ikke glemme det levedyktige alternativet for å endre den oppførte kommandoen.

La historien gjenta seg

Vi kan begynne denne historiske artikkelen på en morsom måte og ved å sitere George Santayana. Denne berømte personen forbinder manglende evne til å huske fortiden med forbannelsen om å gjenta den. Men når vi går inn i Linux-universet, kvalifiserer dette sitatet bare som en myte. Det er fordi Linux-filosofien er realistisk motsatt av det uttalte George Santayanas sitat. Når du er på Linux-terminalen, hvis du ikke kan huske en handling tidligere, er det ingen grunn til å bekymre deg for det, fordi oddsen er imot at den noen gang vil rase ut.

Med mindre du selvfølgelig blir en mester i Linux historie-kommandoen, kan du tidsreise til fortiden og korrigere dine forrige terminalsynder hvis det er ditt ønske. Bruken av kommandoen Linux historie er på ingen måte en medarbeider av latskap. Det sparer tid gjennom effektivitet. Når du går videre til å mestre Linux-operativsystemet, vil du finne deg selv å jobbe med lengre og kompliserte kommandoer. Selv om du sammenligner IQ-en din med Albert Einstein, vil du ikke ha tid til å huske alle kommandoene du utfører og snart begynne å gjøre forferdelige feil. Arbeid på Linux-terminalen vil utsette en person for to typer feil:

Du kan tenke på historikkommandoen som ninja-krigeren som utrydder disse to typene feil for å øke produktiviteten din. Et tankesett før vi begynner opplæringen, det er mer med kommandoen Linux historie enn bare å bruke tastaturets opppiltast. Vår tilnærming vil få deg til å se mer profesjonell ut.

Skriv inn Linux's History Command

Å starte historikkommandoen er like enkelt som å skrive ordhistorikken på Linux-terminalen. Så fyr opp terminalen din og bestå denne enkle stavequizen.

historie

historie kommando

Hvis du trykker på enter, vil du få en liste over alle kommandoene du utførte på terminalen med deres tildelte ID-er eller hendelsesnumre. Nummereringssystemet Linux-terminalgrensesnittet bruker viser den eldste kommandoen øverst på listen og den nylig skrevne kommandoen nederst på listen. Som du ser, ble historikkommandoen jeg nettopp skrev tildelt id-nummer 24.

historie kommandoliste

Tenk på scenariet til en veldig aktiv Linux-terminal. Hvis vi skulle skrive historikkommandoen på denne terminalen, vil utgangen være, la oss si, en liste med 500 kommandoer lagret i historikkfilen. Så historikkommandoen er nyttig i å filtrere et spesifisert gruppert segment av kommandoer. La oss si at vi vil se de 10 siste kommandoene som er utført på terminalen. Vi filtrerer oss gjennom terminalen ved å skrive følgende.

historie 10

de siste ti kommandoene i historikkfilen

Som du ser, filtrerte kommandoen 'historie 10' de siste ti kommandoene som ble brukt på denne terminalen, og oppførte dem på terminalen vår med inkludering i kommandoen 'historie 10'.

Det er en måte å oppnå dette målet på. En annen nerdete måte å gjøre det på er å peke ut historikkommandoen med en annen kommando kalt tail command. Skriv inn følgende kommando, som videresendt i skjermbildet nedenfor.

historie | hale -n 10

ved hjelp av halen-kommandoen for å vise de ti siste kommandoene i historikkfilen

Kommandoen viser også de siste 10 utførte kommandoene på Linux-terminalen, inkludert den vi nettopp utførte.

Egentlig gjentakende historie

Det er tid for den morsomme delen av å bruke historikkommandoen. Hva med at vi begynner med å la historien gjenta seg. Siden du er kjent med historikkommandoer og tilhørende hendelses-ID, la oss komme tilbake til terminalen. For å gjenta en spesifikt oppført kommando, må du merke hendelses-ID-en og spotte følgende kommando, som vist på skjermbildet. Ikke bruk mellomrom når du skriver kommandoen.

!17

bruker hendelses-ID for å utføre en tidligere kommando

I mitt tilfelle ønsket jeg å se Linux / etc / host-filen og ble bedt om å få et autentiseringspassord. Så snart legitimasjonen min ble godkjent, utførte kommandoen seg selv.

utført kommando på historikkfilen

Det er også et tilfelle der du vil gjenta forrige kommando du utførte. Å oppnå dette målet er like enkelt som å skrive to utropstegn på terminalen din. Ikke bruk mellomrom.

!!

kjører forrige kommando på nytt

kjørt historikkommandoen på nytt

Som du ser, tok kommandoen oss tilbake til Linux / etc / host-filen jeg tidligere hadde åpnet. Det tok dobbelt utropskommandoen å gjenbruke den forrige kommandoen min, som ble utført av seg selv. Kanskje du kanskje har vært vant til tastaturet opp piltasten, som krevde at du utførte to handlinger, bla opp en gang og deretter trykke på enter-knappen. Den dobbelte utropskommandoen ser imidlertid raskere og profesjonellere ut, da du bare trenger å utføre en enkelt handling.

Siden kommandoen jeg brukte krever Sudo-privilegier, kan jeg foran mine doble utropstegn med en Sudo-kommando for å gi det samme forventede resultatet.

sudo !!

håndtere Sudo historie kommando

Et enkelt utropsnummer kombinert med en hendelses-ID vil utføre den viste kommandoen knyttet til den ID-en. Et dobbelt utropstegn får deg til å utføre den sist brukte kommandoen med muligheten til å prefiksere kommandoen med Sudo hvis det krever at en sudoer-bruker utfører.

Det kan også være lurt å ta din nerdiness til neste nivå og vil ha en måte å gjenta din 3 pård eller 6th forrige kommando. I dette tilfellet må du legge merke til hendelses-ID-en som er tilknyttet kommandoen. Deretter vil du kombinere begivenhets-IDen med en bindestrek og et enkelt utropstegn som følger.

!-21

utføre en hvilken som helst tidligere kommando i historikkfilen

På slutten ønsket jeg å spørre om min 21St forrige kommando, og det viste seg å være en ping-forespørsel om min lokale IP-adresse. Å bruke denne kommandosekvensen er nyttig når du vil motkontrollere en tidligere utført kommando og avgjøre om parametrene du brukte for å utføre den fremdeles er gyldige eller ikke partisk.

Command Strings

La oss si at du utførte en kommando på terminalen din, men du har ikke husket kommandoen fullstendig. Du er imidlertid sikker på effektiviteten av kommandoen og hvordan den hjalp deg. Å vite en del av strengen som utgjør denne kommandoen er veldig nyttig. I mitt tilfelle er jeg veldig sikker på at jeg en gang kjører en kommando for å oppdatere systemet. La oss si at jeg ennå ikke vil huske denne systemoppdateringskommandoen, men jeg vet at en del av kommandoen inneholder strengen 'apt' som den første ordlyden til kommandoen. For å bruke denne kommandoen igjen, vil jeg skrive inn følgende kommando på terminalen min. Men siden de fleste systemoppdateringskommandoer krevde en sudoer-brukeres autorisasjon, vil jeg foran kommandostrengen jeg vil bruke sammen med Sudo.

sudo !apt

historie kommando med strenger

Som du ser, oppdaterte jeg Linux-systemet mitt fra kommandolinjen uten å bruke den fullstendige kommandoen 'sudo apt update'. Dette hacket fra kommandoveiledningen for Linux historie er nyttig når du arbeider med lengre kommandoer som kan være kjedelige å skrive eller føre til en nagende skrivefeil. Du kan redigere en fil hvis relative bane gir en lang kommando eller bare kopiere filer. Uansett trenger du en stressfri tilnærming til å resirkulere dine repeterende kommandoer.

Siden vi berørte sudoerbrukernes autorisasjonsaspekt, kan vi ende opp med å treffe en vegg hvis vi ikke er forsiktige. De fleste kommandoer fra sudoer-privilegerte brukere vil kreve at prefikset Sudo skal utføres. Derfor skriver du en strengkommando som '!sudo 'for kommandoene som begynner med Sudo er kanskje ikke nok, da det kan føre til utførelse av en uønsket kommandosekvens. Imidlertid kan vi tilby et sikkerhetsnett gjennom bruk av parameteren: p, som er en utskriftsmodifikator. Derfor bør kombinere strengkommandoen vår med den gi utganger som følgende.

!sudo: s

historikkommando med utskriftsmodifikatoren

Kommandoen skrev ut de tilgjengelige Sudo-kommandoene jeg nettopp brukte. For å gjenbruke denne kommandoen vil jeg bruke tastaturets opppiltast og trykke enter for å utføre den. Hvis listen viste mer enn én Sudo-kommando, vil jeg fortsatt bruke pil opp-tasten til å navigere til den spesifikke Sudo-kommandoen som jeg ønsket å gjenbruke.

Dette er ikke alle alternativene vi har for å håndtere strenger. Det er også et tilfelle der du bare vet om en bestemt streng definert i kommandoen du vil bruke. Det er et tilfelle der du ikke er sikker på de første strengene som definerer kommandoen du tidligere brukte. Her vil du bruke både utropstegnet og spørsmålstegnet for å finne kommandoen din.

!?ping

utføre en bestemt kommando fra historikkfilen gjennom strenger

Jeg brukte '!?ping 'kommandosekvens, som umiddelbart utførte min forrige ping-forespørsel. Du kan bruke denne sekvensen til å utføre tidligere kommandoer på terminalen din som er unike for andre.

Interaktivt søk

La oss anta at du har flere tidligere kommandoer du utførte, og at de har lignende eller samsvarende strengsekvenser. Ut av alle disse matchende signalene, vil du kanskje bare utføre en bestemt kommandosekvens i den folden. Et interaktivt søk lar deg komme til denne kommandoen du vil utføre. For å starte det interaktive søket, kombiner tastene Ctrl + r. Din Linux-terminalskjerm skal se ut som den nedenfor.

historie kommando og interaktivt søk

Bare skriv inn søkeordet for kommandoen du trenger å utføre. I mitt tilfelle skrev jeg 'apt', og som du ser, dukket det opp mellom apostrofen og backtick. Du kan skrive inn som flere strenghenvisninger om den spurte kommandoen, og det interaktive søket vil kontinuerlig oppdatere de relaterte resultatene. Ved å trykke på enter utføres umiddelbart den funnet kommandoen.

sudo apt oppdatering

ved hjelp av interaktivt søk

Videre vil du kanskje redigere den funnet kommandoen før du utfører den. For å gjøre det, bruk venstre og høyre tastaturpil. Den funnet kommandoen vil nå vises på terminalen, hvor du kan gjøre de nødvendige endringene.

sudo apt oppdatering && cd FOSSLinux

redigere et interaktivt søk

Slette historikkommandoer

Så langt kan du nå hente, spørre, oppdatere og utføre kommandoer fra historikkfilen. Du kan imidlertid lete etter en måte å tømme historielisten for noen eller hele kommandoen. Kanskje du er den typen brukere som ikke vil at noen skal spore hvordan de brukte Linux-systemet sitt. Parameteren -d hjelper deg med å kvitte deg med noen uønskede kommandoer i historikkfilen. I mitt tilfelle inneholder historikkfilen min en feilstavet kommando med et hendelses-ID-nummer 44.

finne historikkommando for å slette

For å bli kvitt denne feilstavede kommandoen, vil jeg gjøre følgende på terminalen min.

historie -d 44

bruker hendelses-ID for å slette historikkommandoen

Å kjøre kommandoen 'historie' igjen viser at den feilstavede kommandoen ble slettet.

bekrefter sletting av historikkommandoen

Slettingsalternativet gjelder ikke bare for en enkelt kommando, da det også dekker en rekke kommandoer. Tenk for eksempel på følgende kommando.

historie -d 10 20

Denne kommandoen vil slette historikkfiloppføringene fra hendelses-ID 10 til hendelses-ID 20. En annen historiekommando å vurdere er følgende.

historie -d -6

Denne kommandoen vil kvitte seg med de siste seks kommandoene du skrev inn på terminalen som er lagret i historikkfilen.

Hvis du vil fjerne alt fra historikkfillisten, kan du spotte følgende kommando.

historie -c

tøm alle historikkommandoer

Konklusjon

Du har nå all nødvendig informasjon for å avgjøre om terminalhistorikken din skal eller ikke skal gjenta seg. For avanserte brukere er det tilfeller der du kan kjøre en app gjennom terminalen og kanskje bli bedt om å legge igjen et spor av sensitiv informasjon. Historikkfilen lagrer også slike sensitive data. Derfor er det god praksis å alltid tømme historikkfilen din før du avslutter kommandolinjen, spesielt i tilfeller som fører til lagring av sensitive data. Historikkommandoen gir deg makten til å gjenoppleve de gode tidene på terminalen og også fikse tidligere kommandolinjefeil.

Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...
Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...