Exercices script Shell unix - backup - poubelle - commande - trash - find

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.

Correction :

#!/bin/bash
FILES=`find ~ -name '*~' -type f | grep -v Backup`
mv -vi $FILES ~/Backup
{sidebar id=6}{sidebar id=1}

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
  1. cat
  1. 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 ?


Correction :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/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
 
Article publié le 10 Septembre 2009 Mise à jour le Mardi, 02 Mars 2010 03:33 par Salim KHALIL