User Tools

Site Tools


its:gnu-linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
its:gnu-linux [2024/04/25 05:43] – Challenge per il 30 aprile e il tema bash ferodaits:gnu-linux [2024/04/25 06:00] (current) – [Lezione 4 - 30 aprile 2024] - elencati argomenti bash feroda
Line 74: Line 74:
  
   * Rispolveriamo la pipe ''|'' e le pipeline (sequenze di comandi separati dalla pipe) utilizzati per comporre articolati comandi da una riga di shell (di solito la bash e per questo detti ''oneliner bash'' o più sinteticamente ''oneliner'')   * Rispolveriamo la pipe ''|'' e le pipeline (sequenze di comandi separati dalla pipe) utilizzati per comporre articolati comandi da una riga di shell (di solito la bash e per questo detti ''oneliner bash'' o più sinteticamente ''oneliner'')
-  * Dopo l'esercitazione successiva parleremo della ''bash''+  * Dopo l'esercitazione, ripasseremo velocemente FHS  
 +  * Poi continueremo con 2 parole sulla ''bash'' e altri comandi base: 
 +    * Command substitution ''$()'' (o ''`'', ma meglio la forma con il ''$''
 +    * ''awk'' come ''cut'' superpotenziato: https://stackoverflow.com/a/36211753/720743 
 +    * ''sed'' come arma letale per processare le righe dello standard input o di uno o più files 
 +    * Cicli in Bash
  
 +==== Esercitazione ====
  
 **Scenario**: Il prof ha esportato 1,3TB di posta elettronica da un server ad un altro via IMAP. Il formato di destinazione è il classico "Maildir" in cui le cartelle che appaiono sul client di posta elettronica sono esattamente cartelle sul filesystem all'interno di una directory "Maildir". **Scenario**: Il prof ha esportato 1,3TB di posta elettronica da un server ad un altro via IMAP. Il formato di destinazione è il classico "Maildir" in cui le cartelle che appaiono sul client di posta elettronica sono esattamente cartelle sul filesystem all'interno di una directory "Maildir".
Line 82: Line 88:
  
 <code> <code>
-root@new-mail:/home/ced# watch -n10 "du -sh Maildir/.MailStore\ Export*" +root@new-mail:/home/ced# watch -n10 "du -sh Maildir/.MailSt*" 
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*"                                                                                                                      +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*"                                                                                                                      
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | grep G"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | grep G"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail | grep G"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | tail | grep G"  
-root@new-mail:/home/ced# watch -n300 "du -sch Maildir/.MailStore\ Export* | tail "  +root@new-mail:/home/ced# watch -n300 "du -sch Maildir/.MailSt* | tail "  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail -n30 | grep Posta"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | tail -n30 | grep Posta"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail -n20 | grep Posta"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | tail -n20 | grep Posta"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | tail -n20"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | tail -n20"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | sort -n tail -n20"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | sort -n tail -n20"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | sort -n | tail -n20"  +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | sort -n | tail -n20"  
-root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | grep G | sort -n | tail -n20" +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | grep G | sort -n | tail -n20" 
 </code> </code>
  
-**Suggerimento**: se ti trovi in difficoltà per comandi o opzioni usa il ''man'' oppure esegui il comando con ''-h'' (o ''--help''). Se proprio non riesci a sbloccarti fai una ricerca web, ma a questo punto è meglio se chiedi a ChatGPT o Copilot, perché almeno ti possono chiarire la situazione. Tuttavia non farlo, se vuoi imparare a cavartela da solo, prima di aver provato con il ''man'' o il ''-h''.+Nota: alcune righe potrebbero non aver dato il risultato sperato, per questo sono state rilanciate in modo più opportuno. 
 + 
 +**Suggerimento banale se ti trovi in difficoltà su comandi o opzioni**: usa il ''man'' oppure esegui il comando con ''-h'' (o ''--help''). Se proprio non riesci a sbloccarti fai una ricerca web, ma a questo punto è meglio se chiedi a ChatGPT o Copilot, perché almeno ti possono chiarire la situazione. Tuttavia non farlo, se vuoi imparare a cavartela da solo, prima di aver provato con il ''man'' o il ''-h''.
  
 ===== Lezione 3 - 23 aprile 2024 ===== ===== Lezione 3 - 23 aprile 2024 =====
its/gnu-linux.txt · Last modified: 2024/04/25 06:00 by feroda