diff --git a/CM/TR/lib/kernel/go44go b/CM/TR/lib/kernel/go44go new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/REP34578/fafa b/CM/TR/lib/krb5/REP34578/fafa new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/REP34578/fifi b/CM/TR/lib/krb5/REP34578/fifi new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/inout.dev b/CM/TR/lib/krb5/plugins/inout.dev new file mode 100644 index 0000000..0e36aef --- /dev/null +++ b/CM/TR/lib/krb5/plugins/inout.dev @@ -0,0 +1,48 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/11glob22blog3 b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/11glob22blog3 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22 b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22gloB333 b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22gloB333 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/44patterN b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/44patterN new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/Pattern4 b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/Pattern4 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/archive.tar b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/archive.tar new file mode 100644 index 0000000..a43fb02 Binary files /dev/null and b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/archive.tar differ diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/pAtterN b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/pAtterN new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/paTTerN/theglobpattern b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/paTTerN/theglobpattern new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/patterN b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/patterN new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gloB1bloG b/CM/TR/lib/krb5/plugins/kdb/MORE/GL/gloB1bloG new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/play.in b/CM/TR/lib/krb5/plugins/play.in new file mode 100644 index 0000000..06d7405 Binary files /dev/null and b/CM/TR/lib/krb5/plugins/play.in differ diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/11glob22blog3 b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/11glob22blog3 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob22 b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob22 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob22gloB333 b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob22gloB333 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/44patterN b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/44patterN new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/Pattern4 b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/Pattern4 new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/pAtterN b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/pAtterN new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/paTTerN/theglobpattern b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/paTTerN/theglobpattern new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/patterN b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/SHUT/patterN new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/archive.tar b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/archive.tar new file mode 100644 index 0000000..67038be Binary files /dev/null and b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/archive.tar differ diff --git a/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/gloB1bloG b/CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/gloB1bloG new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/start1637end b/CM/TR/lib/krb5/start1637end new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/start56end b/CM/TR/lib/krb5/start56end new file mode 100644 index 0000000..e69de29 diff --git a/CM/TR/lib/krb5/synch/atom.install b/CM/TR/lib/krb5/synch/atom.install new file mode 100644 index 0000000..a793689 --- /dev/null +++ b/CM/TR/lib/krb5/synch/atom.install @@ -0,0 +1,16 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" diff --git a/CM/TR/lib/krb5/synch/settings.sh b/CM/TR/lib/krb5/synch/settings.sh new file mode 100644 index 0000000..ada62ea --- /dev/null +++ b/CM/TR/lib/krb5/synch/settings.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +[[ $1 == "add" ]] || exit 0 +[[ $2 ]] || exit 1 + +exec depmod -a "$2" diff --git a/CM/TaF b/CM/TaF new file mode 100644 index 0000000..ece76ef --- /dev/null +++ b/CM/TaF @@ -0,0 +1,151 @@ + +------------------------ INSTRUCTIONS A LIRE JUSQU'AU BOUT ------------------- + +Cher lecteur, si vous etes en train de me lire par vim ou par un autre +editeur de texte, je vous demanderai de sortir de l'editeur de texte et +de m'ouvrir simplement par la commande less qui fait peser moins de risque +sur moi et sur vous. +Avec less, on avance/recule avec les fleches haut/bas et on avance/recule +page par page par CTRL-V/CTRL-B +---------------------------------------------------------------------------- +On rendra l'archive -scr.1.2-1.tar contenant le fichier reponses et +le script -utf8tocode.sh, qui fait l'objet d'un exercice. + +A la fin de l'epreuve se reporter au fichier README pour, en particulier, +appliquer correctement la commande d'archivage. +----------------------------------------------------------------------------- +-------------------------------------------------------------------------- +/Nom/Prenom/nom_machine/ est-il place au debut du fichier +reponses ? +Preceder chaque reponse par le numero de la question traitee. Ce n'est +pas la longueur de la reponse qui compte mais sa pertinence. +---------------------------------------------------------------------------- +------------------------------------------------------------------------------ + TOUTES LES QUESTIONS DOIVENT ETRE TRAITEES SANS BOUGER + DU REPERTOIRE DE BASE. + --------------------------------------------------------------------------- +1/ + Consulter la page manuel de ls pour savoir comment afficher les dates de + derniere modification comme dans : + + 2022-11-16 15:49:40.036307437 +0100 + + puis, a l'aide de ls uniquement, donner la ligne de + commandes permettant d'afficher le contenu de toute l'arborescence qui + commence en TR/ en donnant pour chaque element, entre autres, la date de + derniere modification au format indique ci-dessus. + + La ligne de commandes ls demandee doit etre non composee, c'est a dire, + sans les symboles ; , | , ||, &&, ... + + Placer la ligne de commandes dans le fichier reponses. + Inutile de recopier le resultat de la ligne de commandes. + +------------------------------------------------------------------------------- +2/ + SANS BOUGER DU REPERTOIRE DE BASE, a l'aide uniquement d'une seule ligne de + commandes ls et sans descendre dans les repertoires dont le nom correspond au motif, + afficher la liste de tous les elements de TR/lib/krb5/ et de TR/lib/kernel/ + dont le nom contient deux chiffres qui se suivent formant un nombre de valeur + comprise entre 54 et 67 inclus. + + La ligne de commandes ls demandee doit etre non composee, c'est a dire, + sans les symboles ; , | , ||, &&, ... + + On doit utiliser les notations standards pour les classes + de caracteres : [:upper:], [:lower:], ... + + Les motifs proposes devront fonctionner dans n'importe quel repertoire + ou on chercherait les memes configurations dans les noms des entrees + (fichiers/repertoires) qu'il contient. + + + Placer la ligne de commandes dans le fichier reponses. + Inutile de recopier le resultat de la ligne de commandes. +---------------------------------------------------------------------------------- + +3/ + SANS BOUGER DU REPERTOIRE DE BASE et a l'aide uniquement d'une seule ligne de + commandes find, sans utiliser xargs et sans aucun pipeline : + + afficher la liste de tous les elements de l'arborescence qui commence en TR/ + qui se trouvent a une profondeur au moins 6 et dont la date de derniere modification + est posterieure a (plus recente que) celle du fichier inout.dev + + Placer la ligne de commandes dans le fichier reponses. + Inutile de recopier le resultat de la ligne de commandes. + + ----------------------------------------------------------------------------------- + 4/ + + SANS BOUGER DU REPERTOIRE DE BASE et a l'aide uniquement d'une seule ligne de + commandes find, sans utiliser xargs et sans aucun pipeline : + + Creer un repertoire NEW dans chaque repertoire se trouvant a une profondeur exactement 8 + de l'arborescence qui commence en TR/ + + Placer la ligne de commandes dans le fichier reponses. + Inutile de recopier le resultat de la ligne de commandes. + +--------------------------------------------------------------------------------------- +5/ + + SANS BOUGER DU REPERTOIRE DE BASE et a l'aide uniquement d'une seule ligne de + commandes find, sans utiliser xargs et sans aucun pipeline : + + Dans chaque repertoire contenant des fichiers reguliers se trouvant + a une profondeur exactement de 8 de l'arborescence qui commence en TR/ + creer une archive appelee archive.tar de ces fichiers-la. + + Placer la ligne de commandes dans le fichier reponses. + Inutile de recopier le resultat de la ligne de commandes. + + --------------------------------------------------------------------------- + + 6/ + + On veut ecrire un script -utf8tocode.sh qui prend deux arguments + a la ligne de commandes. Le deuxieme argument est le nom d'un fichier contenant + des encodages UTF-8, un par ligne. Le script affiche en hexadecimal, pour chaque + encodage dans le fichier, la valeur du point de code correspondant. Le premier + argument est un indicateur soumis par l'utilisateur sous la forme 1 ou 2, ou 2 + signifie que le point code doit etre prefixe par la notation U+, et 1 signifie + qu'il n'y a aucun prefixe a ajouter lors de l'affichage. + + Ecrire le script -utf8tocode.sh en gerant toutes les erreurs + sur les parametres a la ligne de commandes. + +----------------------------------------------------------------------- + PLACER NOM/PRENOM/NOM_MACHINE en commentaire VERS LE DEBUT DU script. +---------------------------------------------------------------------- + Le fichier utf8.dat est fourni pour faire des tests rapidement. + ATTENTION : Le script ne doit pas etre adapte au contenu de utf8.dat. + + On suppose que tous les encodages UTF-8 dans le fichier source sont corrects. + + On pourra utiliser la commande printf du shell qui utilise les formats + d'affichage comme le fait printf du C. + + $ ./utf8tocode.sh + Usage: ./utf8tocode.sh + + $ ./utf8tocode.sh 1 mimi.dat + File mimi.dat doesn't exist or is not regular + + $ ./utf8tocode.sh 3 utf8.dat + Unknown display format. Please submit 1 if no prefix, 2 for prefix U+ + + $ ./utf8tocode.sh 1 utf8.dat + 4b5 + 9f74 + 5b + 12bd7c + + $ ./utf8tocode.sh 2 utf8.dat + U+4b5 + U+9f74 + U+5b + U+12bd7c + +----------------------------- C'EST FINI ----------------------------------- +----------------------------------------------------------------------------- diff --git a/CM/correction.txt b/CM/correction.txt new file mode 100644 index 0000000..5f1e6ad --- /dev/null +++ b/CM/correction.txt @@ -0,0 +1,19 @@ +Exercice 1) +ls -R --full-time TR/ +ls -lR --time-style=full-iso TR/ + +Exercice 2) +ls -d TR/lib/krb5/*5[4-9]* TR/lib/krb5/*6[0-7]* TR/lib/kernel/*5[4-9]* TR/lib/kernel/*6[0-7]* + +Exercice 3) +find TR/ -mindepth 6 -newer TR/lib/krb5/plugins/inout.dev + +Exercice 4) +find TR/ -mindepth 8 -maxdepth 8 -type d -exec mkdir '{}'/NEW \; + +Exercice 5) +find TR/ -mindepth 8 -maxdepth 8 -execdir tar cvf archive.tar '{}' + + +Exercice 6) +Voir utf8tocode.sh + diff --git a/CM/utf8.dat b/CM/utf8.dat new file mode 100644 index 0000000..4633170 --- /dev/null +++ b/CM/utf8.dat @@ -0,0 +1,4 @@ +1101001010110101 +111010011011110110110100 +01011011 +11110100101010111011010110111100 diff --git a/CM/utf8tocode.sh b/CM/utf8tocode.sh new file mode 100755 index 0000000..73025c6 --- /dev/null +++ b/CM/utf8tocode.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +if [[ $# -lt 2 ]] +then + echo "Usage: $0 " + exit +fi + +if [[ $1 != "1" && $1 != "2" ]] +then + echo "Unknown display format. Please submit 1 if no prefix, 2 for prefix U+" + exit +fi + +if [[ ! -f $2 ]] +then + echo "File $2 doesn't exist or is not regular" + exit +fi + +if [[ $1 == "2" ]] +then + fmt="U+" +fi +while read addr +do + l=$(expr length $addr) + ind=$(expr index $addr "0") + cont=$(expr substr $addr $((ind+1)) $((8-ind))) + pos=11 + while [[ $pos -lt $l ]] + do + cont=$cont$(expr substr $addr $pos 6) + pos=$((pos+8)) + done + printf "$fmt%x\n" $((2#$cont)) +done < $2 +exit