Un corso pratico che introduce i ragazzi al mondo Linux e al terminale. Gli studenti imparano comandi base, gestione di file e permessi, installazione software e nozioni di sicurezza, fino a creare script personalizzati o mini-server da usare come progetto finale.
Panoramica su kernel, distribuzioni e software libero.
Capire la filosofia open source.
Confronto tra Ubuntu, Debian, Fedora e altre.
Saper scegliere una distro.
Differenze su file system, permessi e gestione software.
Orientarsi da altri OS.
Procedura pratica con ISO, VM e microSD.
Installare e avviare Linux.
Strumenti essenziali per muoversi nel file system e leggere contenuti di cartelle e percorsi.
Navigare da riga di comando con sicurezza.
Comprendere /, ~ e .. per spostarsi velocemente; suggerimenti su tab-completion e history.
Usare percorsi in modo efficace.
Pulizia schermo, documentazione integrata e alias utili per velocizzare i comandi frequenti.
Consultare manuali e creare scorciatoie.
Mappa del tuo sistema con comandi base: percorsi visitati, liste file e note di navigazione.
Raccogliere info di sistema via shell.
touch, cp, mv, rm e mkdir/rmdir: gestione pratica di file e cartelle in scenari reali.
Gestire file system in autonomia.
Lettura dei permessi rwx, proprietà e gruppi; differenze tra utente normale e root.
Interpretare permessi e ownership.
Modifica dei permessi in forma simbolica e ottale; cambio proprietà e casi d’uso comuni.
Applicare permessi corretti ai file.
Creazione di un’area privata con permessi mirati per proteggere documenti sensibili.
Impostare protezioni di base efficaci.
Apertura, salvataggio, ricerca e comandi rapidi negli editor base da terminale e GUI.
Modificare file in modo rapido e sicuro.
Shebang, esecuzione e permessi; variabili, echo e semplici input da tastiera.
Automatizzare task con piccoli script.
chmod +x, path e errori comuni; tecniche base di stampa e tracing per capire i problemi.
Eseguire e correggere script Bash.
Script interattivo che saluta l’utente, legge il nome e registra l’accesso su file.
Creare script utili e riutilizzabili.
Verifica connettività, lettura indirizzi e diagnostica rapida della scheda di rete.
Controllare e testare la connessione.
Risoluzione nomi, ping/trace, file hosts e problemi tipici di rete domestica.
Diagnosticare errori comuni di rete.
Richieste HTTP, salvataggio file e user-agent; quando preferire wget o curl.
Scaricare risorse via riga di comando.
Script che scarica e archivia immagini in cartelle ordinate per data o tag.
Automatizzare download e archiviazione.
Repository, update/upgrade, install e remove; ricerca pacchetti con apt e dpkg -l.
Gestire software con APT in modo sicuro.
Formati pacchetto moderni, pro e contro; quando usarli e come tenerli aggiornati.
Valutare alternative di distribuzione app.
Autoremove, cache e spazio disco; buone pratiche per un sistema ordinato e stabile.
Mantenere il sistema leggero e pulito.
Ricerca, installazione e test di un’app reale con documentazione e scorciatoie.
Installare e verificare nuove app.
Creazione utenti, appartenenze ai gruppi e privilegi elevati con sudo in sicurezza.
Gestire privilegi e accessi corretti.
Archiviazione, compressione e restore; esclusioni e naming per backup ordinati.
Creare e ripristinare backup affidabili.
Regole essenziali con ufw e importanza degli update di sistema e sicurezza.
Ridurre la superficie d’attacco del PC.
Script + cron per salvare cartelle chiave su archivio locale con log delle esecuzioni.
Pianificare salvataggi sicuri e regolari.
Scelta del progetto: specifiche minime, tecnologie usate e piano di lavoro in step.
Definire obiettivi concreti e MVP.
Implementazione guidata: script, permessi, servizi e interfaccia minimal.
Integrare quanto appreso nei moduli.
Verifiche funzionali, gestione errori e ottimizzazioni prima della consegna.
Portare il progetto a stato stabile.
Demo finale, documentazione rapida e consigli per pubblicare o mantenere il progetto.
Presentare e documentare in modo chiaro.
