di felipe
Beh visto che ci sono, dopo “Shell: usare /etc/inputrc per alcuni trucchetti” metto per iscritto anche alcune combinazioni di tasti che dovrebbero funzionare con tutte le versioni recenti della Bash. Alcune sono molto utili e altre sono *indispensabili* :)
Si parte:
- Shift + PagUp/PagDn : per andare una schermata indietro/avanti nell’output della shell
- Shift + frecciaSu/Giù : per andare una riga indietro/avanti nell’output della shell, funziona solo con alcuni emulatori di terminale (es: konsole sì, gnome-terminal no)
- Ctrl + L : per ripulire lo schermo, equivale al comando “clear”, non cancella comunque le informazioni, che si possono reperire con le due combinazioni precedenti
- Ctrl + U : per cancellare la riga che si sta scrivendo
- Ctrl + K : per cancellare, nella riga che si sta scrivendo, tutto ciò che sta a destra del cursore
- Ctrl + C : classico dei classici, per ammazzare un processo (che non sia stato avviato in background)
- Ctrl + S : per bloccare ogni output visivo, ma la shell riceve ancora input. ad esempio se siete bravi potete digitare un comando segreto tipo
rm -rf /Dati/Foto/Personali/Amichette/DeBBorah_porno_in_macchina && exit
senza che nessuno vi veda :D poi leggete oltre: - Ctrl + Q : per sboccare una shell dopo aver dato il comando precedente, continuando l’esempio di sopra: verrebbe rimossa la directory e verrebbe chiusa la shell. Occultamento prove riuscito :D
- Ctrl + D : per uscire dalla shell, equivale a scrivere “exit” o “logout”
Poi ci sono delle combinazioni un po’ più strambe che voglio descrivere separatamente:
- Alt + numero (n) : serve a ripetere n volte un carattere. ad esempio se tengo premuto Alt mentre scrivo 123, e poi una volta rilasciato Alt scrivo “s”, mi verrà automaticamente ripetuto s 123 volte. mai capito a che serva sta cosa :D
- Ctrl + R : questo è più utile. una volta premuto basta scrivere “pezzi” di un comando, e la bash cercherà all’interno della history. E’ simile al trucchetto di PagUp/Dn che abbiamo visto in “Shell: usare /etc/inputrc per alcuni trucchetti“, ma è più potente perché ricerca non solo l’inizio di una riga, ma anche in mezzo. Ad esempio se volessi vedere tutti i comandi in cui c’è scritta la parola compiz mi basterebbe fare Ctrl+R, scrivere compiz e continuare a dare Ctrl+R per visualizzare i comandi dati in passato. visto che ci sto prendendo la mano ecco un altro screencast
Uhm… se me ne vengono in mente altri li aggiungo, oppure meglio: facciamo la gara a chi ne sa di più? :)
alt b: torna indietro col cursore di una parola del comando corrente
ctrl a: inizio riga
ctrl e: fine riga
alt . (alt-punto): scrive l’ultima parola dell’ultimo comando. riprementolo si scorre indietro nell’history
ctrl t: sposta il carattere dove e’ il cursore indietro di uno… una sorta di switch per corregge i typo (1 su tutti grpe al posto di grep)
!! : esegue l’ultimo comando dato
ctrl k : taglia dal cursore a fine riga
ctrl y : incolla il tagliato
piccola correzione: ctrl u non taglia la riga che si sta scrivendo, taglia dall’inizio fino alla fine del cursore, per tagliare tutta la riga… non lo so :)
Ctrl + Z: per mettere a nanna un processo. Per riattivarlo fg %n dove ‘n’ e’ il job number (viene mostrato quando si preme Ctrl + Z)
wow, vi amo :D
maussigno grazie anche per le precisazioni! non sapevo che “ctrl k” e “ctrl u” tagliassero, pensavo cancellassero e basta! ruls
grazie dei tips, a proposito che programma usi per fare gli screencasts?
scotu, ha usato byzanz, felipe ne parla qui (sperando che si possano usare i link nei commenti).
grazie loopback
Quando siete in modalita’ Ctrl+R (cioe’ state backward-search-ando nella histori), potete premere Ctrl+S per passare in modalita’ forward-search. Tipicamente quando state ripetutamente premendo Ctrl+R per risalire indietro nella history, e poi vi accorgete che siete risaliti troppo, per tornare a scendere nella history premete appunto Ctrl+S.
Per chi usa Emacs, si tratta di un gesto del tutto naturale!
@hronir:
Grazie! Infatti non uso Emacs… mi chiedo se avrebbe senso passare ad una shell in “modalità vi”…
uhm…
;)
Pingback:Ripetizioni con la bash… « pollycoke :)
Noto che ne manca ancora qualcuno…
Alt+D” : cancella la parola davanti al cursore
Alt++. : richiama l’-esimo argomento del precedente comando
ad esempio se la riga precedente è “ls -l foo*” la sequenza “Alt+1+.” inserisce “-l”
usando poi “Alt+.” si scorre indietro nella history ( viene conservato)
!* : rimpiazza tutti gli argomenti del precedente comando tranne lo “zeresimo”
ad es. se prima si dà “ls *.tmp *spazza*” poi potrebbe tornare utile “rm !*”
(la sostituzione avviene dopo premuto invio)
dopo CTRL-z puo’ essere utile continuare a far lavorare in background il processo stoppato.
$> bg
Equivale ad avviare il processo con il suffisso & (io me lo scordo sempre).
(grande il CTRL-s in modalita’ reverse-i-search!!)
buona shell
De’ i Comandi Strani et lo Impiego di ” Alt + numero (n) ”
——————————————————————————————-
Sapemmo che:
Alt + . (punto) restituisce l’ultimo argomento dell’ultimo comando
Est dunque giusto et maraviglioso sapere et conoscere che;
Alt + (n) + (punto) restituisce l’nsimo argomento dell’ultimo comando.. cominciando a contare da zero.
Continuando a premere . (punto) ed alt si cicla nella history alla ricerca dell’nsimo argomento del pernultimo comando, del terzultimo comando, del quartultimo… e cosi’ via.
Facile no? :):)