Ce document est une correction de QCM (Questionnaire à Choix Multiples) intitulé "Syst`eme I" destiné aux étudiants de Polytech'Nice-Sophia pour l'année académique 2008-2009. Il couvre les notions suivantes:
- Commandes de base en ligne de commande Unix/Linux.
- Manipulation de fichiers et répertoires.
- Chemin relatifs et absolus.
- Permissions et droits d'accès.
- Utilisation de grep pour la recherche de motifs dans des fichiers.
- Commandes find pour la recherche récursive de fichiers.
Correction QCM Systeme I -Concours QCM
Télécharger PDFCorrection du QCM Syst`eme I
D´epartement MAM 3 Mercredi 5 novembre
R´epondez aux questions en cochant la ou les bulles de votre choix. Pour chaque question, il y a au moins une r´eponse correcte. Une r´eponse correcte rapporte p points et une r´eponse incorrecte enl`eve q points, avec p × C − q × I = 0, o`u C est le nombre total de r´eponses correctes et I le nombre total de r´eponses incorrectes. Dans la suite, le homedir de l’utilisateur de login bob est /home/bob. Aucun document autoris´e. Dur´ee 1 heure. Attention : il ne sera r´epondu `a aucune question pendant l’´epreuve !
1
La commande echo -n "Bonjour tout le monde" :
- a. affiche exactement Bonjour tout le monde et va `a la ligne
- b. affiche exactement "Bonjour tout le monde" (avec les guillemets) et va `a la ligne
- c. affiche exactement Bonjour tout le monde sans aller `a la ligne
- d. affiche exactement "Bonjour tout le monde" (avec les guillemets) sans aller `a la ligne
2
Pour afficher exactement la chaˆıne je m’appelle "Zorro" on peut ex´ecuter la commande :
- a. echo "je m’appelle \"Zorro\""
- b. echo "je m’appelle "Zorro""
- c. echo ’je m’appelle "Zorro"’
- d. echo ’je m’"’appelle "’"Zorro"’
3
Pour cr´eer un fichier vide de nom Notes 2008-2009 (o`u est le caract`ere espace) on peut ex´ecuter la commande :
- a. touch Notes 2008-2009
- b. touch Notes\ 2008-2009
- c. touch ’Notes 2008-2009’
- d. touch "Notes\ 2008-2009"
4
Pour afficher le contenu du fichier de nom -a du r´epertoire courant, on peut ex´ecuter la commande :
- a. cat ’-a’
- b. cat "-a"
- c. cat \-a
- d. cat -- -a
5
Cochez parmi les chemins suivants ceux qui sont relatifs :
- a. /home/zorro/linux
- b. /usr/local/../share
- c. etc/termcap
- d. ~/../tarzan/tpjava
6
Cochez parmi les chemins suivants ceux qui sont absolus :
- a. ./home/tarzan
- b. ~tarzan/tpjava/../tplinux
- c. /etc/termcap
- d. root/
7
Si le r´epertoire courant est le homedir de l’utilisateur bob, pour copier le fichier /etc/termcap dans le r´epertoire courant on peut ex´ecuter la commande :
- a. cp /etc/termcap
- b. cp /etc/termcap ~
- c. cp termcap .
- d. cp /etc/termcap ./termcap
8
Si le r´epertoire courant est le homedir de l’utilisateur bob, pour copier le fichier /home/bill/.bashrc dans le r´epertoire courant on peut ex´ecuter la commande :
- a. cp ../bill/.bashrc .
- b. cp ~bill/.bashrc ~.
- c. cp /home/bill/.bashrc
- d. cp ~bill/.bashrc ~/.
9
Le r´epertoire courant est le homedir de l’utilisateur bob. Pour afficher les fichiers et les r´epertoires (y compris les fichiers cach´es) contenus dans le r´epertoire /etc/X11 suivant leur date de derni`ere modification, on peut ex´ecuter la commande :
- a. ls -l -a /etc/X11
- b. ls -la ../../etc/X11
- c. ls -a -l -t /etc/X11
- d. ls -alt ../../etc/X11
10
En supposant que les ´el´ements zorro et tarzan existent bien dans le r´epertoire courant, la commande cp zorro tarzan fonctionne correctement entre autres quand :
- a. zorro et tarzan sont deux fichiers
- b. zorro et tarzan sont deux r´epertoires
- c. zorro est un r´epertoire et tarzan est un fichier
- d. zorro est un fichier et tarzan est un r´epertoire
11
En supposant que les ´el´ements zorro et tarzan existent bien dans le r´epertoire courant, la commande mv zorro tarzan fonctionne correctement entre autres quand :
- a. zorro et tarzan sont deux fichiers
- b. zorro et tarzan sont deux r´epertoires
- c. zorro est un r´epertoire et tarzan est un fichier
- d. zorro est un fichier et tarzan est un r´epertoire
12
La commande ls * dans le r´epertoire courant produit la sortie suivante : file1 file2 Pour supprimer tous les fichiers non cach´es du r´epertoire rep on peut utiliser la commande :
- a. rm rep
- b. rmdir rep
- c. rm -r rep
- d. rm rep/*
13
La commande ls * dans le r´epertoire courant produit la sortie suivante : file1 file2 Pour cr´eer depuis le r´epertoire courant le nouveau r´epertoire dir sous le r´epertoire rep on peut ex´ecuter la commande :
- a. mkdir rep/dir
- b. mkdir /rep/dir
- c. mkdir -p rep/dir
- d. mkdir -p /rep/dir
14
La commande ls dans le r´epertoire courant produit la sortie suivante : Classe1.java java1.ps tp/ tp11.java Tp1.java Classe2.java java2.ps TP10.java Tp1.1.java Tp2.java Pour lister tous les fichiers dont le nom contient la chaˆıne java on peut ex´ecuter la commande :
- a. ls java
- b. ls *java
- c. ls java*
- d. ls *java*
15
La commande ls dans le r´epertoire courant produit la sortie suivante : Classe1.java java1.ps tp/ tp11.java Tp1.java Classe2.java java2.ps TP10.java Tp1.1.java Tp2.java T_P_1/ Pour lister tous les fichiers r´eguliers du r´epertoire courant dont le nom commence par tp, Tp ou TP on peut ex´ecuter la commande :
- a. ls tp*
- b. ls [Tt][Pp]*
- c. ls [Tt]*[Pp]*
- d. ls [Tt][Pp]?*
16
La commande ls .* :
- a. liste les fichiers, et seulement les fichiers, du r´epertoire courant dont le nom commence par le caract`ere .
- b. liste les r´epertoires, et seulement les r´epertoires, du r´epertoire courant dont le nom commence par le caract`ere .
- c. liste les fichiers et les r´epertoires du r´epertoire courant dont le nom commence par le caract`ere .
- d. liste les fichiers, les r´epertoires et leur contenu, du r´epertoire courant, ainsi que les fichiers et les r´epertoires du r´epertoire parent, dont le nom commence par le caract`ere .
17
La commande ls -la rep produit la sortie suivante : drwxrwxr-x 2 paul staff 512 Oct 13 15:14 . drwxr-xr-x 8 paul root 512 Sep 23 05:52 .. -rwx--x--x 1 paul staff 417 Oct 13 19:17 fiche Les droits sur les fichiers et les r´epertoires sont tels que :
- a. tout membre du groupe staff peut lire le contenu de fiche
- b. tout membre du groupe staff peut renommer fiche
- c. tout membre du groupe staff peut effacer fiche
- d. tout membre du groupe staff peut modifier le contenu de fiche
18
La commande ls -la rep2 produit la sortie suivante : drwxr----x 2 paul staff 512 Oct 13 15:14 . drwxr-xr-x 6 root root 512 Sep 23 05:52 .. -rwxr-xr-x 1 paul staff 417 Oct 13 19:17 auto Les droits sur les fichiers et les r´epertoires sont tels que :
- a. tout membre du groupe staff peut lister le contenu de rep2
- b. tout le monde peut lister le contenu de rep2
- c. tout membre du groupe staff peut se d´eplacer sous rep2
- d. tout le monde sauf les membres du groupe staff peut se d´eplacer sous rep2
19
Cochez, parmi les lignes suivantes, celles qui provoquent toujours une erreur quand on les ex´ecute (comme des commandes), quelquesoit le r´epertoire courant et les ´el´ements (fichiers et r´epertoires) qui s’y trouvent :
- a. cp etc/termcap ~/unix
- b. mv ../file ../.
- c. cp ~ /tmp/.
- d. mv unix*
20
Cochez, parmi les lignes suivantes, celles qui pourraient fonctionner sans erreur quand on les ex´ecute (comme des commandes) :
- a. mv ~bob/zork zork/bob~
- b. *
- c. $VAR
- d. mv * *
21
La commande grep ’^r*’ /etc/passwd :
- a. affiche toutes les lignes du fichier /etc/passwd
- b. n’affiche que les lignes du fichier /etc/passwd qui commencent par la lettre r
- c. n’affiche que les lignes du fichier /etc/passwd qui contiennent la lettre r
- d. n’affiche que les lignes du fichier /etc/passwd qui terminent par la lettre r
22
Pour afficher les lignes du fichier fichier qui commencent par la chaˆıne $US, on peut ex´ecuter la commande :
- a. grep ^$US fichier
- 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´ecuter la commande :
- a. grep 100$ fichier
- b. grep ’100$’ fichier
- c. grep 100$$ fichier
- d. grep ’100$$’ fichier
24
Pour afficher les lignes du fichier fichier qui terminent par le caract`ere \, on peut ex´ecuter la commande :
- a. grep ’\’ fichier
- b. grep ’\$’ fichier
- c. grep ’\\$’ fichier
- d. grep ’$\’ fichier
25
Pour afficher les lignes du fichier fichier qui contiennent des chiffres s´epar´es par des points (comme par exemple 3.1 ou 10.2.1) on peut ex´ecuter la commande :
- 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
26
La commande ls * dans le r´epertoire courant produit la sortie suivante : Classe1.java java1.ps tp10.java Tp1.1.java Tp2.java Classe2.java java2.ps tp11.java Tp1.java tp: tp12.java tp12.txt Pour lister r´ecursivement tous les fichiers r´eguliers du r´epertoire courant dont le nom commence par la chaˆıne tp on peut ex´ecuter la commande :
- a. find . -name tp*
- b. find . -name tp* -type f
- c. find . -name ’tp*’
- d. find . -name ’tp*’ -type f
27
Pour effacer r´ecursivement tous les fichiers r´eguliers de votre homedir de taille 0 (les fichiers vides), on peut ex´ecuter la commande :
- a. find ~ -size 0 -exec rm {} ’;’
- b. find ~ -size=0 -exec rm ’;’
- c. find ~ -empty -exec rm {} \;
- d. find ~ -empty -exec rm \;
28
Pour copier la date courante `a la suite du contenu du fichier non vide info du r´epertoire courant, on peut ex´ecuter la commande :
- a. date | info
- b. date >> info
- c. date > info
- d. date < info
29
Pour fabriquer le fichier images dans le r´epertoire courant contenant exactement et uniquement tous les fichiers d’extension .gif de l’arborescence qui lui sont accessibles, l’utilisateur bob peut ex´ecuter la commande :
- a. find . -name ’*.gif’ 1> images 2> /dev/null
- b. find / -name ’*.gif’ 2> /dev/null > images
- c. find . -name ’*.gif’ &> images 2> /dev/null
- d. find / -name ’*.gif’ 2> /dev/null &> images
FAQ
1. Qu'est-ce que la commande echo -n "Bonjour tout le monde" fait ?
La commande echo -n "Bonjour tout le monde" affiche exactement "Bonjour tout le monde" sans aller à la ligne.
2. Comment créer un fichier vide avec un espace dans le nom ?
Pour créer un fichier vide avec un espace dans le nom, vous pouvez utiliser la commande touch avec des guillemets ou des barres obliques inverses pour échapper l'espace.
3. Qu'est-ce que la commande ls -la fait ?
La commande ls -la liste tous les fichiers et répertoires (y compris les fichiers cachés) du répertoire courant, avec des détails sur les permissions et les dates de modification.