Exercices d'évaluation : éléments de base

Ivan KURZWEG

Sainte-Clotilde, Ile de la Réunion

$Id: synthese.xml,v 1.0 2006/03/19 09:43:02 $

Permission to use, copy, modify, and distribute this documentation for any purpose with or without fee is here by granted, provided that the above copyright notice and this permission notice appear in all copies.

THE DOCUMENTATION IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS DOCUMENTATION INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS DOCUMENTATION.


Commandes et notions de bases

Exercices commandes et redirection

  1. Indiquez la commande pour afficher les lignes de 10 à 25 d'un fichier.

  2. Exécutez la commande : yes toto | head -200 | split -5 . Expliquer le résultat obtenu en vous aidant du man.

  3. Tout en restant dans le répertoire où vous avez exécuté la commande précédente, indiquez les commandes permettant de :

    • lister le contenu du répertoire

    • lister les fichiers dont le nom fini par 'e'

    • lister les fichiers dont le nom contient un 'a'

    • lister les fichiers dont le nom se termine par une lettre comprise en 'c' et 'g'

    • lister les fichiers dont le nom ne se termine pas par une lettre comprise en 'c' et 'g'

    • lister les fichiers dont le nom a un 'b' en deuxième position mais pas en troisième position

  4. Donnez la séquence de commandes la plus courte permettant de déplacer tous les fichier dont le nom contient un 'a' vers le répertoire ~/elemntBase/synthese/exo/toto/fic/liste/a/

Sed et Awk .. et autres !

Conversions de monnaies

 A partir du fichier de monnaies (http://www.kurzweg.info/asrest/ElemntBase/euro.txt),

  • Afficher la liste des pays et de leur monnaies, une paire par ligne, chaque pays précédant sa monnaie et en étant séparé par un `:'

  • Trouver la valeur de la monnaie la plus forte

Traitements de domaines internet

Dans le cadre de la mise en place d'une connexion Internet filtrée, vous devez traiter régulièrement des fichiers de noms de domaines interdits. Dans cet exercice, vous allez devoir travailler sur des domaines diffusant de la publicité. Un premier exemple de fichier est téléchargeable sur http://www.kurzweg.info/asrest/ElemntBase/domaines.txt. Téléchargez ce fichier dans votre répertoire ~/elemntBase/synthese/exo2/, et faites en une copie sous le nom dom_orig.txt

  1. Certaines URLs possèdent des informations de ports. Le réseau empêchant déjà les connections Web vers des ports autres que le port 80, vous devez supprimer l'ensemble des ports (les informations précédées de ':'). De la même manière, vous devez supprimer les informations concernant les protocoles utilisés (http://, ftp://, ...)

  2. Les traitements sur les adresses IP et sur les noms de domaines étant sensiblement différents, vous devez séparer le fichier en deux fichiers, l'un contenant les adresses "en dur", l'autre les domaines nommés.

  3. Vous cherchez maintenant à simplifier certaines URLs, en supprimant les informations de machines sur les sous-domaines. Typiquement vous devez arriver à une liste de type sousdomaine.domaine.

  4. Le filtrage actuel contient déjà une vérification sur les mots clefs, en particulier, il interdit toutes les URLs qui contiennent le champ 'ads' (attention, pas la sous chaine 'ads'). Modifier le fichier en conséquence.

  5. Votre fichier est prêt à être exploité, mais il reste à l'optimiser après toutes les manupulations que vous avez faites. Retriez le fichier et supprimez les doublons. Trier les noms de domaines par domaines (.org, .com, ...).

  6. Enfin, vous serez amener à réaliser cette procédure de nombreuses fois... Automatisez totalement les traitements, en affcihant pour chaque étape les informations qui vous semblent pertinentes (nombres de lignes modifiées, etc..). Au final, le programme devra donner le nombre d'adresses IP retenues, et le nombre de sous domaines par domaine.