Esercizio 1: dalla propria home digitare i seguenti comandi: > echo $SHELL (deve stampare "/bin/bash", altrimenti eseguire il seguente comando) > bash > echo $PATH (il formato utilizzato per indicare i path è dato dai path assoluti della directory nelle quale la shell cerca il comando, separate dai “:”. La ricerca viene effettuata nell'ordine delle directory contenute nella variabile PATH) > PATH=$PATH:~/so_es1/bin chiudere la shell e riaprirne un'altra: la differenza è dovuta al fatto che la variabile PATH non contiene più la directory che era stata aggiunta nei punti precedenti poiché le variabili sono locali a ogni shell. editare con un qualsiasi editor di teso il file "~/.bashrc" e scrivere in fondo al file: PATH=$PATH:~/so_es1/bin (oppure da shell usare il seguente comando) > 'PATH=$PATH:~/so_es1/bin' >> ~/.bashrc editare nuovamente il file di configurazione "~/.bashrc" e scrivere in fondo al file: alias vi='vim' Esercizio 2: Aprire il file Makefile con un editor di testo ed inserire al fondo le seguenti linee: install: mv ~/so_es1/src/my_head ~/so_es1/bin mv ~/so_es1/src/my_loop ~/so_es1/bin distclean: clean rm -f ~/so_es1/bin/* al posto del target install suddetto si puo` anche usare, anzi e` meglio: install: find ~/so_es1/src -type f -executable -exec mv \{} ~/so_es1/bin \; spostarsi nella directory 'src' ed eseguire: > make my_head > make install Esercizio 3: 1. scrivere il programma C 'my_loop.c' nella directory 'src'. compilare il programma e spostarlo nella directory 'bin' con i seguenti comandi: > gcc -Wall -o my_loop my_loop.c (o tramite il Makefile) > mv my_loop ../bin spostarsi nella directory test ed eseguire: > my_loop 1500 aprire un'altra shell ed eseguire: > ps -e | grep my_loop leggere il primo numero della riga (che chiamiamo successivamente 'pid') > kill -9 'pid' nella prima shell eseguire: > my_loop & \ my_loop & \ my_loop & \ my_loop & \ my_loop & \ my_loop & \ my_loop & \ my_loop & \ my_loop & \ my_loop & nella nuova shell eseguire: > killall -9 my_loop 2. chiudendo preventivamente tutte le istanze di firefox (o del browser scelto) ed eseguire: > firefox > CTRL+Z dopo aver verificato che il browser e` bloccato e non si puo` utilizzare, eseguire: > jobs (verificare il 'job-id' del browser eseguito) > fg 'job-id' per rilanciare il processo in background, eseguire: > firefox & Esercizio 4: 1. dalla directory test digitare i seguenti comandi: > echo $(($RANDOM%128)) editare con un qualsiasi editor di testi il file 'my_rand.sh' inserendo le seguenti due linee: #!/bin/bash echo $(($RANDOM%256)) > $1 poi eseguire: > chmod 700 my_rand.sh (per rendere lo script eseguibile) > mv my_rand.sh script > ./script/my_rand.sh prova1.txt > touch individuo{0..49} > find . -name "individuo*" -exec ./script/my_rand.sh \{} \; 2. dalla directory so_es1 digitare i seguenti comandi: > mkdir backup > mkdir "`date`"_dir > find . \( -name "*.c" -o -name Makefile -o -name "*.sh" \) -exec cp \{} backup \; editare con un qualsiasi editor di testi il file 'my_backup.sh' inserendo le seguenti linee: #!/bin/bash find ~/so_es1 \( -name "*.c" -o -name Makefile -o -name "*.sh" \) -exec cp \{} ~/so_es1/backup \; eseguire poi: > chmod 700 my_backup.sh (per rendere lo script eseguibile)