Tutti certamente sappiamo che per sfogliare gli ultimi comandi da terminale basta premere la freccia in su per ritrovarceli nuovamente pronti per essere lanciati. Ma oltre a questo, possiamo chiedere di più. Infatti, se vogliamo riprendere un comando specifico che abbiamo dato tempo fa, possiamo farlo con estrema facilità. Ad esempio, se un mese fa avevamo dato questo complesso comando:
bzr push bzr+ssh://utente@bazaar.launchpad.net/~utente/progetto/branch
possiamo richiamarlo immediatamente digitando solo
bzr push
e premere PagUp: il terminale vi farà scorrere la lista dei comandi che cominciano per bzr push.
Per compiere questa magia, è sufficiente editare il file /etc/inputrc e modificare una riga:
sudo nano /etc/inputrc
Scorrete in basso fino a trovare il seguente blocco (siamo alle righe 40-42):
# alternate mappings for "page up" and "page down" to search the history #"\e[5~": history-search-backward #"\e[6~": history-search-forward
Togliete il commento alle righe 41 e 42 (cioè il carattere #) e salvate con CTRL+O e uscite con CTRL+X.
Chiudete il terminale e riapritelo. Provate ora a digitare una sequenza che avete già fatto, ad esempio:
sudo apt
e premete il tasto PagUp. Scorrerete così solo la cronologia che comincia con sudo apt.
A me risulta estremamente utile e fa risparmiare tempo e meningi. :)
Un piccolo video per vedere in atto le operazioni:
[video type="vimeo" video="http://vimeo.com/moogaloop.swf?clip_id=1565334" width="460" height="376"]
Ciao,
ottimo articolo, come sempre!
Ho già agito come descritto e devo dire che ora è un’altra cosa. Lavorare sul terminale è divenuto + facile ! :D
Paolo
beh, oltre a quello, mai provato history?
man historye poi, se voglio rieseguire il comando numero 256:
!256
@ simo_magic
Con history sfogli la storia di tutti i comandi: con questo, invece, riproponi a bash un comando ben preciso che sai già; utile quando ripeti spesso comandi simili.
io ho sempre usato CTRL+R per ottenere lo stesso risultato ;)
Niente male, anche se di solito mi accontento di:
history | grep quello-che-cerco:-)Che il terminale Linux non temesse confronti già lo sapevo, ma ogni giorno ne imparo una!
Caro Aldo questa dritta è veramente dritta. Quante volte finora ho tenuto premuto la mia freccetta in su per ritrovare qualcosa… ora invece il comfort di utilizzo mi è stato moltiplicato per 10!
Grazie mille.
Post molto interessante, soprattutto per chi, come me, usa spesso il terminale.
Aggiungo un’altra opzione comoda della bash: gli alias!
Nel file .bashrc della propria home si possono definire nuovi alias, per esempio aggiungendo:
alias ll=”ls -lh”
dopo aver riavviato il terminale, ll viene tradotto come ls -lh
Esatto!
Ora te ne suggerisco due io! XD
Il comando copia (cp) e sposta (mv) sovrascrivono di default un eventuale file con lo stesso nome che si trovasse nello stesso posto di destinazione. Per ovviare a ciò possiamo forzare l’interattività, chiedendoci sempre cosa fare. Ecco le due righe:
alias cp='cp -i'alias mv='mv -i'
CTRL+R anche per me!!