GNU/Linux >> Linux Esercitazione >  >> Linux

Rendi la cronologia di Bash più utile con questi suggerimenti

Un terminale Linux che esegue Bash ha una cronologia incorporata che puoi utilizzare per tenere traccia di ciò che hai fatto di recente. Per visualizzare una cronologia della tua sessione Bash, usa il comando integrato history :

$ echo "foo"
foo
$ echo "bar"
bar
$ history
  1  echo "foo"
  2  echo "bar"
  3  history

La history command non è un file eseguibile sul tuo filesystem, come la maggior parte dei comandi, ma una funzione di Bash. Puoi verificarlo usando il type comando:

$ type history
history is a shell builtin

Controllo cronologia

Il limite superiore delle righe nella cronologia della shell è definito da HISTSIZE variabile. Puoi impostare questa variabile nel tuo .bashrc file. Quanto segue imposta la cronologia su 3000 righe, dopodiché la riga più vecchia viene rimossa per fare spazio al comando più recente, posizionato in fondo all'elenco:

export HISTSIZE=3000

Ci sono anche altre variabili relative alla cronologia. Il HISTCONTROL variabile controlla quale cronologia viene memorizzata. Puoi forzare Bash a escludere i comandi che iniziano con uno spazio vuoto inserendo questo nel tuo .bashrc file:

export HISTCONTROL=$HISTCONTROL:ignorespace

Ora, se digiti un comando che inizia con uno spazio, quel comando non verrà registrato nella cronologia:

$ echo "hello"
$     mysql -u bogus -h badpassword123 mydatabase
$ echo "world"
$ history
  1  echo "hello"
  2  echo "world"
  3  history

Puoi anche evitare voci duplicate:

export HISTCONTROL=$HISTCONTROL:ignoredups

Ora, se digiti due comandi, uno dopo l'altro, nella cronologia ne compare solo uno:

$ ls
$ ls
$ ls
$ history
  1  ls
  2  history

Se ti piacciono entrambi questi ignora, puoi semplicemente usare ignoreboth :

export HISTCONTROL=$HISTCONTROL:ignoreboth

Rimuovi un comando dalla cronologia

A volte commetti un errore e digiti qualcosa di sensibile nella tua shell, o forse vuoi semplicemente ripulire la tua cronologia in modo che rappresenti in modo più accurato i passaggi che hai fatto per far funzionare correttamente qualcosa. Se vuoi eliminare un comando dalla cronologia in Bash, usa -d opzione con il numero di riga dell'elemento che desideri rimuovere:

$ echo "foo"
foo
$ echo "bar"
bar
$ history | tail
  535  echo "foo"
  536  echo "bar"
  537  history | tail
$ history -d 536
$ history | tail
  535  echo "foo"
  536  history | tail
  537  history -d 536
  538  history | tail

Per interrompere l'aggiunta di history voci, puoi inserire uno space prima del comando, purché tu abbia ignorespace nel tuo HISTCONTROL variabile d'ambiente:

$  history | tail
  535  echo "foo"
  536  echo "bar"
$  history -d 536
$  history | tail
  535  echo "foo"

Puoi cancellare l'intera cronologia delle sessioni con -c opzione:

$ history -c
$  history
$

Lezioni di storia

Altro su Bash

  • Cheat sheet di Bash
  • Un'introduzione alla programmazione con Bash
  • Una guida per l'amministratore di sistema allo scripting Bash
  • Ultimi articoli di Bash

Manipolare la storia è solitamente meno pericoloso di quanto sembri, specialmente quando la stai curando con uno scopo in mente. Ad esempio, se stai documentando un problema complesso, spesso è meglio usare la cronologia della sessione per registrare i comandi perché, inserendoli nella cronologia, li stai eseguendo e quindi testando il processo. Molto spesso, documentare senza fare porta a trascurare piccoli passi oa scrivere piccoli dettagli in modo sbagliato.

Usa le sessioni di storia secondo necessità ed esercita saggiamente il tuo potere sulla storia. Buon hack della storia!


Linux
  1. Come usare i comandi della cronologia di Bash

  2. Analisi della cronologia di Bash in Linux

  3. Utilizzo di modificatori di parole con la cronologia di Bash in Linux

  4. Alias ​​con variabile in bash

  5. du -h con più cifre decimali

Comando della cronologia in Linux (Cronologia di Bash)

Rendere Vim ancora più fantastico con queste fantastiche funzionalità

3 consigli utili su come utilizzare il comando cronologia in Linux

Ottieni di più dal tuo Kindle in Linux con questi semplici suggerimenti

Comando della cronologia con esempi

Salva la giornata con successo con i comandi della cronologia di Bash