Lär dig Linux

Historik kommando i Linux med exempel

Historik kommando i Linux med exempel

Historik-kommandot i Linux är inget komplext jargong. Det är precis vad du tycker det är, och det finns ingen dold mening bakom det. På samma sätt som du tittar på din webbläsarhistorik efter en lång dag på internet är hur du uppfattar historik-kommandot. Det handlar om att spåra dina tidigare rörelser och åtgärder, men i det här fallet är det på en Linux-terminal eller kommandorad.

Därför kan vi bekvämt definiera kommandot historik under Linux-domänen som ett sätt att förhandsgranska tidigare utförda kommandon. I det här fallet kan vi se terminalen som en webbläsare där du utför olika kommandon på en kontinuerlig tidsram. Dessa utförda kommandon tolkas individuellt som händelser. Varje händelse tilldelas sedan ett händelsenummer. Därför har vi kommandon med id: er som händelsnummer som lagras i en historikfil efter terminalutförande.

Händelse-ID: s betydelse är uppenbar när du senare kan behöva komma ihåg ett specifikt kommando du utförde. Du kanske också vill ändra ett tidigare utfört kommando. Därför kan vi avsluta historik kommandos inledande förståelse för att visa alla tidigare utförda kommandon eller bara ett specifikt kommando på terminalen. Vi bör inte heller glömma det lönsamma alternativet att ändra det listade kommandot.

Låt historien upprepa sig

Vi kan börja denna historiska artikel på ett roligt sätt och genom att citera George Santayana. Denna berömda individ förknippar oförmågan att komma ihåg det förflutna med förbannelsen att upprepa det. Men när vi går in i Linux-universum kvalificerar detta citat bara som en myt. Det beror på att Linux-filosofin realistiskt är motsatsen till det uttalade George Santayanas citat. När du är på Linux-terminalen, om du inte kommer ihåg en tidigare åtgärd, behöver du inte oroa dig för det eftersom oddsen är emot att det någonsin kommer att rivas ut.

Om du naturligtvis inte blir en befälhavare för kommandot Linux-historia, kan du tidsresa till det förflutna och korrigera dina tidigare terminalsynder om det är din önskan. Användningen av kommandot Linux-historik är inte på något sätt en koppling till latskap. Det sparar tid genom effektivitet. När du går vidare till att bemästra Linux-operativsystemet kommer du att arbeta med längre och komplicerade kommandon. Även om du jämför din IQ med Albert Einstein kommer du inte ha tid att komma ihåg alla kommandon du kör och snart börja göra fruktansvärda fel. Att arbeta på Linux-terminalen utsätter en individ för två typer av fel:

Du kan tänka på historikommandot som ninjakrigaren som utrotar dessa två typer av fel för att öka din produktivitet. Ett tankesätt innan vi börjar guiden, det finns mer i Linux-historikommandot än att bara använda tangentbordets uppåtpiltangent. Vår strategi gör att du ser mer professionell ut.

Ange Linux-kommandot för historik

Att initiera historik-kommandot är lika enkelt som att skriva ordhistoriken på din Linux-terminal. Så skjut upp din terminal och skicka denna enkla stavningsquiz.

historia

historikommandot

Om du trycker på enter kommer du att få en lista över alla kommandon du utförde på terminalen med deras tilldelade id eller händelsnummer. Numreringssystemet som Linux-terminalgränssnittet använder visar det äldsta kommandot längst upp i listan och det nyligen skrivna kommandot längst ner i listan. Som du ser tilldelades historik-kommandot som jag just skrev ID-numret 24.

historik kommandolista

Tänk på scenariot för en mycket aktiv Linux-terminal. Om vi ​​skulle skriva historik-kommandot på den här terminalen skulle utgången vara, låt oss säga, en lista med 500 kommandon som sparats i historikfilen. Så kommandot historik är användbart för att filtrera ett specifikt grupperat kommandosegment. Låt oss säga att vi vill se de senaste 10 kommandona som körs på terminalen. Vi filtrerar oss genom terminalen genom att skriva följande.

historia 10

de sista tio kommandona i historikfilen

Som du kan se, kommandot 'historia 10' filtrerade de senaste tio kommandona som användes på denna terminal och listade dem på vår terminal med inkludering i kommandot 'historia 10'.

Det är ett sätt att uppnå detta mål. Ett annat nördigt sätt att göra det är att pipa ut historikommandot med ett annat kommando som kallas svanskommando. Skriv följande kommando, som vidarebefordras i skärmdumpen nedan.

historia | svans -n 10

med hjälp av svanskommandot för att visa de sista tio kommandona i historikfilen

Kommandot listar också de senaste 10 körda kommandona på Linux-terminalen, inklusive den som vi just körde.

Egentligen upprepande historia

Det är dags för den roliga delen av att använda kommandot historia. Vad sägs om att vi börjar med att faktiskt låta historien upprepa sig. Eftersom du är bekant med kommandona för historik och deras tillhörande händelse-id, låt oss återvända till terminalen. För att upprepa ett specifikt listat kommando, notera dess händelse-id och håna följande kommando, som visas på skärmdumpen. Använd inte mellanslag när du skriver kommandot.

!17

använder händelse-id för att utföra ett tidigare kommando

I mitt fall ville jag se Linux / etc / host-filen och blev ombedd att ange ett autentiseringslösenord. Så snart mina uppgifter godkändes, körde kommandot sig själv.

kört kommando på historikfilen

Det finns också ett fall där du vill upprepa det tidigare kommandot du utförde. Att nå detta mål är lika enkelt som att skriva två utropstecken på din terminal. Använd inte utrymmen.

!!

återköra föregående kommando

återkört historik kommando

Som du kan se tog kommandot oss tillbaka till Linux / etc / host-filen som jag tidigare hade öppnat. Det tog det dubbla utropskommandot för att återanvända mitt tidigare kommando, som kördes av sig själv. Du kanske har varit van vid piltangenten uppåt, vilket krävde att du utför två åtgärder, bläddrar uppåt en gång och trycker sedan på Enter-knappen. Det dubbla utropskommandot ser dock snabbare och professionellare ut eftersom du bara behöver utföra en enda åtgärd.

Eftersom kommandot jag använde kräver Sudo-privilegier kan jag prefixa mina dubbla utropstecken med ett Sudo-kommando för att ge samma förväntade resultat.

sudo !!

hantera Sudo-kommandot

Ett enda utropsnummer kombinerat med ett händelse-id kör det visade kommandot knutet till det id. Ett dubbelt utropstecken får dig att utföra ditt senast använda kommando med möjlighet att prefixa kommandot med Sudo om det kräver att en sudoer-användare kör.

Du kanske också vill ta din nördighet till nästa nivå och vill ha ett sätt att upprepa din 3rd eller 6th föregående kommando. I det här fallet måste du notera händelse-id som är associerat med kommandot. Du kombinerar sedan händelse-id med bindestreck och ett enda utropstecken enligt följande.

!-21

kör något tidigare kommando i historikfilen

Till slut ville jag fråga om min 21st föregående kommando, och det visade sig vara en ping-begäran för min lokala värd IP-adress. Att använda den här kommandosekvensen är användbar när du vill motkontrollera ett tidigare utfört kommando och avgöra om parametrarna du använde för att köra det fortfarande är giltiga eller inte partiska.

Command Strings

Låt oss säga att du körde något kommando på din terminal, men att du inte har lagrat kommandot helt. Du är dock säker på hur effektivt kommandot är och hur det hjälpte dig. Att veta en del av strängen som utgör detta kommando är mycket användbart. I mitt fall är jag väldigt säker på att jag en gång kör ett kommando för att uppdatera mitt system. Låt oss säga att jag ännu inte kommer ihåg detta systemuppdateringskommando, men jag vet att en del av kommandot innehåller strängen "apt" som den ursprungliga formuleringen till kommandot. För att använda detta kommando igen skriver jag in följande kommando på min terminal. Eftersom de flesta systemuppdateringskommandon kräver en sudoer-användares auktorisering, kommer jag att prefixa kommandosträngen som jag vill använda med Sudo.

sudo !benägen

historikommando med strängar

Som du kan se uppdaterade jag framgångsrikt mitt Linux-system från kommandoraden utan att använda hela kommandot 'sudo apt update'. Detta hack från kommandoboken för Linux-historik är användbart när du hanterar längre kommandon som kan vara tråkiga att skriva eller kan leda till en gnagande typsnitt. Du kanske redigerar en fil vars relativa sökväg ger ett långt kommando eller bara kopierar filer. Hur som helst behöver du en stressfri metod för att återvinna dina repetitiva kommandon.

Eftersom vi berörde sudoeranvändarnas auktoriseringsaspekt kan vi hamna på en vägg om vi inte är försiktiga. De flesta kommandon från sudoer-privilegierade användare kräver att prefixet Sudo körs. Skriv därför ett strängkommando som '!sudo 'för kommandon som börjar med Sudo kanske inte räcker eftersom det kan leda till körning av en oönskad kommandosekvens. Vi kan dock tillhandahålla ett skyddsnät genom att använda parametern: p som är en utskriftsmodifierare. Därför bör kombinera vårt strängkommando med det ge utdata som följande.

!sudo: s

historik kommando med utskriftsmodifieraren

Kommandot skrev ut tillgängliga Sudo-kommandon som jag just använde. För att återanvända det här kommandot använder jag tangentbordets uppåtpiltangent och trycker på enter för att utföra det. Om listan visade mer än ett Sudo-kommando skulle jag fortfarande använda uppåtpilen för att navigera till det specifika Sudo-kommandot som jag ville återanvända.

Det här är inte alla alternativ vi har för att hantera strängar. Det finns också ett fall där du bara känner till en viss sträng definierad i kommandot du vill använda. Det är ett fall där du inte är säker på de första strängarna som definierar kommandot du tidigare använde. Här använder du både utropstecknet och frågetecknet för att hitta ditt kommando.

!?ping

kör ett specifikt kommando från historikfilen genom strängar

Jag använde!?ping 'kommandosekvens, som omedelbart körde min tidigare pingförfrågan. Du kan använda denna sekvens för att utföra tidigare kommandon på din terminal som är unika för andra.

Interaktiv sökning

Låt oss anta att du har flera tidigare kommandon som du körde, och att de har liknande eller matchande strängsekvenser. Av alla dessa matchande signaler kanske du bara vill utföra en specifik kommandosekvens i den vikningen. En interaktiv sökning låter dig komma till det här kommandot som du vill utföra. Starta den interaktiva sökningen genom att kombinera tangenterna Ctrl + r. Din Linux-terminalskärm ska se ut som den nedan.

historik kommando och interaktiv sökning

Skriv bara sökledningen för det kommando du behöver utföra. I mitt fall skrev jag "apt", och som ni ser såg det ut mellan apostrof och backtick. Du kan skriva in som fler ledtrådar om det ifrågasatta kommandot, och den interaktiva sökningen uppdaterar kontinuerligt de relaterade resultaten. Att trycka på enter kommer omedelbart att utföra det hittade kommandot.

sudo apt uppdatering

med hjälp av interaktiv sökning

Dessutom kanske du vill redigera det hittade kommandot innan du kör det. För att göra det, använd vänster och höger tangentbordspilar. Det hittade kommandot kommer nu att visas på terminalen, där du kan göra nödvändiga ändringar.

sudo apt uppdatering && cd FOSSLinux

redigera en interaktiv sökning

Ta bort historikommandon

Hittills kan du nu hämta, fråga, uppdatera och köra kommandon från historikfilen. Du kanske dock letar efter ett sätt att tömma historiklistan för en del eller hela kommandot. Du kanske är den typen av användare som inte vill att någon ska spåra hur de använde sitt Linux-system. Parametern -d hjälper dig att bli av med några oönskade kommandon i historikfilen. I mitt fall innehåller min historikfil ett felstavat kommando med ett händelse-ID 44.

hitta historikommandot för att radera

För att bli av med detta felstavade kommando kommer jag att göra följande på min terminal.

historia -d 44

använder händelse-id för att radera kommandot historik

Att köra kommandot 'historik' igen visar att det felstavade kommandot raderades.

bekräftar radering av kommandot historik

Raderingsalternativet gäller inte bara ett enda kommando, det täcker också ett antal kommandon. Tänk till exempel på följande kommando.

historia -d 10 20

Detta kommando tar bort historikfilposterna från händelse-id 10 till händelse-id 20. Ett annat historik-kommando att överväga är följande.

historia -d -6

Detta kommando kommer att bli av med de senaste sex kommandona du skrev på terminalen som är lagrad i historikfilen.

Om du vill rensa allt från historikfillistan kan du håna följande kommando.

historia -c

rensa alla historikommandon

Slutsats

Nu har du all nödvändig information för att avgöra om din terminalhistorik ska eller inte ska upprepa sig. För avancerade användare finns det tillfällen där du kan köra en app genom terminalen och kanske uppmanas att lämna ett spår av känslig information bakom. Historikfilen lagrar också sådana känsliga data. Därför är det bra att alltid rensa din historikfil innan du avslutar kommandoraden, särskilt i fall som leder till lagring av känslig data. Historik-kommandot ger dig makten att återuppleva de goda tiderna på terminalen och även fixa dina tidigare kommandoradsfel.

Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...
Bästa spelkonsolemulatorer för Linux
Den här artikeln listar populära spelkonsolemuleringsprogram som finns tillgängliga för Linux. Emulation är ett mjukvarukompatibilitetsskikt som emule...