Strumenti Utente

Strumenti Sito


fisica:informatica:201718:esercitazioni:esercitazione1

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 (ovvero rendere la cartella appena creata la vostra directory corrente);
  • Creare due sottocartelle sorgente e, come sottolivello, destinazione (destinazione sarà una sottodirectory di sorgente);
  • Creare nella cartella sorgente un file di nome esempio.txt.
  • - Su Linux utilizzate l'editore gedit, col comando
gedit esempio.txt
  • - Su altri sistemi (WSL, MacOS) utilizzate il vostro editor preferito, oppure nano col comando
nano esempio.txt

e scrivere all’interno del file la riga

contenuto_1
  • Controllare da shell il percorso assoluto (path assoluto) della cartella corrente (sorgente) e scriverlo (con ridirezione append ») nel file appena creato

Esercizio 2

  • Posizionatevi (se non ci siete già) all’interno della cartella sorgente (ovvero rendete la cartella sorgente la vostra directory corrente)
  • Cancellate il file esempio.txt creato durante l’esercizio 1 precedente
  • Create un nuovo file di testo lista1.txt (sempre usando gedit) 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 (mv) il file lista1.txt dalla cartella sorgente alla cartella destinazione;
  • Copiate (cp) 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 il contenuto dei due file contenuti nella directory corrente nel nuovo file lista3.txt e visualizzate il risultato. Il file lista3.txt dovrà contenere tutto il contenuto del primo file seguito da tutto il contenuto del secondo file.

Esercizio 4

  • Posizionandovi nella vostra home directory;
  • Create una nuova sottodirectory chiamata num_utili
  • Posizionatevi in num_utili e copiateci il file 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 i vari comandi indicati nei lucidi per questo scopo: ad esempio cat, more e less)
  • Create un nuovo archivio compresso che contenga il file modificato “rubrica.txt” con il comando
tar cvf rubrica.tar rubrica.txt
  • Controllate che l'archivio contenga correttamente il file con
tar tvf rubrica.tar
  • Utilizzate il comando man per esplorare la pagina di manuali online per il comando tar
man tar

Esercizio 5

  • Utilizzate i manuali online per capire come funziona il comando sort
  • Utilizzate il comando sort per ordinare 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 usando il comando head (controllate sul manuale come si fa …)
  • 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 head e tail e la 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 ?
  • Usando il 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). Cosa è successo ?
  • Usare il comando fg per riattivare il comando. Terminarlo di nuovo con CTRL-C
  • Riattivare e bloccare di nuovo il comando con CTRL-Z
  • Dare adesso il comando bg. Questo vi permette di riattivare l'esecuzione riottenedo il prompt della shell per inviare contemporaneamente altri comandi. L'esecuzione del comando in questo caso è detta esecuzione in background attivandone poi l'esecuzione in background.

Esercizio 9

Utilizzare l'esecuzione in background per attivare contemporaneamente stessa shell la finestra dell'editore gedit e il prompt per inviare nuovi comando con

gedit &

questo sarà utile per non chiudere la finestra di editing del programma fra una compilazione e l'altra

fisica/informatica/201718/esercitazioni/esercitazione1.txt · Ultima modifica: 15/01/2020 alle 17:20 (6 mesi fa) da Alessio Conte