QCM Correction
QCM Correction
QCM Correction
Répondez aux questions en cochant la ou les bulles de votre choix. Pour chaque question, il y a au moins une réponse
correcte. Une réponse correcte rapporte p points et une réponse incorrecte enlève q points, avec p × C − q × I = 0, où C est
le nombre total de réponses correctes et I le nombre total de réponses incorrectes. Dans la suite, le homedir de l’utilisateur
de login bob est /home/bob. Aucun document autorisé. Durée 1 heure. Attention : il ne sera répondu à aucune
question pendant l’épreuve !
3 Pour créer un fichier vide de nom Notes 2008-2009 (où est le caractère espace) on peut exécuter la commande :
a. touch Notes 2008-2009
L
b. touch Notes\ 2008-2009
L
c. touch ’Notes 2008-2009’
d. touch "Notes\ 2008-2009"
4 Pour afficher le contenu du fichier de nom -a du répertoire courant, on peut exécuter la commande :
a. cat ’-a’
b. cat "-a"
c. cat \-a
L
d. cat -- -a
8 Si le répertoire courant est le homedir de l’utilisateur bob, pour copier le fichier /home/bill/.bashrc dans le répertoire
courant on peut exécuter la commande :
L
a. cp ../bill/.bashrc .
b. cp ~bill/.bashrc ~.
c. cp /home/bill/.bashrc
L
d. cp ~bill/.bashrc ~/.
9 Le répertoire courant est le homedir de l’utilisateur bob. Pour afficher les fichiers et les répertoires (y compris les fichiers
cachés) contenus dans le répertoire /etc/X11 suivant leur date de dernière modification, on peut exécuter la commande :
a. ls -l -a /etc/X11
b. ls -la ../../etc/X11
L
c. ls -a -l -t /etc/X11
L
d. ls -alt ../../etc/X11
10 En supposant que les éléments zorro et tarzan existent bien dans le répertoire courant, la commande cp zorro tarzan
fonctionne correctement entre autres quand :
L
a. zorro et tarzan sont deux fichiers
b. zorro et tarzan sont deux répertoires
c. zorro est un répertoire et tarzan est un fichier
L
d. zorro est un fichier et tarzan est un répertoire
11 En supposant que les éléments zorro et tarzan existent bien dans le répertoire courant, la commande mv zorro tarzan
fonctionne correctement entre autres quand :
L
a. zorro et tarzan sont deux fichiers
L
b. zorro et tarzan sont deux répertoires
c. zorro est un répertoire et tarzan est un fichier
L
d. zorro est un fichier et tarzan est un répertoire
rep:
file1 file2
Pour supprimer tous les fichiers non cachés du répertoire rep on peut utiliser la commande :
a. rm rep
b. rmdir rep
c. rm -r rep
L
d. rm rep/*
13 La commande ls * dans le répertoire courant produit la sortie suivante :
file
rep:
file1 file2
Pour créer depuis le répertoire courant le nouveau répertoire dir sous le répertoire rep on peut exécuter la commande :
L
a. mkdir rep/dir
b. mkdir /rep/dir
L
c. mkdir -p rep/dir
d. mkdir -p /rep/dir
16 La commande ls .* :
a. liste les fichiers, et seulement les fichiers, du répertoire courant dont le nom commence par le caractère .
b. liste les répertoires, et seulement les répertoires, du répertoire courant dont le nom commence par le caractère .
c. liste les fichiers et les répertoires du répertoire courant dont le nom commence par le caractère .
L
d. liste les fichiers, les répertoires et leur contenu, du répertoire courant, ainsi que les fichiers et les répertoires du
répertoire parent, dont le nom commence par le caractère .
19 Cochez, parmi les lignes suivantes, celles qui provoquent toujours une erreur quand on les exécute (comme des com-
mandes), quelquesoit le répertoire courant et les éléments (fichiers et répertoires) qui s’y trouvent :
a. cp etc/termcap ~/unix
L
b. mv ../file ../.
L
c. cp ~ /tmp/.
d. mv unix*
20 Cochez, parmi les lignes suivantes, celles qui pourraient fonctionner sans erreur quand on les exécute (comme des
commandes) :
L
a. mv ~bob/zork zork/bob~
L
b. *
L
c. $VAR
d. mv * *
22 Pour afficher les lignes du fichier fichier qui commencent par la chaı̂ne $US, on peut exécuter la commande :
a. grep ^$US fichier
L
b. grep ’^$US’ fichier
c. grep ^$US* fichier
d. grep ’^$US*’ fichier
23 Pour afficher les lignes du fichier fichier qui terminent par la chaı̂ne 100$, on peut exécuter la commande :
a. grep 100$ fichier
b. grep ’100$’ fichier
c. grep 100$$ fichier
L
d. grep ’100$$’ fichier
24 Pour afficher les lignes du fichier fichier qui terminent par le caractère \, on peut exécuter la commande :
a. grep ’\’ fichier
b. grep ’\$’ fichier
L
c. grep ’\\$’ fichier
d. grep ’$\’ fichier
25 Pour afficher les lignes du fichier fichier qui contiennent des chiffres séparés par des points (comme par exemple 3.1
ou 10.2.1) on peut exécuter la commande :
L
a. grep ’[0-9]\.[0-9]’ fichier
b. grep ’[0-9].[0-9]’ fichier
c. grep ’[0-9]*\.[0-9]*’ fichier
d. grep ’[0-9]*.[0-9]*’ fichier
tp:
tp12.java tp12.txt
Pour lister récursivement tous les fichiers réguliers du répertoire courant dont le nom commence par la chaı̂ne tp on peut
exécuter la commande :
a. find . -name tp*
b. find . -name tp* -type f
c. find . -name ’tp*’
L
d. find . -name ’tp*’ -type f
27 Pour effacer récursivement tous les fichiers réguliers de votre homedir de taille 0 (les fichiers vides), on peut exécuter
la commande :
L
a. find ~ -size 0 -exec rm {} ’;’
b. find ~ -size=0 -exec rm ’;’
L
c. find ~ -empty -exec rm {} \;
d. find ~ -empty -exec rm \;
28 Pour copier la date courante à la suite du contenu du fichier non vide info du répertoire courant, on peut exécuter la
commande :
a. date | info
L
b. date >> info
c. date > info
d. date < info
31 Le fichier fichiers du répertoire courant contient des chemins de fichiers à raison d’un chemin par ligne. Pour lister
ces fichiers au format long, on peut exécuter la commande :
a. cat fichiers | ls -l
b. ls -l > fichiers
c. ls -l < fichiers
L
d. ls -l $(cat fichiers)
33 Pour fabriquer le fichier images dans le répertoire courant contenant exactement et uniquement tous les fichiers
d’extension .gif de l’arborescence qui lui sont accessibles, l’utilisateur bob peut exécuter la commande :
a. find . -name ’*.gif’ 1> images 2> /dev/null
L
b. find / -name ’*.gif’ 2> /dev/null > images
c. find . -name ’*.gif’ &> images 2> /dev/null
d. find / -name ’*.gif’ 2> /dev/null &> images
35 Pour suspendre l’exécution du processus courant, il suffit de taper dans le shell courant, le caractère :
a. control-C
b. control-D
L
c. control-Z
d. control-X
36 Pour afficher la liste de tous les processus qui lui appartiennent, l’utilisateur de login bob peut exécuter la commande :
a. jobs
b. jobs -U $USER
c. ps aux
L
d. ps -U bob
39 Pour compiler tous les fichiers d’extension .java du répertoire courant et rediriger les erreurs dans le fichier erreur,
on peut exécuter la commande :
a. for f in *.java; do javac $f 2>erreur; done
L
b. for f in *.java; do javac $f; done 2>erreur
L
c. for f in *.java; do javac $f 2>>erreur; done
d. for f in *.java; do javac $f; done &>erreur
40 Pour fabriquer les répertoires tp1, tp2, ..., tp10 sous le répertoire java du répertoire courant, on peut exécuter la
commande :
L
a. for i in 1 2 3 4 5 6 7 8 9 10; do mkdir java/tp$i; done
b. for i in seq 1 10; do mkdir ./java/tp$i; done
c. for i in 1 2 3 4 5 6 7 8 9 10 do mkdir java/tp$i done
L
d. for i in $(seq 1 10); do mkdir ./java/tp$i; done
41 L’instruction suivante :
for f in *.java; do
mv $f $(basename $f .java).txt
done
a. ne provoque jamais d’erreur
b. provoque une erreur s’il n’y a aucun fichier d’extension .java dans le répertoire courant
L
c. provoque une erreur s’il y a un fichier d’extension .java dans le répertoire courant dont le nom contient un espace
d. provoque toujours une erreur