Comanda history în Linux (Istoria Bash) ⋆ ALexHost SRL

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
10.12.2024
No categories

Comanda history în Linux (Istoria Bash)

Comanda history în Linux este un instrument puternic pentru utilizatorii care lucrează cu shell-ul Bash. Aceasta ține evidența comenzilor executate anterior, permițând utilizatorilor să vizualizeze, să reamintească și chiar să reexecute comenzile fără a le mai tasta din nou. Acest lucru poate crește semnificativ productivitatea prin economisirea de timp și reducerea șanselor de a face greșeli la rescrierea comenzilor lungi.

Ce este Bash History?

Bash, la fel ca multe alte shell-uri, păstrează o înregistrare a comenzilor pe care le introduceți într-un fișier istoric. În majoritatea distribuțiilor Linux, acest istoric este stocat într-un fișier numit .bash_history în directorul home al fiecărui utilizator (~/.bash_history). În mod implicit, fiecare comandă introdusă în shell este anexată la acest fișier atunci când sesiunea se încheie, permițând utilizatorilor să revadă comenzile din sesiunile anterioare.

Utilizarea de bază a comenzii history

Comanda history este simplu de utilizat și oferă diverse modalități de vizualizare și interacțiune cu istoricul comenzilor. Iată câteva dintre cele mai comune utilizări:

  • Afișarea istoricului comenzilor:
    Executarea comenzii history fără niciun argument va afișa o listă a celor mai recente comenzi pe care le-ați introdus, împreună cu un număr lângă fiecare comandă.

    history

    Aceasta afișează ultimele n comenzi, unde n este de obicei în jur de 500 sau 1000, în funcție de configurația sistemului dumneavoastră.

  • Specificarea numărului de comenzi:
    Puteți limita numărul de comenzi afișate prin specificarea unui număr. De exemplu, pentru a vedea ultimele 10 comenzi:

    history 10

Rechemarea comenzilor din istoric

Comanda History vă permite, de asemenea, să rechemați și să reutilizați cu ușurință comenzile executate anterior:

  • Utilizarea notației ! (Semnul exclamării):
    Aceasta vă permite să re-executați comenzile direct din istoric:

    • !! – Rulează din nou ultima comandă executată.
      !!
    • !n – Rulează comanda de la poziția n din lista istorică.
      !42

      Aceasta va re-executa comanda listată la numărul 42 în istoric.

    • !string – Găsește cea mai recentă comandă care începe cu string și o execută.
      !git

      Aceasta va executa cea mai recentă comandă care începe cu git.

  • Utilizarea tastelor săgeată:
    Puteți utiliza tastele săgeată sus și jos pentru a parcurge comenzile anterioare direct în terminal. Acest lucru este util în special pentru găsirea rapidă a comenzilor recente.

Editarea și modificarea istoricului

  • Eliminarea unor intrări specifice:
    Puteți șterge o anumită comandă din istoric utilizând history -d urmat de numărul liniei:

    history -d 42

    Aceasta va șterge comanda de la linia 42 din lista istoricului.

  • Ștergerea întregului istoric:
    Pentru a șterge toate comenzile din fișierul istoric, utilizați:

    history -c

    Acest lucru șterge istoricul pentru sesiunea curentă. Pentru a șterge și istoricul salvat în ~/.bash_history, suprascrieți fișierul:

    history -c && > ~/.bash_history

Configurarea istoricului Bash

Comportamentul istoricului poate fi personalizat prin variabile de mediu și setări de configurare în fișierele ~/.bashrc sau ~/.bash_profile:

  • HISTSIZE:
    Această variabilă controlează câte comenzi sunt păstrate în memorie în timpul unei sesiuni. De exemplu, pentru a păstra 1000 de comenzi:

    export HISTSIZE=1000
  • HISTFILESIZE:
    Această variabilă stabilește numărul de linii (comenzi) care sunt salvate în fișierul ~/.bash_history. De exemplu:

    export HISTFILESIZE=2000

    Aceasta înseamnă că 2000 de comenzi vor fi păstrate în fișierul istoric chiar și după încheierea logării.

  • HISTCONTROL:
    Această variabilă determină modul în care sunt stocate comenzile. Opțiunile uzuale includ:

    • ignoredups – Împiedică adăugarea comenzilor duplicate la istoric.
    • ignorespace – Comenzile care încep cu un spațiu nu sunt adăugate la istoric.
    • ignoreboth – Combină ignoredups și ignorespace.

    Exemplu de setare a HISTCONTROL pentru a ignora comenzile duplicate:

    export HISTCONTROL=ignoredups
  • HISTTIMEFORMAT:
    Pentru a include o marcă temporală cu fiecare intrare din istoric, setați HISTTIMEFORMAT:

    export HISTTIMEFORMAT="%F %T "

    Acest lucru va preceda fiecare intrare din istoric cu data (%F) și ora (%T).

Căutarea în istoric

  • Căutarea inversă cu Ctrl r:
    Una dintre cele mai eficiente modalități de a căuta o comandă în istoricul dvs. este folosind Ctrl r. Începeți să tastați o parte din comandă, iar Bash va găsi comenzile corespunzătoare pe măsură ce tastați. Apăsând din nou Ctrl r, veți parcurge în mod ciclic căutările anterioare.
  • Grep cu istoric:
    De asemenea, puteți utiliza grep pentru a căuta prin ieșirea din istoric:

    history | grep git

    Aceasta va afișa toate comenzile care conțin cuvântul git.

Concluzii

Comanda history este o parte fundamentală a lucrului cu shell-ul Bash, oferind o modalitate de a ține evidența comenzilor anterioare și de a simplifica fluxurile de lucru. Cu capacitatea sa de a reaminti, căuta și personaliza istoricul comenzilor, aceasta contribuie la eficientizarea și facilitarea utilizării operațiunilor din linia de comandă. Prin stăpânirea istoricului și a caracteristicilor sale conexe, utilizatorii își pot accelera semnificativ munca în mediile Linux.

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills