Programare BASH

Utilizarea și personalizarea istoricului comenzilor Bash

Utilizarea și personalizarea istoricului comenzilor Bash
Bash shell este mediul implicit din linia de comandă disponibil în majoritatea distribuțiilor Linux. Similar tuturor mediilor shell, păstrează o evidență a comenzilor care au fost executate anterior de utilizator. Această evidență este păstrată și menținută chiar și când ne repornim sistemul.

S-ar putea să cunoașteți utilizarea de bază a comenzii istoric, dar poate face mult mai mult decât atât. Istoricul Bash este de obicei stocat în fișierul ~ /.bash_history. Vă permite să reamintiți și să refolosiți înregistrarea stocată într-un mod eficient pentru a obține cele mai bune rezultate din caracteristica de salvare a istoricului bash. Nu numai aceasta, dar puteți personaliza și controla ieșirea comenzii bash în modul dorit.

În acest articol, vom explica cum să utilizați și să personalizați în mod eficient istoricul comenzilor bash pentru a profita la maximum de caracteristicile sale.

Am folosit Debian 10 pentru a rula comenzile și procedura menționate în acest articol.

Folosind istoricul comenzilor bash

1. Vizualizarea istoricului bash

Pentru a vizualiza întregul istoric al comenzilor shell, puteți rula următoarea comandă în Terminal:

$ istorie

Acesta va lista întregul istoric pentru un anumit utilizator din fișierul istoric stocat special pentru acel utilizator. Veți vedea toate comenzile începând cu un număr alocat fiecăreia dintre ele. Va afișa comenzile mai vechi din partea de sus, începând cu numărul 1 și comenzile mai noi din partea de jos.

2. Căutarea rezultatului istoric

De asemenea, puteți căuta un anumit cuvânt cheie din rezultatul istoric. Asociați comanda istoric cu grep și un anumit cuvânt cheie pentru a căuta comenzi care corespund cuvântului cheie specificat după cum urmează:

$ istoric | grep [cuvânt cheie]

De exemplu, pentru a enumera toate comenzile care includ cuvântul cheie „găsi”, comanda ar fi:

$ istoric | grep găsi

3. Vizualizarea ultimelor n comenzi

Comanda istoric implicit listează ultimul număr de 1000 de comenzi executate de un utilizator. În cazul în care doriți să enumerați doar un anumit număr, să spunem n numărul ultimei comenzi executate, rulați următoarea comandă în Terminal:

$ istoric n

De exemplu, pentru a enumera ultimele 7 comenzi executate, comanda ar fi:

$ istoric 7

Pentru a vizualiza numărul ultimelor n comenzi de rulare care include un anumit cuvânt cheie, puteți utiliza următoarea sintaxă:

$ istoric | grep cuvânt cheie | tail -n

Un exemplu în acest sens ar fi vizualizarea ultimelor 4 comenzi executate cu cuvântul cheie „java”.

$ istoric | grep java | tail -n

4. Vizualizarea comenzilor cele mai vechi

Pentru a vizualiza cel mai vechi număr de comenzi, puteți utiliza următoarea sintaxă în Terminal:

$ istoric | cap -n

Pentru a vizualiza cel mai vechi număr de comenzi care include un anumit cuvânt cheie, utilizați următoarea sintaxă:

$ istoric | grep cuvânt cheie | head -n

Un exemplu în acest sens ar fi vizualizarea celor mai vechi 4 comenzi executate cu cuvântul cheie „java”.

$ istoric | grep java | head -4

5. Ștergeți complet istoricul Bash

Pentru a elimina întregul istoric bash, rulați următoarea comandă în Terminal:

$ history -cw

Personalizarea istoricului comenzilor bash

Pentru a personaliza istoricul comenzilor bash, va trebui să facem modificări în ~ /.fișier bashrc. Pentru a edita ~ /.fișier bashrc, utilizați următoarea comandă:

$ nano ~ /.bashrc

Odată ce ați terminat modificarea fișierului, utilizați Ctrl + O și Ctrl + X pentru a salva și închide editorul nano.

Apoi rulați următoarea comandă pentru a aplica modificările:

$ sursă ~ /.bashrc

1. Adăugați dată și marcaj de timp la istoricul Bash

Dacă doriți să afișați data și marcajul de timp împreună cu istoricul comenzilor, puteți face acest lucru adăugând următoarea linie în ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Acum rulați istorie comanda și va afișa istoricul comenzilor cu datele corespunzătoare și marca de timp.

2. Creșterea dimensiunii istoriei Bash

Bash implicit păstrează 500 de comenzi în lista istoricului. Cu toate acestea, putem modifica această valoare folosind valoarea HISTSIZE.

Pentru a vizualiza dimensiunea actuală a istoricului bash, executați următoarea comandă în Terminal:

$ echo $ HISTSIZE

În mod similar, dimensiunea implicită a fișierului istoric bash este 500. Este numărul maxim de intrări conținute în fișierul istoric.

Pentru a crește dimensiunea istoricului bash, să zicem 10000, adăugați următoarele rânduri în ~ /.fișier bashrc:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

Pentru a verifica dacă dimensiunea istoricului bash s-a schimbat cu succes, rulați următoarele comenzi în Terminal:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Adăugați comenzi Bash la fișierul istoric

Când o sesiune bash este închisă, puteți alege dacă suprascrieți sau adăugați comenzile din fișierul istoric utilizând variabila histappend. Pentru a vizualiza setările actuale, rulați următoarea comandă în Terminal:

$ shopt histappend

„Activat” din ieșire arată că opțiunea histappend este activată și comenzile vor fi adăugate în fișierul istoric în loc de suprascriere. În timp ce se afișează „off”, opțiunea histappend este dezactivată și fișierul va fi suprascris.

Deschideți ~ /.fișier bashrc și:

Adăugați următoarea linie, dacă doriți să adăugați comenzile la fișierul istoric în loc să suprascrieți:

$ shopt -s histappend

Sau adăugați următoarea linie, dacă doriți să dezactivați opțiunea de adăugare și doriți să suprascrieți fișierul la ieșire:

$ shopt -u histappend

4. Stocați istoricul Bash imediat

Bash în mod implicit salvează sesiunea în fișierul istoric bash numai după ce sesiunea se încheie. Pentru a schimba acest comportament implicit și a-l face să salveze instantaneu fiecare comandă pe care ați executat-o, puteți utiliza PROMPT_COMMAND.

Editați ~ /.bashrc și adăugați următoarea linie:

$ PROMPT_COMMAND = 'history -a'

Acum, ori de câte ori executați orice comandă, aceasta va fi adăugată imediat la fișierul istoric.

5. Controlați istoricul Bash

Putem controla modul în care bash salvează istoricul comenzilor noastre prin variabila HISTCONTROL. Îl putem specifica pentru a ignora intrările duplicate și / sau pentru a ignora intrările cu spații albe.

Pentru a aplica aceste funcții, deschideți fișierul ~ /.bashrc și adăugați următoarea linie cu valori separate prin două puncte după cum urmează:

$ export HISTCONTROL = ignoră spațiul: ignorate

6. Ignorați comenzile specifice

De asemenea, putem controla ce comenzi să ignorăm în istorie folosind o variabilă HISTIGNORE. Este o listă de modele separate prin două puncte în care putem specifica toate comenzile pe care dorim să le ignorăm din istorie.

De exemplu, dacă nu dorim să listăm comenzile de bază precum istoric, ls, comenzi pwd în lista istoric, atunci adăugăm următoarea linie în ~ /.fișier bashrc:

$ export HISTIGNORE = "history: ls: pwd:"

Cu istoricul comenzilor bash Linux, puteți face mult mai mult decât să repetați vechile comenzi. În acest articol, am învățat cum să folosim istoricul bash pentru a vizualiza comenzile care au fost executate anterior și, de asemenea, am învățat să controlăm modul în care bash salvează istoricul comenzilor.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...