Résumé des Questions et Réponses
1 TP1 : Commandes de Base de Linux
1.1 Partie I : Découverte de l’Environnement
1. Question : De l’interface graphique, ouvrez un terminal.
Réponse : Utilisez le raccourci clavier ou le menu des applications pour
ouvrir un terminal.
2. Question : Identifiez le Shell utilisé.
Réponse : Utilisez la commande echo $SHELL.
3. Question : Affichez le nom du terminal associé à l’entrée standard.
Réponse : Utilisez la commande tty.
4. Question : Affichez les informations sur l’utilisateur courant.
Réponse : Utilisez la commande whoami ou id.
5. Question : Quels sont les utilisateurs actuellement connectés ?
Réponse : Utilisez la commande who ou w.
6. Question : Ouvrez une autre session sur la première console virtuelle.
Réponse : Utilisez Ctrl+Alt+F1 pour accéder à la première console
virtuelle.
7. Question : Comparez les utilisateurs connectés après l’ouverture d’une
session sur la troisième console virtuelle.
Réponse : Utilisez who pour voir les différences.
8. Question : Déconnectez-vous de la session ouverte sur la troisième con-
sole virtuelle.
Réponse : Utilisez la commande exit ou logout.
9. Question : Créez l’utilisateur user1 en utilisant la commande adduser.
Réponse : Utilisez sudo adduser user1.
10. Question : Examinez le fichier /etc/passwd pour identifier le Shell de
connexion de user1.
Réponse : Utilisez cat /etc/passwd | grep user1.
11. Question : Changez le Shell de connexion de user1.
Réponse : Utilisez chsh -s /bin/<shell> user1.
1
1.2 Partie II : Manipulation de Fichiers et Répertoires
1. Question : Affichez la chaı̂ne suivante : Hi $1, je suis l’utilisateur
* (devinez) !
Réponse : Utilisez echo "Hi $1, je suis l’utilisateur $USER !".
2. Question : Affichez la date et l’heure actuelles selon un format spécifique.
Réponse : Utilisez date +"%A %d/%m, il est %H heures et %M minutes".
3. Question : Recherchez tous les fichiers du répertoire /etc contenant la
chaı̂ne de caractères ”root”.
Réponse : Utilisez grep -r "root" /etc.
4. Question : Recherchez l’emplacement du fichier stdio.h.
Réponse : Utilisez find / -name stdio.h.
5. Question : Affichez la liste des fichiers de /usr/include dont le nom
commence par a, b, ou c.
Réponse : Utilisez find /usr/include -name "[a-c]*".
6. Question : Recherchez tous les exécutables dans /bin ayant des droits
d’endossement.
Réponse : Utilisez find /bin -perm -u=s.
7. Question : Combien d’utilisateurs sont créés sur le système ?
Réponse : Utilisez wc -l /etc/passwd.
8. Question : Créez le répertoire BioInfo dans le répertoire personnel de
user1.
Réponse : Utilisez mkdir /BioInfo.
9. Question : Extrayez les cinq premiers et les trois derniers utilisateurs du
fichier /etc/passwd.
Réponse : Utilisez head -n 5 /etc/passwd et tail -n 3 /etc/passwd.
10. Question : Utilisez sed pour extraire les lignes 10 à 15 du fichier /etc/passwd.
Réponse : Utilisez sed -n ’10,15p’ /etc/passwd.
1.3 Partie III : Les Droits d’Accès
1. Question : Affichez tous les fichiers du répertoire personnel dont les
droits d’accès sont 764.
Réponse : Utilisez find -perm 764.
2. Question : Affichez tous les fichiers du répertoire personnel dont les
droits d’accès sont différents de 764.
Réponse : Utilisez find ! -perm 764.
3. Question : Affichez tous les fichiers du répertoire personnel dont les
droits d’accès sont rwxr—r—.
Réponse : Utilisez find -perm 744.
2
4. Question : Affichez les attributs de tous les fichiers SUID du répertoire
/bin.
Réponse : Utilisez find /bin -perm -4000.
5. Question : Que fait la commande suivante : find /tmp -type f -atime
+7 ?
Réponse : Elle recherche tous les fichiers dans /tmp qui n’ont pas été
accédés depuis plus de 7 jours.
6. Question : Affichez les droits du répertoire /tmp. Que remarquez-vous ?
Réponse : Utilisez ls -ld /tmp. Les droits sont généralement drwxrwxrwt.
7. Question : Créez un fichier fich et un répertoire rep avec les droits
d’accès 777 dans le répertoire /tmp.
Réponse : Utilisez touch /tmp/fich et mkdir /tmp/rep, puis chmod
777 /tmp/fich /tmp/rep.
8. Question : Est-ce que user1 est capable de supprimer le fichier fich et
le répertoire rep ?
Réponse : Oui, car les droits 777 permettent à tout utilisateur de mod-
ifier ou supprimer les fichiers.
1.4 Partie IV : Les Processus
1. Question : Lancez le processus sleep 1800 en arrière-plan.
Réponse : Utilisez sleep 1800 &.
2. Question : Récupérez le PID du processus lancé.
Réponse : Utilisez ps ou jobs -l.
3. Question : Quel est l’état du processus lancé ?
Réponse : Utilisez ps -ly pour voir l’état du processus.
4. Question : Remettez ce processus en avant-plan.
Réponse : Utilisez fg %1.
5. Question : Interrompez l’exécution du processus lancé en tapant CTRL+Z.
Réponse : Le processus sera suspendu.
6. Question : Relancez le processus suspendu en arrière-plan.
Réponse : Utilisez bg %1.
7. Question : Modifiez la priorité du processus pour qu’elle soit égale à 10.
Réponse : Utilisez renice 10 -p <PID>.
8. Question : Envoyez le signal de terminaison à ce processus.
Réponse : Utilisez kill <PID>.
3
2 TP2 : Programmation Shell
2.1 Partie I : Les Variables Shell
1. Question : Placez le chemin de votre répertoire courant dans une variable
nommée myrep puis listez son contenu.
Réponse : myrep=$(pwd); ls $myrep.
2. Question : Affichez le contenu de la variable myrep dans un nouveau
terminal. Que se passe-t-il ?
Réponse : La variable n’est pas définie dans le nouveau terminal. Pour
y remédier, exportez-la avec export myrep.
3. Question : Créez une variable base avec la valeur fich.
Réponse : base="fich".
4. Question : Affichez la liste des fichiers dont le nom commence par fich
et se termine par .txt.
Réponse : ls $base*.txt.
5. Question : Protégez la variable base en écriture.
Réponse : Utilisez readonly base.
2.2 Partie II : Personnalisation du Shell
1. Question : Modifiez le fichier .bashrc pour afficher un message person-
nalisé à chaque ouverture de terminal.
Réponse : Ajoutez une ligne comme echo "Bonjour $USER, nous sommes
le $(date)" dans .bashrc.
2. Question : Créez un répertoire bin dans le répertoire personnel.
Réponse : mkdir /bin.
3. Question : Ajoutez le chemin de bin à la variable PATH.
Réponse : Ajoutez export PATH=$HOME/bin:$PATH dans .bashrc.
3 TP3 : Programmation Python
3.1 Partie I
1. Question : Écrivez un script Python qui affiche le nom du script et les
arguments passés.
Réponse : Utilisez [Link] pour accéder aux arguments.
2. Question : Générez une chaı̂ne ADN d’une longueur d’au plus 1000
nucléotides.
Réponse : Utilisez [Link] pour générer la séquence.
4
3. Question : Calculez le nombre d’apparition des bases nucléiques dans
une chaı̂ne ADN.
Réponse : Utilisez [Link]() pour compter chaque base.
4. Question : Vérifiez la validité d’une chaı̂ne ADN.
Réponse : Utilisez une fonction qui vérifie si la chaı̂ne contient unique-
ment ”A”, ”C”, ”G”, et ”T”.
5. Question : Traduisez une séquence ADN en ARN.
Réponse : Remplacez ”T” par ”U” avec [Link]().
6. Question : Calculez le complément inverse d’une chaı̂ne ADN.
Réponse : Inversez la chaı̂ne et remplacez chaque base par son complément.
7. Question : Lisez un fichier FASTA et affichez les séquences d’ADN.
Réponse : Utilisez une boucle pour lire le fichier ligne par ligne.
8. Question : Calculez le taux de GC d’une séquence d’ADN.
Réponse : Comptez les occurrences de ”G” et ”C”, puis calculez le
pourcentage.
9. Question : Faites la transcription d’une séquence ARN en protéines.
Réponse : Utilisez un dictionnaire pour mapper les codons aux acides
aminés.