Commando Geschiedenis Linux Voorbeelden terminal

Een van de meest ideale manieren om het werk op Linux-machines te vereenvoudigen, is door de mogelijkheid te hebben om opdrachten op een bijna autonome manier uit te voeren. Dit is mogelijk met een speciaal commando van Linux-distributies genaamd "Geschiedenis" of geschiedenis, dat, zoals we al kunnen vermoeden, verantwoordelijk is voor het opslaan van commando's in een Linux-bestand dat we in de terminalsessie hebben uitgevoerd. Dit geeft ons de mogelijkheid om deze commando's opnieuw te gebruiken zonder ze handmatig in te voeren.

Het is een zeer nuttig commando dat we kunnen combineren met bepaalde parameters om bepaalde commando's opnieuw uit te voeren of om een ​​gedetailleerd register van Linux-commando's bij te houden voor elk commando dat in Linux wordt uitgevoerd en Solvetic zal uitleggen hoe het effectief te gebruiken.

Vervolgens gaan we een compilatie zien van verschillende hulpprogramma's die we kunnen uitvoeren met de opdracht Geschiedenis in Linux.

1. Bekijk of vermeld de opdrachtgeschiedenis in Linux

Stap 1
Het is de basismanier om deze opdracht te gebruiken, omdat je alle opdrachten in de sessie kunt zien door het volgende in de terminal uit te voeren. We kunnen zien dat elke opdracht die is uitgevoerd, wordt weergegeven met een identifier.

 Geschiedenis

VERGROTEN

Stap 2
Om een ​​van deze commando's uit te voeren, gebruiken we het teken! gevolgd door het juiste nummer, bijvoorbeeld:

 !1

VERGROTEN

2. Vind opdrachten in Linux met Geschiedenis


Het History-commando is veelzijdig, het stelt ons in staat om het laatste commando uit te voeren door de tekens !! in te voeren, dit kan op zijn beurt worden gecombineerd met het grep-commando om te zoeken naar commando's die overeenkomen met een tekstpatroon.

Stap 1
We zullen bijvoorbeeld zoeken naar alle opdrachten die de term "update" hebben gebruikt. Zoals we kunnen zien, komt elk met zijn respectieve identifier.

 Geschiedenis | grep-update 

VERGROTEN

Stap 2
Een alternatief is om de toetsencombinatie Ctrl-R te gebruiken om toegang te krijgen tot een recursieve zoekopdracht in de opdrachtgeschiedenis, bij gebruik hiervan zal de terminal de volgende tekst hebben. Vervolgens kunnen we de gewenste zoekcriteria invoeren.

 (omgekeerd-i-zoeken) '' ': 

VERGROTEN

3. Een opdracht wijzigen die op Linux wordt uitgevoerd


Met de opdracht Geschiedenis kunnen we een opdracht uitvoeren met een andere syntaxis, we kunnen bijvoorbeeld het volgende doen. Dit verandert de zoekopdracht van update naar SSH.
 bijwerken ssh 

4. Geschiedenis van Linux-opdrachten wissen


Wanneer we honderden commando's gebruiken, zal de geschiedenis ongetwijfeld een aanzienlijk aantal regels weergeven en veel van deze commando's zullen niet langer nodig zijn. Een goed advies van Solvetic is om de geschiedenis van een bepaalde regel of in zijn geheel op te schonen, de opties hiervoor zijn als volgt:
  • Een specifieke regel verwijderen: Geschiedenis -d
  • Wis alle geschiedenis: Geschiedenis -c

VERGROTEN

5. Bekijk een opgegeven aantal Linux-opdrachtgeschiedenisregels


We willen misschien maar een bepaald aantal uitgevoerde commando's zien, bijvoorbeeld de laatste 6, hiervoor zullen we het volgende invoeren:
 Geschiedenis 6 

VERGROTEN

6. Herhaal een commando dat begint met een string op Linux


We zien dat om het laatste commando met Geschiedenis uit te voeren dat we invoeren !! Terwijl we een specifiek commando herhalen, voeren we # van regel in, dit is handig, maar we kunnen ook commando's uitvoeren die beginnen met een string, dit wordt bereikt met de syntaxis! string:
 ik sudo 

VERGROTEN

7. Geschiedenisbestand bewerken op Linux


Standaard wordt het History-opdrachtbestand geschreven op het moment dat de sessie wordt afgesloten, dit is natuurlijk erger als we SSH-sessies afhandelen waarbij de time-out wordt overschreden, de geschiedenis van die sessie zal gewoon verdwijnen, dit kan worden voorkomen door rechtstreeks te schrijven naar het bash_History-bestand met de parameter -w:
 Geschiedenis -w 

VERGROTEN

8. Voer een enkele opdracht uit zonder in te loggen


Dit is een optie die ons de mogelijkheid geeft om een ​​commando uit te voeren zonder dat het wordt opgeslagen in de bash-geschiedenis, bijvoorbeeld:
 echo "Oplossend"; Geschiedenis -d $ (Geschiedenis 1) 

VERGROTEN

9. Voer alle opdrachten uit zonder in te loggen op Linux


Het is mogelijk dat we de variabele van het History-commando uitschakelen waarmee het register van de uitgevoerde commando's wordt opgeslagen, hierdoor wordt alles wat we doen niet vastgelegd, hiervoor voeren we het volgende uit:
 echo $ HISTFILE uitgeschakeld HISTFILE 

VERGROTEN

10. Negeer specifieke opdrachten op Linux met geschiedenis


Het is mogelijk om een ​​lijst met opdrachten aan te geven die niet in het geschiedenisbestand worden opgenomen, hiervoor gebruiken we de variabele $ HISTIGNORE, deze variabele is niet standaard geconfigureerd, daar voeren we eenvoudig het volgende in:
 echo 'export HISTIGNORE = "ls: cd"' >> ~ / .bashrc 

11. Vergroot de grootte van het logbestand op Linux

Stap 1
Het History-commando maakt gebruik van de $ HISTSIZE- en $ HISTFILESIZE-variabelen om de commando's vast te leggen met een standaardcapaciteit van respectievelijk 1000 en 2000 commando's:

VERGROTEN

Stap 2
Deze waarden worden opgeslagen in de / etc / profieldirectory en hun waarde kan worden bewerkt met de nieuwe gegevens aan het einde van de ~ / .bashrc-regel. Deze wijzigingen worden van kracht bij de volgende login.

VERGROTEN

12. Tijdstempels toevoegen aan de opdracht Geschiedenis onder Linux

Stap 1
Wanneer we het History-commando gebruiken, zien we alleen het uitgevoerde commando, maar geen details van datum en tijd, met de $ HISTTIMEFORMA-variabele kunnen we deze waarden toevoegen:

 echo 'export HISTTIMEFORMAT = "% c"' >> ~ / .bashrc 
Stap 2
Hierna sluiten we de sessie en bij het gebruik van Geschiedenis zien we het volgende:

13. Bewerk de locatie van het logbestand in Linux


Voor administratieve problemen willen we misschien het standaardpad van het geschiedenisbestand wijzigen, dat is ~ / .bash_History, hiervoor gebruiken we de $ HISTFILE-variabele als volgt:
 echo $ HISTFILE su - gebruiker
Met het gebruik van Geschiedenis hebben we totale controle over elk van de commando's die we in Linux uitvoeren.

wave wave wave wave wave