Menu Chiudi

Shell: alcune interessanti combinazioni di tasti

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

sdt.gif

Uhm… se me ne vengono in mente altri li aggiungo, oppure meglio: facciamo la gara a chi ne sa di più? :)

12 commenti

  1. maus

    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 :)

  2. loopback

    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)

  3. felipe

    wow, vi amo :D

    maussigno grazie anche per le precisazioni! non sapevo che “ctrl k” e “ctrl u” tagliassero, pensavo cancellassero e basta! ruls

  4. hronir

    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!

  5. felipe

    @hronir:
    Grazie! Infatti non uso Emacs… mi chiedo se avrebbe senso passare ad una shell in “modalità vi”…

    uhm…

    ;)

  6. Pingback:Ripetizioni con la bash… « pollycoke :)

  7. unneurone

    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)

  8. fisico

    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

  9. Lili^

    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? :):)

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo:
Vai alla barra degli strumenti