Command line kung fu
|
|
|
- Giuseppa Milano
- 9 anni fa
- Visualizzazioni
Transcript
1 Command line kung fu Bash, filtri & co. Riccardo Binetti Corsi GNU/Linux Avanzati 2014 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
2 Il terminale? Nel 2014? Sì, il terminale viene usato anche nell era delle GUI stilose È agnostico rispetto a distribuzione, ambiente grafico e OS 1 Si può usare da remoto e/o su una macchina senza schermo Automatizzazione molto facilitata Se nulla altro sembra andare, un terminale non si nega a nessuno 1 Finché rimaniamo nei sistemi unix-like Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
3 Il terminale? Nel 2014? Sì, il terminale viene usato anche nell era delle GUI stilose È agnostico rispetto a distribuzione, ambiente grafico e OS 1 Si può usare da remoto e/o su una macchina senza schermo Automatizzazione molto facilitata Se nulla altro sembra andare, un terminale non si nega a nessuno 1 Finché rimaniamo nei sistemi unix-like Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
4 Il terminale? Nel 2014? Sì, il terminale viene usato anche nell era delle GUI stilose È agnostico rispetto a distribuzione, ambiente grafico e OS 1 Si può usare da remoto e/o su una macchina senza schermo Automatizzazione molto facilitata Se nulla altro sembra andare, un terminale non si nega a nessuno 1 Finché rimaniamo nei sistemi unix-like Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
5 Il terminale? Nel 2014? Sì, il terminale viene usato anche nell era delle GUI stilose È agnostico rispetto a distribuzione, ambiente grafico e OS 1 Si può usare da remoto e/o su una macchina senza schermo Automatizzazione molto facilitata Se nulla altro sembra andare, un terminale non si nega a nessuno 1 Finché rimaniamo nei sistemi unix-like Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
6 Il terminale? Nel 2014? Sì, il terminale viene usato anche nell era delle GUI stilose È agnostico rispetto a distribuzione, ambiente grafico e OS 1 Si può usare da remoto e/o su una macchina senza schermo Automatizzazione molto facilitata Se nulla altro sembra andare, un terminale non si nega a nessuno 1 Finché rimaniamo nei sistemi unix-like Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
7 Un comando per domarli tutti man Se siete in dubbio su cosa faccia un comando, digitate man comando. Vi risolverà buona parte dei dubbi e vi risparmierà un po di "RTFM" La sintassi del comando sarà del tipo comando [opzioni] [argomenti] argomento. Tutto ciò che è tra parentesi quadre è opzionale, le opzioni si passano con uno o due trattini (- o --) Per cercare all interno della man page basta scrivere /terminecercato e premere Enter. Premendo n si passa al prossimo match. La ricerca non fa il wrap-around, arrivati alla fine della manpage premete p per tornare in cima Premendo q si esce dalla manpage man man Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
8 Un comando per domarli tutti man Se siete in dubbio su cosa faccia un comando, digitate man comando. Vi risolverà buona parte dei dubbi e vi risparmierà un po di "RTFM" La sintassi del comando sarà del tipo comando [opzioni] [argomenti] argomento. Tutto ciò che è tra parentesi quadre è opzionale, le opzioni si passano con uno o due trattini (- o --) Per cercare all interno della man page basta scrivere /terminecercato e premere Enter. Premendo n si passa al prossimo match. La ricerca non fa il wrap-around, arrivati alla fine della manpage premete p per tornare in cima Premendo q si esce dalla manpage man man Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
9 Un comando per domarli tutti man Se siete in dubbio su cosa faccia un comando, digitate man comando. Vi risolverà buona parte dei dubbi e vi risparmierà un po di "RTFM" La sintassi del comando sarà del tipo comando [opzioni] [argomenti] argomento. Tutto ciò che è tra parentesi quadre è opzionale, le opzioni si passano con uno o due trattini (- o --) Per cercare all interno della man page basta scrivere /terminecercato e premere Enter. Premendo n si passa al prossimo match. La ricerca non fa il wrap-around, arrivati alla fine della manpage premete p per tornare in cima Premendo q si esce dalla manpage man man Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
10 Un comando per domarli tutti man Se siete in dubbio su cosa faccia un comando, digitate man comando. Vi risolverà buona parte dei dubbi e vi risparmierà un po di "RTFM" La sintassi del comando sarà del tipo comando [opzioni] [argomenti] argomento. Tutto ciò che è tra parentesi quadre è opzionale, le opzioni si passano con uno o due trattini (- o --) Per cercare all interno della man page basta scrivere /terminecercato e premere Enter. Premendo n si passa al prossimo match. La ricerca non fa il wrap-around, arrivati alla fine della manpage premete p per tornare in cima Premendo q si esce dalla manpage man man Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
11 Un comando per domarli tutti man Se siete in dubbio su cosa faccia un comando, digitate man comando. Vi risolverà buona parte dei dubbi e vi risparmierà un po di "RTFM" La sintassi del comando sarà del tipo comando [opzioni] [argomenti] argomento. Tutto ciò che è tra parentesi quadre è opzionale, le opzioni si passano con uno o due trattini (- o --) Per cercare all interno della man page basta scrivere /terminecercato e premere Enter. Premendo n si passa al prossimo match. La ricerca non fa il wrap-around, arrivati alla fine della manpage premete p per tornare in cima Premendo q si esce dalla manpage man man Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
12 Un comando per domarli tutti man Se siete in dubbio su cosa faccia un comando, digitate man comando. Vi risolverà buona parte dei dubbi e vi risparmierà un po di "RTFM" La sintassi del comando sarà del tipo comando [opzioni] [argomenti] argomento. Tutto ciò che è tra parentesi quadre è opzionale, le opzioni si passano con uno o due trattini (- o --) Per cercare all interno della man page basta scrivere /terminecercato e premere Enter. Premendo n si passa al prossimo match. La ricerca non fa il wrap-around, arrivati alla fine della manpage premete p per tornare in cima Premendo q si esce dalla manpage man man Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
13 Muovere i primi passi ls elenca i file nella cartella corrente ls nomecartella -- elenca i file della cartella con quel nome -lah mostra i file incolonnati con maggiori informazioni (-l) includendo anche i file nascosti (-a) con le dimensioni in formato human-readable (-h) cd nomecartella ci sposta nella directory. è la directory corrente,.. è la directory un livello più in su pwd stampa la directory in cui ci si trova Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
14 Muovere i primi passi ls elenca i file nella cartella corrente ls nomecartella -- elenca i file della cartella con quel nome -lah mostra i file incolonnati con maggiori informazioni (-l) includendo anche i file nascosti (-a) con le dimensioni in formato human-readable (-h) cd nomecartella ci sposta nella directory. è la directory corrente,.. è la directory un livello più in su pwd stampa la directory in cui ci si trova Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
15 Muovere i primi passi ls elenca i file nella cartella corrente ls nomecartella -- elenca i file della cartella con quel nome -lah mostra i file incolonnati con maggiori informazioni (-l) includendo anche i file nascosti (-a) con le dimensioni in formato human-readable (-h) cd nomecartella ci sposta nella directory. è la directory corrente,.. è la directory un livello più in su pwd stampa la directory in cui ci si trova Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
16 Creiamo qualcosa touch nomefile crea un file vuoto se non esiste mkdir nomecartella crea una directory vuota Nota importante -p crea tutte le directory necessarie (e.g. mkdir a/b/c/ crea anche a e b se non esistono) Il filesystem Linux, a differenza di quello Windows, è case sensitive. Se create (o modificate) i file ricordate che foo Foo FOO Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
17 Creiamo qualcosa touch nomefile crea un file vuoto se non esiste mkdir nomecartella crea una directory vuota Nota importante -p crea tutte le directory necessarie (e.g. mkdir a/b/c/ crea anche a e b se non esistono) Il filesystem Linux, a differenza di quello Windows, è case sensitive. Se create (o modificate) i file ricordate che foo Foo FOO Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
18 Creiamo qualcosa touch nomefile crea un file vuoto se non esiste mkdir nomecartella crea una directory vuota Nota importante -p crea tutte le directory necessarie (e.g. mkdir a/b/c/ crea anche a e b se non esistono) Il filesystem Linux, a differenza di quello Windows, è case sensitive. Se create (o modificate) i file ricordate che foo Foo FOO Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
19 Io ti ho creato, io ti distruggo rm nomefile cancella un file -r se il file è una cartella, cancella ricorsivamente il suo contenuto rmdir nomecartella cancella una cartella solo se vuota Se siete paranoici: shred nomefile sovrascrive un file con bit random 3 volte -u dopo averlo sovrascritto, lo cancella Attenzione Nel terminale, non esiste un cestino. Una volta che avete rimosso un file, è perso per sempre. 2 2 A meno di strani magheggi con software forense Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
20 Io ti ho creato, io ti distruggo rm nomefile cancella un file -r se il file è una cartella, cancella ricorsivamente il suo contenuto rmdir nomecartella cancella una cartella solo se vuota Se siete paranoici: shred nomefile sovrascrive un file con bit random 3 volte -u dopo averlo sovrascritto, lo cancella Attenzione Nel terminale, non esiste un cestino. Una volta che avete rimosso un file, è perso per sempre. 2 2 A meno di strani magheggi con software forense Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
21 Io ti ho creato, io ti distruggo rm nomefile cancella un file -r se il file è una cartella, cancella ricorsivamente il suo contenuto rmdir nomecartella cancella una cartella solo se vuota Se siete paranoici: shred nomefile sovrascrive un file con bit random 3 volte -u dopo averlo sovrascritto, lo cancella Attenzione Nel terminale, non esiste un cestino. Una volta che avete rimosso un file, è perso per sempre. 2 2 A meno di strani magheggi con software forense Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
22 Io ti ho creato, io ti distruggo rm nomefile cancella un file -r se il file è una cartella, cancella ricorsivamente il suo contenuto rmdir nomecartella cancella una cartella solo se vuota Se siete paranoici: shred nomefile sovrascrive un file con bit random 3 volte -u dopo averlo sovrascritto, lo cancella Attenzione Nel terminale, non esiste un cestino. Una volta che avete rimosso un file, è perso per sempre. 2 2 A meno di strani magheggi con software forense Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
23 Modifiche di base ai file cp sorgente destinazione Copia il file sorgente nel file destinazione -r Da usare per copiare una directory mv sorgente destinazione Sposta il file sorgente in destinazione Si può usare per rinominare i file se destinazione è nella stessa cartella di sorgente ln -s sorgente /path/al/collegamento Crea un collegamento simbolico al file sorgente in /path/al/collegamento Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
24 Modifiche di base ai file cp sorgente destinazione Copia il file sorgente nel file destinazione -r Da usare per copiare una directory mv sorgente destinazione Sposta il file sorgente in destinazione Si può usare per rinominare i file se destinazione è nella stessa cartella di sorgente ln -s sorgente /path/al/collegamento Crea un collegamento simbolico al file sorgente in /path/al/collegamento Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
25 Modifiche di base ai file cp sorgente destinazione Copia il file sorgente nel file destinazione -r Da usare per copiare una directory mv sorgente destinazione Sposta il file sorgente in destinazione Si può usare per rinominare i file se destinazione è nella stessa cartella di sorgente ln -s sorgente /path/al/collegamento Crea un collegamento simbolico al file sorgente in /path/al/collegamento Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
26 Historia magistra vitae Ctrl+p o per andare indietro (comandi più vecchi) nella history dei comandi Ctrl+n o per avanti (comandi più recenti) nella history dei comandi Ctrl+r per effetturare la ricerca di una stringa nei comandi della history La history è salvata nel file.bash_history nella home dell utente Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
27 Historia magistra vitae Ctrl+p o per andare indietro (comandi più vecchi) nella history dei comandi Ctrl+n o per avanti (comandi più recenti) nella history dei comandi Ctrl+r per effetturare la ricerca di una stringa nei comandi della history La history è salvata nel file.bash_history nella home dell utente Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
28 Historia magistra vitae Ctrl+p o per andare indietro (comandi più vecchi) nella history dei comandi Ctrl+n o per avanti (comandi più recenti) nella history dei comandi Ctrl+r per effetturare la ricerca di una stringa nei comandi della history La history è salvata nel file.bash_history nella home dell utente Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
29 Historia magistra vitae Ctrl+p o per andare indietro (comandi più vecchi) nella history dei comandi Ctrl+n o per avanti (comandi più recenti) nella history dei comandi Ctrl+r per effetturare la ricerca di una stringa nei comandi della history La history è salvata nel file.bash_history nella home dell utente Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
30 Domande? Demo! Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
31 Domande? Demo! Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
32 Scriviamo qualcosa Dobbiamo poter modificare in qualche modo i nostri file. Text editors to the rescue! Ne vediamo 3 in particolare: nano vim emacs Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
33 nano nano è il miglior text editor del mondo cit. Nessuno Presente di default in tutte le maggiori distribuzioni Semplice da usare Piuttosto basilare Avviatelo sempre con l opzione -w (altrimenti spezza le righe troppo lunghe) I comandi sono segnati in basso ^X va interpretato come Ctrl+X Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
34 nano nano è il miglior text editor del mondo cit. Nessuno Presente di default in tutte le maggiori distribuzioni Semplice da usare Piuttosto basilare Avviatelo sempre con l opzione -w (altrimenti spezza le righe troppo lunghe) I comandi sono segnati in basso ^X va interpretato come Ctrl+X Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
35 vim I ve been using Vim for about 2 years now, mostly because I can t figure out how to exit it. Editor modale I modi di utilizzo base sono: Normal, Insert e Command mode Nella modalità Normal (a cui si accede premendo Esc) si può navigare all interno del file di testo Nella modalità Insert (a cui si accede premendo i in modalità Normal) si può modificare il file Nella modalità Command (a cui si accede premendo : in modalità Normal) si possono inserire comandi o impostazioni per l editor Aiuto, ho aperto vim per sbaglio, come esco? :wq per uscire salvando il file, :q! per uscire senza salvare Questo è l utilizzo base, si può usare in modo più avanzato Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
36 vim I ve been using Vim for about 2 years now, mostly because I can t figure out how to exit it. Editor modale I modi di utilizzo base sono: Normal, Insert e Command mode Nella modalità Normal (a cui si accede premendo Esc) si può navigare all interno del file di testo Nella modalità Insert (a cui si accede premendo i in modalità Normal) si può modificare il file Nella modalità Command (a cui si accede premendo : in modalità Normal) si possono inserire comandi o impostazioni per l editor Aiuto, ho aperto vim per sbaglio, come esco? :wq per uscire salvando il file, :q! per uscire senza salvare Questo è l utilizzo base, si può usare in modo più avanzato Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
37 emacs emacs is a great operating system, lacking only a decent editor GNU Emacs è un ambiente operativo che ha all interno un interprete Lisp C è una modalità per qualsiasi cosa (dal lettore mp3 allo psicologo) Il suo utilizzo si basa prevalentemente su combinazioni di tasti È estremamente personalizzabile e scriptabile Questa flessibilità si paga con un utilizzo di risorse maggiore Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
38 emacs emacs is a great operating system, lacking only a decent editor GNU Emacs è un ambiente operativo che ha all interno un interprete Lisp C è una modalità per qualsiasi cosa (dal lettore mp3 allo psicologo) Il suo utilizzo si basa prevalentemente su combinazioni di tasti È estremamente personalizzabile e scriptabile Questa flessibilità si paga con un utilizzo di risorse maggiore Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
39 Ma quindi, qual è l editor migliore? Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
40 Ma quindi, qual è l editor migliore? Se volete scatenare un flame tra utenti Linux, questa è un ottima domanda da fare. Non vi costa niente provarli tutti e scegliere qual è il migliore per voi. Demo! Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
41 Ma quindi, qual è l editor migliore? Se volete scatenare un flame tra utenti Linux, questa è un ottima domanda da fare. Non vi costa niente provarli tutti e scegliere qual è il migliore per voi. Demo! Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
42 Bash++ cat concatena e stampa file su schermo less stampa file su schermo con una finestra scorrevole, come la manpage echo stampa il valore di un espressione locate cerca file in un database Il database va aggiornato periodicamente con il comando updatedb find cerca dei file all interno di una gerarchia di cartelle Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
43 Bash++ cat concatena e stampa file su schermo less stampa file su schermo con una finestra scorrevole, come la manpage echo stampa il valore di un espressione locate cerca file in un database Il database va aggiornato periodicamente con il comando updatedb find cerca dei file all interno di una gerarchia di cartelle Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
44 Bash++ cat concatena e stampa file su schermo less stampa file su schermo con una finestra scorrevole, come la manpage echo stampa il valore di un espressione locate cerca file in un database Il database va aggiornato periodicamente con il comando updatedb find cerca dei file all interno di una gerarchia di cartelle Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
45 Bash++ cat concatena e stampa file su schermo less stampa file su schermo con una finestra scorrevole, come la manpage echo stampa il valore di un espressione locate cerca file in un database Il database va aggiornato periodicamente con il comando updatedb find cerca dei file all interno di una gerarchia di cartelle Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
46 Bash++ cat concatena e stampa file su schermo less stampa file su schermo con una finestra scorrevole, come la manpage echo stampa il valore di un espressione locate cerca file in un database Il database va aggiornato periodicamente con il comando updatedb find cerca dei file all interno di una gerarchia di cartelle Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
47 Bash++ cat concatena e stampa file su schermo less stampa file su schermo con una finestra scorrevole, come la manpage echo stampa il valore di un espressione locate cerca file in un database Il database va aggiornato periodicamente con il comando updatedb find cerca dei file all interno di una gerarchia di cartelle Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
48 Standard streams Ogni processo ha almeno 3 canali di comunicazione di default: stdin (0) il canale che di default riceve l input che l utente scrive sul terminale stdout (1) il canale che stampa l output vero e proprio del programma, di default stampa su terminale stderr (2) il canale che stampa gli errori del programma, anche questo di default stampa su terminale Con pipe e redirezioni si possono connettere in vari modi questi canali, creando delle vere e proprie catene di montaggio di comandi bash che permettono di risolvere molti problemi unendo tanti blocchi semplici. Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
49 Standard streams Ogni processo ha almeno 3 canali di comunicazione di default: stdin (0) il canale che di default riceve l input che l utente scrive sul terminale stdout (1) il canale che stampa l output vero e proprio del programma, di default stampa su terminale stderr (2) il canale che stampa gli errori del programma, anche questo di default stampa su terminale Con pipe e redirezioni si possono connettere in vari modi questi canali, creando delle vere e proprie catene di montaggio di comandi bash che permettono di risolvere molti problemi unendo tanti blocchi semplici. Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
50 Standard streams Ogni processo ha almeno 3 canali di comunicazione di default: stdin (0) il canale che di default riceve l input che l utente scrive sul terminale stdout (1) il canale che stampa l output vero e proprio del programma, di default stampa su terminale stderr (2) il canale che stampa gli errori del programma, anche questo di default stampa su terminale Con pipe e redirezioni si possono connettere in vari modi questi canali, creando delle vere e proprie catene di montaggio di comandi bash che permettono di risolvere molti problemi unendo tanti blocchi semplici. Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
51 Standard streams Ogni processo ha almeno 3 canali di comunicazione di default: stdin (0) il canale che di default riceve l input che l utente scrive sul terminale stdout (1) il canale che stampa l output vero e proprio del programma, di default stampa su terminale stderr (2) il canale che stampa gli errori del programma, anche questo di default stampa su terminale Con pipe e redirezioni si possono connettere in vari modi questi canali, creando delle vere e proprie catene di montaggio di comandi bash che permettono di risolvere molti problemi unendo tanti blocchi semplici. Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
52 Standard streams Ogni processo ha almeno 3 canali di comunicazione di default: stdin (0) il canale che di default riceve l input che l utente scrive sul terminale stdout (1) il canale che stampa l output vero e proprio del programma, di default stampa su terminale stderr (2) il canale che stampa gli errori del programma, anche questo di default stampa su terminale Con pipe e redirezioni si possono connettere in vari modi questi canali, creando delle vere e proprie catene di montaggio di comandi bash che permettono di risolvere molti problemi unendo tanti blocchi semplici. Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
53 Redirezione comando < file connette stdin di un processo ad un file comando > file connette stdout di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando 2> file connette stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando &> file connette stdout e stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto Utilizzando > > al posto di > in uno degli ultimi 3 comandi si ottiene lo stesso risultato ma il risultato viene aggiunto al file se esistente comando1 comando2 connette stdout di comando1 a stdin di comando2 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
54 Redirezione comando < file connette stdin di un processo ad un file comando > file connette stdout di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando 2> file connette stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando &> file connette stdout e stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto Utilizzando > > al posto di > in uno degli ultimi 3 comandi si ottiene lo stesso risultato ma il risultato viene aggiunto al file se esistente comando1 comando2 connette stdout di comando1 a stdin di comando2 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
55 Redirezione comando < file connette stdin di un processo ad un file comando > file connette stdout di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando 2> file connette stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando &> file connette stdout e stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto Utilizzando > > al posto di > in uno degli ultimi 3 comandi si ottiene lo stesso risultato ma il risultato viene aggiunto al file se esistente comando1 comando2 connette stdout di comando1 a stdin di comando2 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
56 Redirezione comando < file connette stdin di un processo ad un file comando > file connette stdout di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando 2> file connette stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando &> file connette stdout e stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto Utilizzando > > al posto di > in uno degli ultimi 3 comandi si ottiene lo stesso risultato ma il risultato viene aggiunto al file se esistente comando1 comando2 connette stdout di comando1 a stdin di comando2 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
57 Redirezione comando < file connette stdin di un processo ad un file comando > file connette stdout di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando 2> file connette stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando &> file connette stdout e stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto Utilizzando > > al posto di > in uno degli ultimi 3 comandi si ottiene lo stesso risultato ma il risultato viene aggiunto al file se esistente comando1 comando2 connette stdout di comando1 a stdin di comando2 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
58 Redirezione comando < file connette stdin di un processo ad un file comando > file connette stdout di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando 2> file connette stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto comando &> file connette stdout e stderr di un processo ad un file. Se il file esiste viene cancellato e sovrascritto Utilizzando > > al posto di > in uno degli ultimi 3 comandi si ottiene lo stesso risultato ma il risultato viene aggiunto al file se esistente comando1 comando2 connette stdout di comando1 a stdin di comando2 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
59 Esecuzione condizionale comando1 && comando2 esegue comando2 se e solo se comando1 ha successo (codice di ritorno = 0) comando1 comando2 esegue comando2 se e solo se comando1 fallisce (codice di ritorno 0) Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
60 Esecuzione condizionale comando1 && comando2 esegue comando2 se e solo se comando1 ha successo (codice di ritorno = 0) comando1 comando2 esegue comando2 se e solo se comando1 fallisce (codice di ritorno 0) Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
61 Alcuni filtri cut sort uniq wc tee head e tail grep Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
62 cut Estrae colonne delimitate da un carattere speciale da ogni riga di un file -d specifica il delimitatore (default Tab) -f specifica quale colonna estrarre (one-based) Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
63 sort Ordina le righe di un file -k specifica quali colonne del file usare come chiave per l ordinamento -t specifica il delimitatore tra le colonne (default whitespace) Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
64 uniq Stampa le righe uniche di un file già ordinato -c conta le occorrenze -d mostra solo i duplicati -u mostra solo i non duplicati Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
65 wc Conta righe, parole e caratteri -l mostra solo il numero di righe -w mostra solo il numero di parole -c mostra solo il numero di caratteri Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
66 tee Connette il suo stdin allo stdin di due o più file Utile per mostrare l output di un comando a schermo e darlo come input ad un altro comando Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
67 head e tail head mostra le prime 10 righe di un file, tail le ultime 10 -nx mostra le prime/ultime X righe tail -f permette di tenere d occhio un file a cui vengono continuamente aggiunte righe in coda (ad esempio un log) Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
68 grep Mostra le righe di un file che corrispondono ad un pattern (regular expression 4 ) -v attiva il match invertito (mostra le righe che non corrispondono) -i ricerca case insensitive -c conta i match -l mostra solo i nomi dei file con match -r ricerca ricorsivamente all interno dei file a partire da una cartella -E usa le extended regular expression 4 Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
69 Domande? Demo! Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
70 Domande? Demo! Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
71 Per approfondire Google is your friend Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
72 Last call Domande? Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
73 Goodbye and thanks for all the fish Grazie per l attenzione! Queste slides sono licenziate Creative Commons Attribution-ShareAlike 3.0 Unported Riccardo Binetti Bash e filtri Corsi Linux Avanzati / 31
Uso del terminale in ambiente UNIX
Uso del terminale in ambiente UNIX Non sempre è disponibile un interfaccia grafica sui computer su cui si lavora In questo caso l interazione con il calcolatore avviene attraverso l interfaccia a riga
Esercitazione GNU/Linux n. 2
2.1 Copiare i file cp (copy) Esercitazione GNU/Linux n. 2 cp file1 file2 è il comando che crea una copia del file1 presente nella directory corrente e la chiama file2 Ciò che faremo adesso, è prendere
Linguistica Computazionale: esercitazioni
Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR [email protected] 24 settembre 2014 Linguistica Computazionale:
L interfaccia command line di Ubuntu è il Terminale che usa un sistema command line detto bash.
BASH La maggior parte del lavoro di un bioinformatico si svolge attraverso un interfaccia command line che al contrario dell interfaccia grafica che usiamo ogni giorno, ha bisogno di comandi di testo esatti.
Comandi principali di Linux (1)
Laboratorio I Comandi principali di Linux (1) Sintassi: [comando] [opzioni] [argomenti] ls mostra il contenuto di una director l versione lunga a mostra anche i files nascosti che iniziano con. t presenta
- comando sort: con chiavi di ordinamento -
- comando sort: con chiavi di ordinamento - 1 - sort: chiavi di ordinamento - Tramite l'opzione -k è possibile definire una chiave di ordinamento su una porzione della linea contenuta nel file Specificando
SHELL: File e Filesystem
SHELL: File e Filesystem Obiettivi : - Usare i comandi per muoversi all'interno del filesystem - Copiare, spostare, rinominare file e directory - Usare i link - Visualizzare il contenuto di un file - Conoscere
Lezione 1: Introduzione alla Shell di Unix
Lezione 1: Introduzione alla Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 5 Marzo 2013 Chi è UNIX? UNIX è il nome di una famiglia di sistemi operativi, con diverse implementazioni
La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;
La Shell di Unix La parte del sistema operativo Unix dedita alla gestione dell interazione con l utente è la shell, ovvero, un interfaccia a carattere: l utente impartisce i comandi al sistema digitandoli
Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino
Laboratorio Sistemi Operativi: Linux/Windows Giovanni Da San Martino [email protected] 1 Sistemi operativi Un sistema operativo è insieme di programmi che gestiscono la macchina fisica. Un sistema operativo
Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica
Corso di laurea magistrale in Ingegneria Elettronica Ing. Simone Brienza E-mail: [email protected] Pervasive Computing & Networking Lab () http://www.perlab.it Dipartimento di Ingegneria dell
Lezione 3: Programmazione della Shell di Unix
Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni
Guida Linux. Molto rapida
Guida Linux Molto rapida Due parole sull ambiente grafico Potete usare: KDE o GNOME Si sceglie prima di mettere la password. Questione di gusti GNOME KDE Il filesystem Ora voi siete nella vostra home È
Shell di Linux e Comandi Utente
Shell di Linux e Comandi Utente Sistemi Operativi Roberto Aringhieri DTI Crema - Università degli Studi di Milano Sistemi Operativi - Shell di Linux e Comandi Utente Roberto Aringhieri p.1/23 Outline Accesso
Linux e la shell Bash
DEI DEI-- Politecnico di dibari Linux e la shell Bash Esercitazione conclusiva G. Piscitelli - M. Ruta - A. Cinquepalmi Testi di riferimento: Linux e la shell Bash http://sisinflab.poliba.it/ruta/linux/linux
Usare Python in Linux
26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni
Lab. di Sistemi Operativi - Esercitazione - Comandi Shell
Lab. di Sistemi Operativi - Esercitazione - Comandi Shell 1 - Esercizi Comandi Unix - 2 Esercizio n 0 0a) creare una cartella EsercitazioneLSO-1 nella directory di lavoro 0b) creare un file testo chiamato
Introduzione all'uso del sistema operativo Ubuntu
Introduzione all'uso del sistema operativo Ubuntu Aprire un Terminal. Osservare il prompt dei comandi Una shell è pronta ad interpretare ed eseguire i vostri comandi consentendovi di accedere ai servizi
INTRODUZIONE ALL AMMINISTRAZIONE DI SISTEMA. 2012 Simone D Amico
INTRODUZIONE ALL AMMINISTRAZIONE DI SISTEMA 2012 Simone D Amico CHI É IL SISTEMISTA? Tu vuoi che? Per fare cosa? Davide Bianchi, Storie dalla Sala Macchine DOVERI DI UN SISTEMISTA Setup delle macchine
Shell BASH. Variabili Redirezione
Shell BASH Variabili Redirezione Variabili Scrittura/definizione: a=3 (senza spazi) Lettura: ${a} o semplicemente $a Esempi: > a=3 > echo $a 3 > echo $aa > echo ${a}a 3a > a=ciao pippo bash: pippo: command
Linux - La Shell Bash
DEI DEI -- Politecnico di di Bari Bari Linux - La Shell Bash I link Hard link e soft link Il comando ln Redirezione dell I/O Concatenamento di comandi: la pipeline Visualizzazione ed diting di file Filtri
14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico
Prova Finale. Algoritmi e Strutture Dati 2016 / 2017
Prova Finale Algoritmi e Strutture Dati 2016 / 2017 Agenda 1. Informazioni pratiche sui tutorati 2. Struttura della prova e valutazione 3. Consigli pratici 4. Demo del tool di valutazione 5. Analisi delle
PROGRAMMAZIONE CONSUNTIVA Codice Mod. RQ 23.2 Pag 1/5. Sistemi e Reti (articolazione Telecomunicazione) Classe
I.T.C.S. ERASMO DA ROTTERDAM Liceo Artistico indirizzo Grafica - Liceo delle Scienze Umane opz. Economico sociale ITI Informatica e telecomunicazioni - ITI Costruzioni, ambiente e territorio Edile Elettronico
Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013
Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013 Comandi di ricerca 1 Sommario Comandi shell di ricerca: grep find 2 - comando di ricerca: grep - 3 file passwd, ricordiamo che Le righe di
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Installiamo un programma Ci sono vari gestori dei pacchetti. ossia esistono vari programmi che servono a installare un singolo pacchetto in Installiamo
Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp)
Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp) Malvina Nissim [email protected] 1 Aprile 2009 1 ssh gollum.sitlec.unibo.it login passwd cqp 1 Cercare e contare 1.1 Contare
Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set
PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il
Il software del PC. Il BIOS
Il software del PC La parola software è un neologismo che è stato coniato in contrapposizione all hardware (ferraglia). L hardware si può prendere a calci, contro il software si può solo imprecare. Il
Il terminale per tutti
Il terminale per tutti un introduzione all uso della shell su Linux Simone Capodicasa [email protected] Linux Day Torino 26 ottobre 2013 S. Capodicasa Il terminale per tutti 1/42 Indice Introduzione
Esercitazione 2 GUIDA
Corso di Laurea in Biologia Molecolare, Università di Padova Insegnamento di Informatica e Bioinformatica Esercitazione 2 Padova, 13 aprile 2016 GUIDA Uso della shell Unix Obbiettivo dell'esercitazione
GNU/Linux Concetti di base
GNU/Linux Concetti di base Sommario GNU/Linux Open Source e GPL Login/Logout Shell e comandi Files Stdin, stdout Redirezione e pipe Filesystem 2 Cos'è Linux Linux è basato su UNIX (filosofia, comandi,
GNU/Linux Concetti di base
GNU/Linux Concetti di base Sommario GNU/Linux Open Source e GPL Login/Logout Shell e comandi Files Stdin, stdout Redirezione e pipe Filesystem 2 Cos'è Linux Linux è basato su UNIX (filosofia, comandi,
Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Domenico De Guglielmo. 2008 Vanessa Gardellin & Sara Lioba Volpi
Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica Ing. Domenico De Guglielmo 2008 Vanessa Gardellin & Sara Lioba Volpi Informazioni Generali (1/2) Ricevimento su appuntamento (tramite
Esempio 1. Creare uno script (file comandi) che abbia la sintassi:
Esempi shell 1 Esempio 1 Creare uno script (file comandi) che abbia la sintassi:./ps_monitor.sh [N] Lo script: in caso di assenza dell argomento, deve mostrare i processi di tu@ gli utena (compresi quelli
Lavorare in ambiente UNIX. Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks
Lavorare in ambiente UNIX Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks Prompt ' ' (spazio) è il separatore standard Comando interno/esterno file eseguibile
Introduzione alla. Alessandra Giordani [email protected] Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1
Introduzione alla Shell di UNIX Alessandra Giordani [email protected] Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche,
NOTE PER UTILIZZO COMPILATORE FORTRAN CON LINUX
NOTE PER UTILIZZO COMPILATORE FORTRAN CON LINUX Queste pagine sono estratte dalle note del corso "Abilità Informatiche: Introduzione a Unix", Alessandra Seghini Per stampare questo documento si consiglia
NOZIONI BASE PER ESERCITAZIONI
NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi
01 Terminale e file system
01 Terminale e file system Danilo Pianini IFTS Alma Mater Studiorum Università di Bologna, Cesena 12 gennaio 2017 Pianini (Università di Bologna) Terminale e FS 12 gennaio 2017 1 / 11 Outline 1 Il file
COMANDI RAPIDI Tastiera italiana QWERTY
COMANDI RAPIDI Tastiera italiana QWERTY QWERTY: Nome usato comunemente per indicare la disposizione standard dei caratteri sulla tastiera. Il nome deriva dalla combinazione dei primi sei caratteri nella
Il sistema operativo LINUX Esercitazione 3. Esercizio 1. Esercizio 2. Esercizio 5 - Soluzione. Il sistema operativo LINUX Esercitazione 4.
Il sistema operativo LINUX Esercitazione 3 Esercizio 1 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Mostrare una lista
Utilizzo di putty. L uso base e molto semplice: richiede solo di specificare:
Utilizzo di putty Client ssh liberamente utilizzabile (www.chiark.greenend.org.uk/~sgtatham/putty/download.html) Tra le molte opzioni di configurazione di putty sono utili: Window - Translation: per selezionare
Il sistema operativo LINUX Script di Shell
Il sistema operativo LINUX Script di Shell Giorgio Di Natale Stefano Di Carlo Bartolomeo Montrucchio Politecnico di Torino Dip. Automatica e
Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando
Eclipse: Cos è? Utilizzare Eclipse: Creare un progetto Creare file sorgenti nel progetto Compilare Lanciare il programma Strumenti alternativi agli IDE La linea di comando su Linux Esplorare e modificare
I comandi del DOS. Come si fornisce un comando al DOS
I comandi del DOS I comandi sono programmi eseguibili e si distinguono in: Comandi interni: sono permanentemente residenti nella memoria centrale del computer Comandi esterni: si trovano normalmente su
Bioinformatica II. Esercitazione 2 GUIDA
Bioinformatica II LM Biologia Evoluzionistica, Università di Padova Docenti: Dr. Giorgio Valle, Dr. Stefania Bortoluzzi Esercitazione 2 Padova, 14 novembre 2014 GUIDA Uso avanzato della shell Unix Obbiettivo
Sistema operativo Linux Ubuntu
Sistema operativo Linux Ubuntu Avvio e arresto del sistema Attività operative Dopo aver premuto il tasto di accensione del computer, il sistema operativo viene caricato. L immagine che compare sullo schermo
INTRODUZIONE A WORD CHE COS E WORD AVVIARE E CHIUDERE WORD INTERFACCIA UTENTE DI WORD
INTRODUZIONE A WORD CHE COS E WORD Word è il software che consente di creare documenti testuali utilizzando un computer. Consente anche di inserire nel documento oggetti come: Fotografie Immagini Disegni
