Esercitazione Introduttiva



Esercizi sulla bash

Lo scopo di questa esercitazione è di prender confidenza con i comandi elementari di UNIX/Linux e con i primi meccanismi della shell introdotti a lezione. Ricordate che il materiale su UNIX e la shell presentato a lezione è sempre in linea...

  • [I1] Trovare l'opzione del comando dirs che permette di stampare il pathname assoluto della directory corrente.

  • [I2] Usare il comando which gcc per scoprire il cammino assoluto della cartella bin contenente gli eseguibili (file binari) della versione di C installata correntemente sul vostro calcolatore. Visualizzare i file della cartella trovata in modo da ottenere una lista dei nomi di file separati da virgola e ordinati in base alla data di ultima modifica.
    Suggerimenti.
    • Si cerchino due opportune opzioni del comando ls usando l'opzione --help oppure il comando man ls (la virgola da usare come separatore si chiama comma in inglese, mentre la data di ultima modifica si chiama modification time).
    • Evitare di scrivere da tastiera path complessi: usare la possibilità di copiare e incollare testo tra diverse applicazioni usando il mouse.
  • [I3] La home directory di un utente (es. gadducci) si può indicare componendo l'account con il simbolo tilde (es. ~gadducci). Creare la directory txtEs00 nella propria home directory, e copiarci dentro tutti i file e le directory che sono contenuti nella directory txtEs00 dell'utente gadducci.
    Suggerimento. Si cerchi una opportuna opzione del comando cp e si usi un metacarattere per selezionare tutti i file di una directory.

    Attenzione. Alcuni degli esercizi che seguono utilizzano la directory txtEs00: se non siete sicuri di averla creata e riempita in modo corretto, chiamare il docente o scaricarla zippata qui.

  • [I4] Scrivere un comando che elenchi tutti i file contenuti nella directory txtEs00 e ricorsivamente in tutte le sue sottodirectory. Il comando deve funzionare correttamente qualunque sia la directory corrente.
    Suggerimento. Per la stampa ricorsiva, si cerchi una opportuna opzione del comando ls.
  • [I5] Scrivere i comandi per
    • Stampare le prime quindici righe del file ugolino della directory txtEs00.
    • Stampare in ordine lessicografico le prime quindici righe dello stesso file.
    • Stampare le prime quindici righe dello stesso file, dopo averlo ordinato.
    Suggerimento: Usare una pipeline per concatenare comandi. L'espressione comando1 | comando2 fornisce come input a comando2 il risultato di comando1.
  • [I6] Visualizzare in ordine lessicografico inverso tutte le parole contenute nel file /usr/share/dict/words che contengono la stringa "pine".
    Suggerimento: usare una pipeline che visualizza il contenuto del file, filtra le righe che contengono "pine", e le ordina in ordine inverso usando sort con una opportuna opzione.
  • [I7] Scrivere un comando che stampi il numero di parole in /usr/share/dict/words che contengono la stringa "alla".