Corrigé contrôle machin
This commit is contained in:
parent
c08ad73ebc
commit
e2cc18da4d
0
CM/TR/lib/kernel/go44go
Normal file
0
CM/TR/lib/kernel/go44go
Normal file
0
CM/TR/lib/krb5/REP34578/fafa
Normal file
0
CM/TR/lib/krb5/REP34578/fafa
Normal file
0
CM/TR/lib/krb5/REP34578/fifi
Normal file
0
CM/TR/lib/krb5/REP34578/fifi
Normal file
48
CM/TR/lib/krb5/plugins/inout.dev
Normal file
48
CM/TR/lib/krb5/plugins/inout.dev
Normal file
@ -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"
|
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/11glob22blog3
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/11glob22blog3
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22gloB333
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/1glob22gloB333
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/44patterN
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/44patterN
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/Pattern4
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/Pattern4
Normal file
BIN
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/archive.tar
Normal file
BIN
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/archive.tar
Normal file
Binary file not shown.
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/pAtterN
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/pAtterN
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/patterN
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gLob/patterN
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gloB1bloG
Normal file
0
CM/TR/lib/krb5/plugins/kdb/MORE/GL/gloB1bloG
Normal file
BIN
CM/TR/lib/krb5/plugins/play.in
Normal file
BIN
CM/TR/lib/krb5/plugins/play.in
Normal file
Binary file not shown.
0
CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob
Normal file
0
CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/1glob
Normal file
BIN
CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/archive.tar
Normal file
BIN
CM/TR/lib/krb5/plugins/preauth/STUFF/FAR/ROLL/archive.tar
Normal file
Binary file not shown.
0
CM/TR/lib/krb5/start1637end
Normal file
0
CM/TR/lib/krb5/start1637end
Normal file
0
CM/TR/lib/krb5/start56end
Normal file
0
CM/TR/lib/krb5/start56end
Normal file
16
CM/TR/lib/krb5/synch/atom.install
Normal file
16
CM/TR/lib/krb5/synch/atom.install
Normal file
@ -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"
|
24
CM/TR/lib/krb5/synch/settings.sh
Normal file
24
CM/TR/lib/krb5/synch/settings.sh
Normal file
@ -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"
|
151
CM/TaF
Normal file
151
CM/TaF
Normal file
@ -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 <login>-scr.1.2-1.tar contenant le fichier reponses et
|
||||
le script <login>-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 <login>-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 <login>-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 <display_format> <SCR_FILE>
|
||||
|
||||
$ ./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 -----------------------------------
|
||||
-----------------------------------------------------------------------------
|
19
CM/correction.txt
Normal file
19
CM/correction.txt
Normal file
@ -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
|
||||
|
4
CM/utf8.dat
Normal file
4
CM/utf8.dat
Normal file
@ -0,0 +1,4 @@
|
||||
1101001010110101
|
||||
111010011011110110110100
|
||||
01011011
|
||||
11110100101010111011010110111100
|
38
CM/utf8tocode.sh
Executable file
38
CM/utf8tocode.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ $# -lt 2 ]]
|
||||
then
|
||||
echo "Usage: $0 <display_format> <SCR_FILE>"
|
||||
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
|
Loading…
Reference in New Issue
Block a user