====== Esercitazione 1 ====== Dove si inizia ad interagire con la shell. ===== Esercizio 1 ===== * A partire dalla vostra home directory, creare una cartella ''temp''; * Entrare nella cartella appena creata; * Creare due sottocartelle ''sorgente'' e, come sottolivello, ''destinazione'' (destinazione sarà una sottodirectory di ''sorgente''); * Creare nella cartella sorgente un file di nome ''esempio.txt''; * Editare il file con ''gedit'' : da shell digitare gedit esempio.txt e scrivere all’interno del file la riga contenuto_1 (da shell digitare gedit esempio.txt) * Controllare da shell il percorso assoluto (path assoluto) della cartella corrente (sorgente) e scriverlo (con ridirezione append ''>>'') nel file. ===== Esercizio 2 ===== * Posizionatevi (se non ci siete già) all’interno della cartella ''sorgente'' * Cancellate il file ''esempio.txt'' creato durante l’esercizio 1 precedente * Create un nuovo file di testo ''lista1.txt'' ed inserite all’interno 5 nomi di amici; * Create un nuovo file di test ''lista2.txt'' ed inserite all’interno 5 nomi di amici; * Spostate il file ''lista1.tx''t dalla cartella sorgente alla cartella destinazione; * Copiate il file ''lista2.txt'' dalla cartella sorgente alla cartella destinazione. ===== Esercizio 3 ===== * Posizionatevi all’interno della cartella ''destinazione''; * Visualizzate tutti i file contenuti nella //directory corrente//; * Concatenare i due file contenuti nella directory nel nuovo file ''lista3.txt'' e visualizzate il risultato. ===== Esercizio 4 ===== * Posizionandovi nella vostra home directory; * Create una nuova sottodirectory chiamata ''num_utili'' * Posizionatevi in ''num_utili'' e copiateci il file {{:fisica:informatica:201415:esercitazioni:rubrica.tar|rubrica.tar}} * scompattate il file ''rubrica.tar'' con il comando tar xvf rubrica.tar il comando estrae un file di testo chiamato "rubrica.txt" * Editate il file ''rubrica.txt'' con gedit in modo da cancellare tutte le righe che non contengono informazioni utili (es. righe vuote, righe di asterischi,...); * Stampate a video il contenuto del file "rubrica.txt" risultante (Provate ad usare tutti e tre i comandi a vostra disposizione per questo: ''pg'', ''more'' e ''less'') * Create un nuovo archivio compresso che contenga il file "rubrica.txt" con il comando tar cvf rubrica.tar rubrica.txt * Controllate che l'archivio contenga correttamente il file con tar tvf rubrica.tar ===== Esercizio 5 ===== * Ordinate lessicograficamente il file ''rubrica.txt'' dell’esercizio precedente salvando il suo contenuto nel file ''rubricaOrd.txt'' * Visualizzate le prime 5 linee del file appena creato * Create un nuovo file ''rubrica1.txt'' che contiene le prime 5 linee di ''rubricaOrd.txt'' seguite dalle ultime 5 linee dello stesso file usando i comandi di ridirezione ===== Esercizio 6 ===== * Comprimete il file ''rubrica1.txt'' dell’esercizio precedente usando il comando ''gzip'' Controllate se il comando ha creato un nuovo file. Dov’è il file originale? * Visualizzate le informazioni del file compresso usando il comando ''file'' * e' possibile visualizzare il contenuto del file compresso ? * Decomprimete il file compresso usando il comando ''gunzip'' * Che cosa fa il comando: grep perino rubricaOrd.txt e grep perino rubricaOrd.txt | wc -l ? ===== Esercizio 7 ===== * Leggete la pagina del manuale relativa ai comandi ''whoami'', ''du'' e ''df'': Cosa fanno questi comandi? * Andate nella vostra home e lanciate du -hd 1 Cosa significano le opzioni ''-h'' e ''-d''? Cosa è ''1'' in questo caso? * Leggete la pagina del manuale relativa al comando ''cal''. Cosa fa questo comando? A cosa serve l'opzione ''-m'' ? * Visualizzate la pagina del manuale del comando ''tar'' utilizzato nell'esercizio 4 * create l'archivio compresso ''rrr.tar.gz'' contenente i file ''rubrica.txt'', ''rubrica1.txt'' e ''rubricaOrd.txt'' dell’esercizio 5. ===== Esercizio 8 ===== Eseguire il comando (for((i==0;i<1000;i++)) do echo "Fermami se ci riesci" ; sleep 1; done) questo stampera' per 1000 volte la frase //Fermami se ci riesci// senza restituire il prompt. * Interrompere l'esecuzione del comando in modo da riottenere il prompt dopo due stampe. * Riattivare il comando e bloccarlo temporaneamente (CTRL-Z) attivandone poi l'esecuzione in background. Cosa succede se eseguo adesso il comando ''jobs'' ? * Riportare l'esecuzione in foregroud e terminare il comando.