Exercice Unix: script Shell – backup – poubelle – commande – trash – find

[tab name=’♣ Exercice Unix’]

Exercice 1: Backup

  1. En utilisant la commande find, créez une commande save_backup vous permettant de copier tous les fichiers de votre home directory dont le nom se termine par un ~ dans un répertoire ~/Backup. Vous ne devez pas toucher aux fichiers se trouvant déjà dans ~/Backup.
    Il serait judicieux de commencer par afficher ces programmes.

Exercice 2: Poubelle – commande trash

L’objectif de cet exercice est de créer une commande trash qui déplacera les fichiers dans un répertoire poubelle au lieu de les effacer.

  1. Créez un répertoire ~/Poubelle.
  2. Créez un fichier trash ayant pour première ligne #!/bin/bash contenant la suite de commandes nécessaire pour déplacer tous les fichiers passés en argument sur la ligne de commande dans le répertoire ~/Poubelle. On utilisera une boucle for et $*. On tapera par exemple : trash *~ pour effacer tous les fichiers se terminant par le tilde.
  3. Ajouter une option -c à la commande telle que trash -c affiche la taille du contenu du répertoire poubelle. On utilisera la commande du -sk (cf. man).
  4. Ajouter une option -e permettant de vider le contenu de la poubelle.
  5. Ajouter une option -h affichant une aide analogue à celle de cp -h. On utilisera
  6. cat <<EOF
  7. Créez le répertoire ~/bin/. Ajoutez le dans votre $PATH copiez-y votre programme et ajoutez les droits en exécution au programme. Pourquoi fait-on cela ?

 

[/tab][tab name=’Correction’]

Exercice 1:

#!/bin/bash
FILES=`find ~ -name '*~' -type f | grep -v Backup`
mv -vi $FILES ~/Backup

Exercice 2:

#!/bin/bash
if [ -z $1 ] 
then
cat <<EOF 
Usage : trash [-h|-e|-c] [fichier1 ... fichiern]
EOF
exit 0
fi
if [ $1 = '-h' ]
then
cat <<EOF
Usage : trash [-h|-e|-c] [fichier1 ... fichiern]
EO
exit 0
fi
if [ $1 = '-c' ]
then
du -sk ~/Poubelle
exit 0
fi
if [ $1 = '-e' ]
then
rm -rf ~/Poubelle/*
exit 0
fi
for I in $*
do
mv $I ~/Poubelle
done

Exercice informatique, Correction exercice, Télécharger Exercice, Solution exercice, Exercice Unix

[/tab][end_tabset skin= »lightness » ]

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *