Home > Debian, Linux, Ubuntu > Come ricercare i comandi nella shell: history

Come ricercare i comandi nella shell: history

In linux a volte risulta comodo ricercare i comandi eseguiti a terminale così da recuperarli, modificarli e rieseguirli.

Per elencare i comandi  della shell bash usare history :

:~$ history 
   ...
    5  ls    
    6  cat /etc/network/interfaces     
    7  ifconfig
    8  ping www.google.com
    9  sudo apt-get install nmon mc nmap nano sysv-rc-conf scrot
   10  sudo apt-get install curl 
   11  curl -I www.eurotech.com/en/products
  ...
  ...  
   42  sudo mkdir /mnt/www68  
   43  sudo mkdir /mnt/www72
   44  sudo mount -t cifs -o username=mausia //182.193.135.172/www /mnt/www72

Per ritornare un comando o un elenco particolare di comandi utilizzare grep o egrep

:~$ history | grep mount

 1394  sudo apt-get install mount.cifs
 1396  mount.cifs --help
 1457  sudo mount -o loop,offset=32256 image.img /mnt/source
 1460  sudo umount /mnt/source
 1616  sudo mount -t davfs http://tanros.net:2078/public_html  /mnt/webdav 
 1991  history | grep mount

Il comando history ritorna un elenco di comandi numerato per ritornare un numero di righe predefinito si può utlizzare il comando fc.
Ad esempio per ritornare i comandi tra la riga 1000 e 1005 si può utilizzare

fc -l 1000 1005
1400	 sudo apt-get install htop
1401	 htop
1402	 sudo aptitude matchbox-keyboard
1403	 sudo apt-get install pyhoca-gui
1404	 dpkg -l pyhoca*  | grep 'i'
1405	 pyhoca-gui

per elencare i 10 ultimi comandi della bash shell

fc -l 10

per visualizzare i comandi che seguono l’ultimo comando che inizia ad esempio con la stringa curl digitare

fc -l curl

Per inviare una lista di comandi ad un editor ad esempio nano o vi digitare

fc -e nano 110 150 
o
vi -e nano 110 150

Esistono utili combinazioni di tasti ( shot cuts ) per interagire con i comandi della shell e la history in porticolare

Ctrl+p : visualizza il comando precedente ( freccia up )
Ctrl+n : visualizza il comando successivo ( freccia giù )  
Ctrl+a : muove il cursore a inzio riga 
Ctrl+e : muove il cursore a fine riga
Ctrl+r : ricerca il comando nella history in ordine inverso

esempio di ricerca con Ctrl+r

(reverse-i-search)`': 
(reverse-i-search)`curl': curl -I http://182.193.135.71/te/main.aspx

.bash_history

Se si utilizza la shell bash usualmente i comandi eseguti vengono registrati nel file di testo  file .bash_history.

Quindi per visualizzarli e copiarli è sufficiente aprire il file  in questione. As esempio per visualizzarli  è possibile usare cat o less

cat  .bash_history

Risorse:

Advertisements
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: