Both sides previous revisionPrevious revisionNext revision | Previous revision |
its:gnu-linux [2024/04/23 08:15] – [Lezione 3 - 23 aprile 2024] - suddivisi i comandi dalla shell feroda | its:gnu-linux [2024/04/25 06:00] (current) – [Lezione 4 - 30 aprile 2024] - elencati argomenti bash feroda |
---|
^ Secure Shell | OpenSSH | ssh | 22 | ssh | sshd | openssh-client | openssh-server | | ^ Secure Shell | OpenSSH | ssh | 22 | ssh | sshd | openssh-client | openssh-server | |
^ Remote Desktop | Connessione Remota Windows | rdp | 3389 | rdesktop/xfreerdp | xrdp | rdesktop/xfreerdp | xrdp | | ^ Remote Desktop | Connessione Remota Windows | rdp | 3389 | rdesktop/xfreerdp | xrdp | rdesktop/xfreerdp | xrdp | |
| ^ IMAPs | Consultazione Email (sicuro) | imaps | 993 | thunderbird/mutt | dovecot | thunderbird (snap) | dovecot-imapd | |
| ^ <del>IMAP</del> | Consultazione Email (insicuro) | imap | 143 | ::: | ::: | ::: | ::: | |
| |
| ===== Lezione 4 - 30 aprile 2024 ===== |
| |
| * 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, 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". |
| |
| Riusciresti a dire cosa voleva monitorare il prof. (comando ''watch'' da esaminare alla fine dell'esercizio) con la sequenza di comandi (o meglio pipeline) che progressivamente ha raffinato qui si seguito tra virgolette? |
| |
| <code> |
| root@new-mail:/home/ced# watch -n10 "du -sh Maildir/.MailSt*" |
| root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*" |
| root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*" |
| root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | 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/.MailSt* | tail " |
| 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/.MailSt* | tail -n20 | grep Posta" |
| root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | 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/.MailSt*Posta* | sort -n | tail -n20" |
| root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | grep G | sort -n | tail -n20" |
| </code> |
| |
| 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 ===== |
| |
Il prof cre la macchina Ubuntu2 | Il prof crea la macchina Ubuntu2 |
| |
- Accesso in ssh alla macchina Ubuntu2 | - Accesso in ssh alla macchina Ubuntu2 |