Geschiedenis: het gebruik van de console verbeteren

terminal

Hierin mijn eerste artikel voor DesdeLinux, wil ik een korte verwijzing maken naar een niet erg bekende, maar zeer praktische console- of shell-opdracht van welke Linux dan ook. ik bedoel geschiedenis.

Bijna iedereen die Linux gebruikt, weet dat als we op de pijl-omhoog in een terminal drukken, het ons de eerder gebruikte opdracht zal laten zien en dat als we blijven drukken, we teruggaan naar die lijst met opdrachten. keer je !! zal het laatst gebruikte commando uitvoeren. Nou, dit is te danken aan geschiedenis, maar het potentieel houdt daar niet op, want als we het rechtstreeks uitvoeren, krijgen we een lijst met de laatste duizend commando's:

sebastian:~$ history
1543 ping -c 2 desdelinux.net
1544 clear
1545 sudo apt-get update
1546 uname
1547 history

De lijst zelf zal langer zijn, maar met een paar voorbeelden is het genoeg. Sinds nu we kunnen de hele geschiedenis van de gebruikte commando's zien naast een nummer waarmee we degene die we willen in die lijst kunnen vinden. Als je wilt kan dat ook geschiedenis toon de uitvoeringsdatum ervan.

Dus schrijven ! plus het regelnummer, zal de shell het commando uitvoeren dat overeenkomt met die regel:

sebastian:~$ !1543
ping -c 2 desdelinux.net
PING desdelinux.net (192.31.186.28) 56(84) bytes of data.

Maar we kunnen ook per brief uitvoeren, want als we zetten !+un zal de regel "1546" uitvoeren, omdat voer de laatste opdracht uit die met die letters begint.

sebastian@soporte-mesi01:~$ !un
uname
Linux

Maar wees voorzichtig, want dit kan riskant zijn, aangezien we niet weten welk commando het laatste is dat met die letters begint en dus is de beste manier om een ​​eerder gebruikt commando te herstellen met de toetscombinatie CTRL+r, waar het ons een zoekmachine zal aanbieden en terwijl we schrijven, zal het ons de laatste volledige opdracht laten zien die overeenkomt. Dus met knijpen invoeren zal het uitvoeren.

Als we daarentegen alle keren willen opsommen dat we een commando gebruiken, moeten we grep gebruiken:
sebastian:~$ history | grep uname
1499 uname -r
1500 uname -a
1546 uname
1549 uname
1550 history | grep uname

Waarmee alleen de regels worden weergegeven waar het gezochte woord staat, in dit geval "uname".


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   levendig zei

    Briljant! bedankt voor de tips

  2.   statisch zei

    Gefeliciteerd, uitstekende tip.

  3.   kuk zei

    Dit is wat ik zocht, bedankt!

  4.   Victor zei

    Ik kende Ctrl+r niet, ik ga het oefenen zodat het in de hersendatabase blijft.
    Je zou ook het commando ¨ $ history -c ¨ aan het bericht kunnen toevoegen dat, zoals je weet, wordt gebruikt om de geschiedenis te verwijderen, vaak handig als we geen aanwijzingen willen achterlaten of als we het te veel vervuilen door een commando verkeerd te typen.
    Groeten en bedankt voor de post !!

    1.    thalskart zei

      Ik wist van het gebruik van de parameter -c, maar de waarheid is dat ik het nog nooit heb gebruikt

  5.   Alberto zei

    Zeer interessante sneltoets 'Ctrl + r'. Voeg toe dat als we meerdere terminals open hebben, het 'history'-commando alleen die van die terminal laat zien totdat een andere nieuwe terminal wordt geopend.
    Het kan ook gebruikt worden met het 'tail' commando (om de laatste commando's te zien) of met 'less' om ze per pagina te zien.

    Groeten!

  6.   Gabriel zei

    Het zijn van die kleine tips die je af en toe vergeet, maar ze zijn erg handig, bedankt 😉

  7.   Vito zei

    Geweldig.
    Hierdoor hoeft u in plaats van rsync -avl -stats -progress /media/data/WEBS/ /media/WD/WEBS te typen
    Ik hoefde maar !496 te schrijven, en vanaf nu zal het zo zijn!!
    Ik heb er altijd spijt van dat ik laat ben begonnen met Linux, en ik heb altijd het geluk dat ik met Linux ben begonnen.
    Bedankt voor deze commando's. Ze staan ​​zeker in de handleiding, maar ik kijk er nooit in, net als wanneer ik een gadget koop, het laatste waar ik naar kijk is de handleiding.
    Dank u.
    Ontvang een hartelijke groet.

    1.    Daniël Rojas zei

      Vito, houd er rekening mee dat het nummer van de regel in de geschiedenis zal veranderen, aangezien er meer regels aan worden toegevoegd. Wat ik je aanraad om te voorkomen dat je de hele regel hoeft te typen, is door deze als een alias toe te voegen aan je .bashrc, op die manier zou het typen van de naam van de alias die je hebt toegewezen, de hele regel uitvoeren die je eraan hebt toegewezen.

      Groeten!

      1.    Vito zei

        Dank u.
        Het nummer was het voorbeeld van mijn zaak. Ik had dat nummer in mijn geschiedenis en daarmee probeerde ik de tip. Ik weet dat het verandert, en elke keer dat ik het uitvoer, verschijnt dezelfde opdracht met een nieuw nummer.

        Over de aliassen in .bashrc, ik weet het en ik gebruik het alleen om de monitoren uit te schakelen met "pan" in plaats van het juiste commando (sleep 1 && xset dpms force off), maar ik gebruik aliassen niet veel, want aangezien er veel commando's zijn die ik gebruik, heb ik het probleem dat ik de aliassen moet onthouden; En uiteindelijk heb ik twee keer zoveel problemen. Onthoud opdracht of onthoud opdrachtalias.

        Op deze manier is het voor mij economisch om "geschiedenis" of nog gemakkelijker "geschiedenis | grep rsync" voor als ik een back-up van mijn werk moet maken. Dit laatste is een voorbeeld van een van de hulpprogramma's die ik zie.

        Ik vind het beslist super handig, althans in mijn geval, om mijn cerebrale RAM te behouden, die erg laag is. Ik hoef dus geen tientallen commando's te onthouden.

        Bedankt voor uw antwoord.

        Met vriendelijke groet.

  8.   Diego zei

    Het is ook erg handig om (zonder aanhalingstekens) "history > history.txt" uit te voeren en zo de commando's die we hebben uitgevoerd op te slaan in een tekstbestand.

    1.    thalskart zei

      Ja, je kunt zelfs altijd filteren met grep in het midden, bijvoorbeeld met iets als
      history | grep uname >pru.txt
      En dan zou de txt de resultaten alleen opslaan met de opdracht "uname" 😉

  9.   Joaquin zei

    De beste: Ctrl + r

  10.   Joseda zei

    Goed artikel en erg handig. Bedankt voor de info 🙂