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".