ISET Charguia Département
informatique
Examen
Module
: Unix et Linux
Classe : lnfo3lR
Date : juin 2007
Enseignant : BOUCETTA Hela
Durée de l'épreuve : 1h30
Nombre de pages : 3 pages
Important :
- La clarté et la concision
des réponses seront des éléments importants d'appréciation.
- Soignez vos réponses et votre rédaction. Il sera tenu
compte des erreurs de français.
- Documents non autorisés.
![]()
Ecrire un script sheli desc-flle
qui affiche, pour chaque
fichier, le nom, le propriétaire ainsi
que la taille. Les fichiers seront passés en
paramètre. Ce script indique une erreur si l'un
des éléments de la liste n'est pas un fichier ou s'il
n'existe pas. Respecter le format
d'affichage du résultat indiqué dans l'exemple ci
dessous. Le séparateur de champs dans
le résultat est un double deux points.
Exemple: [userelocalhost -] desc-file
/mnt /etc/passwd /home/user/config
nomfichier::propriétaire::taille
/etc/passwd:,:root::79
/home/user/config::user::234
/mnt n'est pas un fichier.
[user@localhost -] desc-file
Erreur de syntaxe:desc-file nom fichier [nom2
.......]

Soit la structure de fichiers ci dessous. Le
répertoire Projet contient
les fihiers d'un même
projet (fichier texte, fichier objet, fichier C et un
fichier exécutable liste). On se propose
d'inclure le fichier liste dans le répertoire Communs pour qu'il puisse être exécuté avec le fichier shell liste.c.
Une modification du fichier liste.c engendrera une modifiction du
fichier exécutable liste (aprés compilation). Pour
exécuter le fichier liste.sh on a
toujours besoin de la dernière version du fichier
exécutable liste.


1. Est ce qu'une copie du fichier liste résoud le
problème? Pourquoi?
2. Proposer une solution permettant d'accéder au
fichier liste du répertoire
Projet depuis le répertoire Communs (Donner les
commandes nécessaires pour réaliser la solution proposée).
3. Utiliser la commande fend pour supprimer,
dans la sous arborscence commençant par le répertoire Work, toutes les
entités dont le nom est « core » ou bien se terminant par « .o », correspondant
à des fichiers ordinaires admettant les droits de lecture et d'écriture.
4. Décomposer, expliquer et simplifier la commande
suivante:
cat liste.clgrep
filelwc -I
5. En une seule comande, trier le contenu du
répertoire Work sur le champ
taille; afficher le résultat simultanément sur la
sortie standard et dans le fichier
save-size.
Remarque:le résultat
de la commande /s -/ est sous la orme suivante
-rw-r--r-- 1 root root 7568 sep 15 12:45 guide.html
6. Donner la commandee permettant d'affG_ icher le'nombre de caractères de la
ligne 5 du fichier liste.sh
7. Donner les étapes à réaliser pour pouvoir lancer
l'exécution du fichier liste.sh
à partir
de n'importe quel emplacement de l'arborescence du système
8. Donner
trois lignes de commandes différentes permettant d'extraire les lignes
6,7,8 et 9 du fichier liste.sh et les ajouter
dans le fichier release.sh
9. Donner la commande qui affiche le nombre de
fichiers et répertoires non
cachés du répertoire /usr/lib, dont le nom contient
une lettre majuscule
10. Expliquer à quoi sert la redirection de la sortie
standard d'une commande
![]()

1. Quelle est la commande qui permet de déduire ce
tableau?
2. Quels sont les différents modes d'exécution d'une
commande?
3. Dans quels cas aura t-on besoin d'une exécution en
arrière plan? Quelle est la commande qui permet de déplacer une exécution du
mode background au mode foreground?
4. Qu'est ce qu'un num de job? Quelle est a commande
qui affiche le num de
job d'un processus en exécution en arrière plan?
Bonne Chance