Documente Academic
Documente Profesional
Documente Cultură
COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Dans votre répertoire courant, créez en une commande les fichiers suivants:
Solution:
Exercice 2:
Créer le répertoire Year dans votre répertoire courant, en une commande déplacez les fichiers
précédemment créés dans le répertoire Year.
Solution:
mv [aA]nnee* ./Year
Exercice 3:
Solution:
ls *5
ls annee4*
ls annee4?
ls annee[!0-9]*
ls *ana*
ls [aA]*
Exercice 4:
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Copier les fichiers dont l'avant dernier caractère est un 4 ou 1 dans le répertoire /tmp en une
seule commande.
Solution:
cp *[41]? /tmp
Dans votre répertoire courant, créez un répertoire courant essai_droit, par défaut ce répertoire
est à 755 (rwxr-xr-x), quelles sont les commandes (en notation symbolique et en base 8) pour
lui donner les droits suivant (on suppose qu'après chaque commande on remet le répertoire à
755:
Solution:
Exercice 2:
Créez un fichier droit dans le répertoire essai_droit, par défaut ce fichier est à 644 (rw-r--r--
).En partant du répertoire courant, pour chaque commande de l'exercice précédent, essayez
d'accèder au répertoire essai_droit (commande cd), de faire un ls dans essai_droit et de
modifier le fichier avec un éditeur quelconque (vi par exemple).
Solution:
Exercice 3:
Tapez la commande umask, de manière à ce que les fichiers lors de leur création aient par
défaut les droits 640 (rw-r-----), et les répertoires 750 (rwxr-x---).
Solution:
Pour un fichier
Pour un répertoire
Soit la commande:
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
umask 027
Grep
Exercice 1
Créer un répertoire essai-grep dans votre home directory. Dans ce répertoire créer les fichiers
suivants:
Editez les fichiers (sortie de la commande ls redirigée vers grep) avec les critères sur leur
nom suivant:
Solution:
mkdir ~/essai-grep
cd ~/essai-grep
touch tomate poire pomme cerise Fraise fraise courgette POMME3 afraise
Nota:
Pour rediriger le résultat vers un fichier, vous pouvez faire, par exemple pour le critère 1:
Exercice 2
Copiez le fichier /etc/passwd dans votre home directory. Editez la ligne commençant par
votre nom de login.
Solution:
cd
cp /etc/passwd ~
cat passwd | grep "^monnom" avec login le nom de votre login ( 8 lettres)
Exercice 3
Dans le fichier passwd qui est dans votre home directory, éditez les lignes commençant par
des noms de login ne contenant pas de chiffre.
Soluce:
ou
Exercice 4
Editez les lignes du fichier passwd commençant par des noms de login de 3 ou 4 caractères.
Solution:
Les filtres
Exercice 1
Copiez le fichier /etc/passwd dans votre home directory. Editez uniquement les champs
contenant le login et la home directory.
Solution:
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
cd
cp /etc/passwd ~
cut -d: -f1,6 passwd
Exercice 2
Solution:
Exercice 3
Extraire les nom de login et UID puis triez suivant les UID, le tout en une seule commande,
vous redirigerez le tout vers un fichier
Solution:
Exercice 4
Dans le fichier de résultat précédent remplacer les ":" par des " " (espace).
Solution:
Nota:
cut -d: -f1,3 | sort -t: -n +1 -2 | tr ":" " " > lefichier
Exercice 5
Solution:
tail -5 lefichier
Exercice 6
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Solution:
find
Exercice 1
Cherchez dans toute l'arborescence les fichiers dont le nom se termine par .c, redirigez les
erreurs vers le fichier poubelle /dev/null
Commençant par X ou x.
Solution:
Exercice 2
Chercher dans /usr les fichiers dont la taille dépasse 1Mo (2000 blocs de 500Ko) et dont les
droits sont fixés à 755 (-rwxr-xr-x).
Solution:
Exercice 3
Combien il y a de fichiers dans toute l'arborescence vous appartenant et ayant les droits fixés
à 666 (-rw-rw-rw-).
Solution:
Exercice 4
Trouver tous les fichiers core dans l'arborescence et supprimez les après confirmation.
Solution:
awk
Les exercices portent sur le fichier mesure suivant:
nom de
lieu de la date de la valeur correction correction correction valeur
la | | | | | | | |
mesure mesure brute 1 2 3 corrigée
mesure
marcel | brest | 18/12/1998 | 12.5 | 1.34 | 1.23 | -1.5 | 13.47 |
polo | loctudy | 21/05/1997 | 11.5 | 1.24 | 1.12 | -1.2 | 12.66 |
otto | camaret | 04/09/1995 | 9.3 | 0.98 | 1.17 | -1.12 | 10.33 |
Le champ valeur corrigée est la somme algébrique de la valeur brute et des 3 corrections.
Exercice 1
Vous vous êtes bourrés sur le signe de la correction 1, de même dans la correction 2, vous
avez découvert que vous avez commis une petite erreur et qu'il fallait lui ajouter 0.1. Modifier
le fichier en prenant en compte ces corrections, faites en sorte que la valeur corrigée soit
modifiée en conséquence.
Dans le même exercice vous afficherez la somme totale des valeurs corrigées et la valeur
corrigée moyenne. Ces valeurs doivent être sauvegardées dans un fichier résultat.
Solution:
#!/bin/bash
awk ' BEGIN { FS="|";OFS="|" }
NR = =1 { printf("%s\n",$0)}
NR>1 { $5*=-1
$6+=0.1
$8=$4+$5+$6+$7
somme+=$8
printf("%s\n",$0)}
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Appelez votre script exo1.awk, donnez lui les droits 755, et appelez le ainsi:
Exercice 2
Afficher les mesures ayant une année paire. Redirigez le résultat de la recherche vers un
fichier paire.
Solution:
#!/bin/bash
awk ' BEGIN { printf("Mesures ayant une année paire \n") > "paire";FS="|"}
NR>1 { annee=substr($3,7,4)
if (annee%2= =0)
{ printf("mesure %s ",$1); printf(" année %s paire\n ",annee) >> "paire"}
' $1
Appelez votre script exo2.awk, donnez lui les droits 755, et appelez le ainsi:
exo2.awk mesure
Exercice 3
Vérifiez que le format de la date jj/mm/aaaa est correcte ainsi que le format du lieu (formé
que de lettres de l'alphabet en minuscules ou majuscules).
Solution:
#!/bin/bash
awk ' BEGIN { printf("Vérification du format \n";FS="|" }
NR>1 && $2 !~ /^[0-3][0-9]\/[01][0-9]/\[0-9][0-9][0-9][0-9]$/
{ printf(" Mauvais format de date pour mesure %s \n", $1 }
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Appelez votre script exo3.awk, donnez lui les droits 755, et appelez le ainsi:
exo3.awk mesure
Le fonctionnement du script sous LINUX est un peu foireux, ça marche bien par contre sur
d'autres environnements (HP-UX ou Solaris), va savoir pour quoi...
#!/bin/csh
awk ' BEGIN { printf("Vérification du mois et du jour\n");FS="|")
NR>1 && $3 !~ /^[0-3][0-9]\/[01][0-9]/\[0-9][0-9][0-9][0-9]$/
{ jour=substr($3,1,2)
mois=substr($3,3,2)
if (jour > 31 || mois >12) { printf("mauvais format pour mesure %s\n",$1)}
}
' $1
C'est un peu lourd comme script, à vous de trouver plus simple. Toujours un fonctionnement
capricieux sous LINUX.
Exercice 4
Afficher les noms de mesure et leur valeur corrigée associée en vous servant d'un tableau
associatif.
Solution:
#!/bin/bash
awk ' BEGIN { printf("Affichage des mesures et de leur valeur corrigée \n");FS="|"}
NR>1 { mesure-corrigee[$1]=$8
END
{ for (mesure in mesure-corrigee)
{printf("mesure %s ",mesure); printf(" égale à %s \n",mesure-corrigee[mesure])
}}
' $1
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securité,Réseaux.
Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Appelez votre script exo4.awk, donnez lui les droits 755, et appelez le ainsi:
exo4.awk mesure