Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio15:esercitazionib:esercitazione4

Esercitazione 4

Dove si sperimentano alcuni comandi di base bash.

Esercizio -1: Basics interazione utente

Seguire i lucidi della prima parte bash e provare i comandi negli esempi mostrati a lezione. Carcare di diminuire i tempi di battitura dei comandi sfruttando il meccanismo di history, il completamento (TAB) e l'editing di linea.

Esercizio 0: man, cat, grep, sort

Utilizzare cat per creare un file di nome lyrics che contiene la canzone del non compleanno di Alice nel Paese delle meraviglie:

Statistics prove, prove that you've one birthday,
one birthday ev'ry year.
But there are three hundred and sixty four
unbirthdays.
That is why we're gathered here to cheer.
A very merry unbirthday to you, to you.
A very merry unbirthday to you,
It's great to drink to someone and I guess that you will do.
A very merry unbirthday to you

con grep e sort selezionare tutte le linee che contengono esattamente la parola one (non come sottostringa di una parola data), ordinarle lessicograficamente e farle sampare sullo standard output (usare sort).

Utilizzare le opzioni di grep (vedi man grep) per stampare il numero di linea in cui e' stata trovata un'occorrenza come in:

1:Statistics prove, prove that you've one birthday
2:one birthday ev'ry year.

e poi sempre con grep stampare tutte le linee che non contengono la parola merry in ordine lessicografico case-unsensitive, cioe' :

But there are three hundred and sixty four
It's great to drink to someone and I guess that you will do.
one birthday ev'ry year.
Statistics prove, prove that you've one birthday,
That is why we're gathered here to cheer.
unbirthdays.

Approfondimenti:

  • Usare fgrep invece di grep e confrontare il tempo impiegato dai due comandi in modalita' utente e kernel usando la time.
  • Controllare le chiamate di sistema effettuate dai vari comandi con strace

Esercizio 1: Trasformismo

Trasformare il file lyrics dell'esercizio precedente nel file LYRICS in cui tutte le lettere minuscole sono state trasformate in lettere maiuscole.

Esercizio 2: Trovare i file non acceduti negli ultimi 30 giorni

Scrivere un pipeline di comandi che lista tutti i file che non sono stati acceduti negli ultimi 30 giorni nella gerarchia di directory radicata nella directory corrente. (Suggerimento: usare find)

Esercizio 3: prettyPATH

Stampare su standard output tutte le directory in $PATH separate da newline.

Esercizio 4: Personalizzare il prompt

Personalizzare il prompt della shell in modo da stampare utente, tipi di shell, working directory etc.. (man bash, cercare PROMPTING)

Esercizio 5: Aliasing

Definire i seguenti alias per la propria shell:

  • cp come alias di cp -i
  • mv come alias di mv -i
  • rm come alias di rm -i
  • cercaErimuovi che effettua la rimozione di tutti i file che terminano per ~ nella gerarchia di directory radicata nella directory corrente
  • bye che effettua l'uscita dalla shell

Fare in modo che gli alias vengano registrati automaticamente ogni volta che una shell viene attivata.(Suggerimento: man bash cercare bashrc)

Esercizio 6: ????

Sapete interpretare il risultato del seguente comando?

 ls -l /proc/$$/fd

Esercizio 7: Magic files and numbers

Utilizzare file per stabilire il tipo dei file che si trovano nella vostra home. file lavora controllando i magic numbers in /usr/share/file/magic, esplorando questo file riuscite a ritrovare il tipo dei file visitati?

Approfondimenti: Come si potrebbe aggiungere un nuovo tipo riconoscibile da file?

informatica/sol/laboratorio15/esercitazionib/esercitazione4.txt · Ultima modifica: 16/03/2015 alle 08:00 (9 anni fa) da Susanna Pelagatti