EXERCICE 01 :
1) Definition :
2) Non, La taille d'un fichier sous Linux n'est pas bornée en théorie. Le système de fichiers utilisé par Linux, tel que ext4, supporte des tailles de fichiers extrêmement grandes, allant jusqu'à plusieurs téraoctets. Cependant, dans la pratique, certaines limites peuvent être rencontrées en fonction de la configuration du système de fichiers et des limites imposées par le système d'exploitation lui-même.
3) Le partage de ressources pose des problèmes dans un système multiprogrammé en temps partagé car plusieurs processus concurrents peuvent essayer d'accéder et de modifier les mêmes ressources en même temps. Cela peut entraîner des conflits et des conditions de concurrence, où les résultats des opérations ne sont pas déterministes et peuvent entraîner des incohérences ou des erreurs dans les données.
4) Oui, le système UNIX permet de contrôler les accès aux ressources partagées. Il offre des mécanismes de protection et de gestion des droits d'accès aux fichiers, aux répertoires et à d'autres ressources système. Ces mécanismes incluent les permissions de fichiers (lecture, écriture, exécution) pour les propriétaires, les groupes et les autres utilisateurs, ainsi que des mécanismes avancés tels que les listes de contrôle d'accès (ACL) pour des contrôles d'accès plus granulaires.
5) La commande pour copier les fichiers du répertoire personnel de l'utilisateur courant dont le nom commence par un 'p' ou par un 'P' et dont l'avant-dernier caractère est un '3' ou un '2' dans le répertoire /tmp est la suivante :
$ cp ~/p*[23] /tmp/
Explication :
- cp est la commande pour copier des fichiers.
- ~/p*[23] spécifie le motif des noms de fichiers à copier. ~ représente le répertoire personnel de l'utilisateur courant, p* indique que le nom du fichier doit commencer par 'p' ou 'P', [23] indique que le dernier caractère avant l'extension doit être '3' ou '2'.
- /tmp/ est le répertoire de destination où les fichiers seront copiés.
- La commande si copiera tous les fichiers du répertoire personnel de l'utilisateur courant correspondant au motif spécifié vers le répertoire /tmp/.
EXERCICE 02 :
A) ----------
1) La commande pour afficher le nom et le niveau de chaque étudiant par ordre décroissant de niveau à partir du fichier "listeEtud.txt" est la suivante :
sort -k5r listeEtud.txt | cut -d' ' -f1,5
Explications :La commande sort -k5r listeEtud.txt trie les lignes du fichier "listeEtud.txt" en utilisant le cinquième champ (niveau) comme clé de tri. L'option -r indique un tri en ordre décroissant. La commande cut -d' ' -f1,5 découpe chaque ligne en utilisant l'espace comme délimiteur et extrait les champs 1 (nom) et 5 (niveau).
Quelle commande faut-il utiliser pour trier les étudiants par ordre alphabétique en fonction de leur nom ?
La commande est : sort -k1 listeEtud.txt
Quelle commande faut-il utiliser pour trier les étudiants par ordre décroissant en fonction de leur âge ?
La commande est : sort -nrk2 listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les noms des étudiants présents dans le fichier ?
La commande est : cut -f1 listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les matières étudiées par les étudiants ?
La commande est : cut -f3 listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les étudiants dont la note est supérieure à 17 ?
La commande est : awk '$4 > 17' listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les âges des étudiants présents dans le fichier ?
La commande est : cut -f2 listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les notes des étudiants présents dans le fichier ?
La commande est : cut -f4 listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les niveaux d'études des étudiants présents dans le fichier ?
La commande est : cut -f5 listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les matières et les notes des étudiants présents dans le fichier ?
La commande est : cut -f3,4 listeEtud.txt
Quelle commande faut-il utiliser pour afficher le nombre d'étudiants présents dans le fichier ?
La commande est : wc -l listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les étudiants de niveau "L3" ?
La commande est : grep "L3" listeEtud.txt
Quelle commande faut-il utiliser pour afficher uniquement les noms des étudiants qui étudient la chimie ?
La commande est : grep "CHIMIE" listeEtud.txt | cut -f1
Quelle commande faut-il utiliser pour afficher uniquement les étudiants dont l'âge est compris entre 20 et 25 inclus ?
La commande est : awk '$2 >= 20 && $2 <= 25' listeEtud.txt
Quelle commande faut-il utiliser pour afficher les noms uniques des étudiants présents dans le fichier ?
La commande est : cut -f1 listeEtud.txt | uniq
Quelle commande faut-il utiliser pour afficher les matières uniques des étudiants présents dans le fichier ?
La commande est : cut -f3 listeEtud.txt | uniq
Quelle commande faut-il utiliser pour afficher les niveaux d'études uniques des étudiants présents dans le fichier ?
La commande est : cut -f5 listeEtud.txt | uniq
Quelle commande faut-il utiliser pour afficher les noms des étudiants âgés de plus de 20 ans ?
La commande est : awk '$2 > 20 {print $1}' listeEtud.txt
Quelle commande faut-il utiliser pour afficher les matières des étudiants ayant obtenu une note supérieure à 17 ?
La commande est : awk '$4 > 17 {print $3}' listeEtud.txt
Quelle commande faut-il utiliser pour afficher les étudiants dont le niveau est supérieur ou égal à "L3" et dont la matière est "INFO" ?
La commande est : awk '$5 >= "L3" && $3 == "INFO" {print $1}' listeEtud.txt
Quelle commande faut-il utiliser pour afficher la liste des utilisateurs connectés au système, ainsi que leurs informations de connexion telles que l'heure de connexion, le terminal utilisé et l'adresse IP ?
La commande est : who
Combien y a-t-il de lignes dans le fichier "listeEtud.txt" ?
La commande est : wc -l listeEtud.txt
B-----------
Je veux aller dans le r ́epertoire /usr/local/games/mariobros, et le r ́epertoire courant est
/usr/local. Quelle(s) commande(s) peut-on taper ?
A : cd /games/mariobros
B : cd games/mariobros
C : cd local/mariobros
D : cd /usr/local/games/mariobros
E : cd /usr/local/../local/games/mariobros
F : cd ../games/mariobros
REPONSE : B - D - E
C------------
Quelle difference y a-t-il entre les commandes mv toto titi et cp toto titi ? REPONSE : cp (copy) fait une copie du premier fichier : un nouveau fichier est cr ́e ́e, son contenu est identique `a celui du fichier d’origine,
mais leurs noms sont diff ́erents. toto et titi existent de fa ̧con parall`ele. mv (move) renomme le fichier toto en titi. Apres l’ex ́ecution de la commande, toto n’existe plus et titi a le contenu de toto (avant le mv).
EXERCICE 03 :
1.
Bonjour de l'enfant !
Bonjour du Parent !
(ou)
2.
Bonjour du Parent !
Bonjour de l'enfant !
- Dans le code un processus enfant est créé. fork() renvoie 0 dans le processus enfant et un entier positif dans le processus parent. Ici, deux sorties sont possibles car le processus parent et le processus enfant s'exécutent simultanément. Nous ne savons donc pas si le système d'exploitation donnera d'abord le contrôle au processus parent ou au processus enfant. Important : Le processus parent et le processus enfant exécutent le même programme, mais cela ne signifie pas qu'ils sont identiques