Nov 182010
 

historyIl comando history è molto utile quando si lavora spesso a terminale e si vuole richiamare un comando dato in passato. Ma esistono varie opzioni non così comuni e poco conosciute, in questo articolo vedremo come utilizzarle in bash e zsh.

Uso base

Mostra gli ultimi comandi dati a terminale.
Si applica a bash and zsh

history



Output:

  312  sudo -i
  315  mkdir joom
  316  cd joom
  317  unzip ~/Downloads/Joomla_1.5.21_to_1.5.22-Stable-Patch_Package_ita.zip
  318  cd /tmp
  319  ls
  320  ls -alrt
  321  mkdir image
  322  cd image
  323  unzip ../ed ambientale.zip.html
  324  cd ed ambientale

Compito 1 Visualizzazione di data e ora nei comandi dell’ history

Una cosa utile e semplice è quella di aggiungere ad ogni singolo comando che abbiamo utilizzato la data e l’ora in cui sono stati dati, questo può essere utile per capire quando qualcosa è accaduto nel nostro sistema.

Bash Aggiungere al file ~/.bash_profile
export HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '

Zsh Aggiungere al file ~/.zshrc

HISTFILE=~/.zsh_history
HISTSIZE=9999
SAVEHIST=9999
setopt extendedhistory

Compito 2 cercare una stringa all’interno dell’history

Sapete una parte del comando che si desidera cercare nella vostra storia.

Si applica a bash e zsh

Nel terminale, tenere premuto Ctrl e premere R per avviare “reverse-i-search” (bash). Digitare una lettera – come s – e avrete un risultato per il comando più recente nella vostra storia che inizia con s. Continuare a digitare per restringere il risultato. Quando arrivate sul comando desiderato, premete Invio per eseguire il comando suggerito.

Compito 3 eseguire come root l’ultimo comando dato

Avete dato un lungo comando e dopo vi siete resi conto che era necessario essere root

Si applica a bash e zsh

sudo !!

Vi verrà chiesta la vostra password, dopodichè verrà eseguito l’ultimo comando dato, questo perchè !! viene interpretato come l’ultimo comando dato.

Compito 4 Cerca nella command history “string” ma evita di eseguirlo

Stampa la prima occorrenza della stringa trovata nella storia, ma non eseguirlo.

Si applica a bash e zsh

!string:p

!string cercherà la cronologia dei comandi ed eseguià il primo comando che corrisponde a ‘string’. Se non ti senti sicuro farlo mettere :p alla fine per stampare senza eseguire. Consigliato quando si esegue come superuser.

Compito 5 cancellare una riga dalla history

Utile quando per sbaglio si digitano password

Si applica a bash
history -d < history number >

Cancella il comando con < history number > dalla lista dei comandi dati.

Compito 6 mostrare i comandi più utilizzati

utile per decidere quali nuovi alias fare o per avere delle statistiche.

Si applica a bash e zsh
history | awk '{print $2}' | sort | uniq -c | sort -rn | head

Output:

    53 aptitude
     47 ip
     40 ls
     33 apt-get
     26 cd
     25 xrandr
     24 man
     17 history
     15 rmmod
     15 apt-cache

Guardate anche la Bash history cheatsheet

Popular Posts:

flattr this!

 Leave a Reply

(required)

(required)


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>