SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
Faycel CHAOUA (faycelchaoua@gmail.com)
ISET KELIBIA | ROUTE OUED ELKHATF, CAMPUS UNIVERSITAIRE DE KELIBIA
Manuel des TP
ATELIER SYSTEMES 2
LMD  L2
Ministère de l'Enseignement Supérieur et de la Recherche Scientifique
Direction Générale des Études Technologiques
ISET Kélibia
Département Technologies de l’Informatique
Janvier 2018
Faycel CHAOUA Atelier systèmes 2 i
Conditions d’utilisation de ce manuel
Ce manuel des TP est mis à disposition selon les termes de la licence « Creative Commons
Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0
International ».
https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr
Vous êtes autorisé à :
» Partager  copier, distribuer et communiquer le matériel par tous moyens et sous tous
formats.
» Adapter  remixer, transformer et créer à partir du matériel
Selon les conditions suivantes :
» Attribution  Vous devez créditer l'œuvre, intégrer un lien vers la licence et indiquer
si des modifications ont été effectuées à l'œuvre. Vous devez indiquer ces informations
par tous les moyens raisonnables, sans toutefois suggérer que l'offrant vous soutient ou
soutient la façon dont vous avez utilisé son œuvre.
» Pas d’utilisation commerciale  Vous n'êtes pas autorisé à faire un usage commercial
de cette œuvre, tout ou partie du matériel la composant.
» Partage dans les mêmes conditions  Dans le cas où vous effectuez un remix, que
vous transformez, ou créez à partir du matériel composant l'œuvre originale, vous devez
diffuser l'œuvre modifiée dans les même conditions, c'est à dire avec la même licence
avec laquelle l'œuvre originale a été diffusée.
Faycel CHAOUA Atelier systèmes 2 ii
Les objectifs généraux
A l’issue des travaux pratiques présentés dans ce manuel, l’apprenant sera capable de :
 Tester une distribution Linux en session live (sans installation).
 Installer et configurer une distribution Linux.
 Gérer des fichiers et des répertoires.
 Distinguer les méthodes de recherche des fichiers.
 Appliquer des filtres et des flux de redirection.
 Gérer les utilisateurs et les groupes.
 Modifier les droits d’accès.
 Gérer les processus.
 Planifier des tâches.
 Gérer des scripts Shell.
Plan des travaux pratiques
Ce manuel est constitué principalement des TP suivants :
 TP 1 : Installation UBUNTU.
 TP 2 : Gestion des fichiers.
 TP 3 : Gestion des filtres et expressions régulières.
 TP 4 et TP 5 : Gestion des utilisateurs et des droits d'accès.
 TP 6 : Gestion des processus.
 TP 7 : Scripts et variables.
Faycel CHAOUA Atelier systèmes 2 iii
Tables des matières
TP (Travaux pratiques) ........................................................................................................................ 1
TP N° 1................................................................................................................................................ 2
TP N° 2.............................................................................................................................................. 10
TP N° 3.............................................................................................................................................. 19
TP N° 4/5........................................................................................................................................... 24
TP N° 6.............................................................................................................................................. 28
TP N° 7.............................................................................................................................................. 32
Correction des TP................................................................................................................................ 36
Correction du TP N° 1....................................................................................................................... 37
Correction du TP N°2........................................................................................................................ 38
Correction du TP N° 3....................................................................................................................... 45
Correction des TP N° 4/5 .................................................................................................................. 48
Correction du TP N° 6....................................................................................................................... 52
Correction du TP N° 7....................................................................................................................... 57
Références (Bibliographie / Webographie) ....................................................................................... 62
Faycel CHAOUA Atelier systèmes 2 1
TP
(Travaux
pratiques)
Faycel CHAOUA Atelier systèmes 2  TP1 2
1. Objectifs spécifiques
 Installer et configurer une distribution Ubuntu.
 Explorer des applications en mode graphique.
 S’initier à l’utilisation des commandes Shell.
2. Description
Ubuntu est un système d'exploitation libre et entièrement gratuit. Avant que l'installation débute, il est
essentiel de récupérer une copie de son média d'installation. Ceci peut être réalisé de plusieurs manières,
entièrement gratuites et légales.
La mise en œuvre d’un système de gestion de contenu est le résultat de plusieurs compromis techniques
et organisationnels :
 la communication des contenus s’appuie sur un processus de validation et nécessite un travail
de collaboration,
 le système peut évoluer pour s’adapter aux évolutions ou réorganisations nécessaires.
3. Outils
 Ubuntu 16.04 LTS : image .iso de la dernière version bénéficiant du support à long terme
d’Ubuntu.
 MD5Checker : Avant de commencer la gravure de l'image .iso, il est fortement recommandé
d'en contrôler son intégrité grâce à la somme de contrôle MD5. Ce contrôle-qualité assure que
le fichier image d'Ubuntu téléchargé d'Internet est complet et sans erreur.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 3 heures
TP N° 1
Faycel CHAOUA Atelier systèmes 2  TP1 3
4. Travail demandé
 Partie 1 (Obtenir un média d'installation d'Ubuntu) :
 Option №1 : Téléchargement depuis Internet
 On télécharge une image du disque d'installation d'Ubuntu (solution gratuite).
 On peut soit créer une clé USB amorçable soit graver l'image disque sur un DVD.
 On vérifie avec MD5Checker que le média d'installation ne contient pas d'erreur.
 Option №2 : Se faire livrer un Live USB
 On reçoit un Live-USB d'Ubuntu par voie postale grâce à la boutique de l'association
Ubuntu-FR (solution payante).
 Option №3 : Autres façons de commander un DVD
 On achète un magazine (ou un livre) à propos d'Ubuntu (accompagné d’un CD
d’installation).
 On récupère un DVD lors d’événements, tels le salon « Solutions Linux » (solution
généralement gratuite).
 On contacte un GUL « Groupe d'Utilisateurs de GNU/Linux » solution généralement
gratuite).
 On achète une copie d'Ubuntu auprès d'un revendeur.
 Partie 2 (Tester Ubuntu en session live) :
 Cette option exécute une session live d'Ubuntu, c'est-à-dire exécute Ubuntu directement
dans la mémoire volatile de l’ordinateur. Cette option est fort utile pour tester Ubuntu et
son bon fonctionnement avec le matériel (affichage, son, etc.) sans rien changer dans
l’ordinateur. On aura ainsi un premier aperçu de ce système. Dans la session-live, on pourra
ensuite exécuter l'outil d'installation d'Ubuntu.
 Une fois la routine d'amorçage terminée, on sera soit en présence d'une interface GNU
Grub2 si l'EFI est pris en charge ou graphique dans le cas contraire.
Faycel CHAOUA Atelier systèmes 2  TP1 4
Interface Grub2 Interface graphique
Sélectionner Try Ubuntu without installing Sélectionner la langue puis Essayer Ubuntu
 On valide et on laisse le chargement en mémoire vive (RAM) de la session live se terminer.
On aura alors un bureau Ubuntu.
 On prend le temps de bien se familiariser avec l'interface d'Ubuntu. On peut aussi vérifier
que le matériel (imprimante, internet) est bien reconnu par Ubuntu.
 Après la phase de test, il suffit de retirer le DVD-ROM d'Ubuntu ou le live USB de
l’ordinateur et au redémarrage suivant, on retrouvera l’ancienne configuration.
 Partie 3 (Installer Ubuntu avec le média d’installation) :
 Dans la phase de test, on a choisi l’entrée de menu "Essayer Ubuntu sans rien changer
sur votre ordinateur".
 Dans la phase d’installation, on doit choisir l'entrée de menu "Installer Ubuntu".
 Étape 1 : Sélection de la langue
Faycel CHAOUA Atelier systèmes 2  TP1 5
 Un écran de bienvenue annonce le démarrage de la procédure d'installation d'Ubuntu.
 On choisit la langue dans laquelle on souhaite poursuivre l'installation. C'est aussi avec
cette langue que le système sera paramétré par défaut.
 On pourra activer des langues supplémentaires une fois l'installation complétée.
 On appuie sur le bouton Suivant pour continuer à l'étape suivante.
 Étape 2 : Préparation de l'installation
 Le second écran demande de vérifier qu’on dispose bien du nécessaire pour poursuivre
l'installation : espace libre sur le disque dur, alimentation secteur et connexion internet.
 Étape 3 : Allouer de l'espace disque
Faycel CHAOUA Atelier systèmes 2  TP1 6
 Ce troisième écran permet de choisir si on souhaite conserver le système d'exploitation
installé (Windows généralement) ou pas.
 On appuie sur le bouton Suivant pour passer à l'étape suivante (ou à l'écran de
partitionnement manuel, si on veut redimensionner les partitions de disque dur et d'en créer
des nouvelles, aux tailles désirées, pour Ubuntu).
 Lorsque le partitionnement est terminé, on clique sur "Installer maintenant" pour débuter
l'installation d'Ubuntu.
 À partir de maintenant, on ne peut plus arrêter l'installation, mais il reste quelques
informations à renseigner dans les étapes ci-dessous.
 Étape 4 : Emplacement géographique
Faycel CHAOUA Atelier systèmes 2  TP1 7
 On clique sur la localité dans la carte interactive, ou bien on saisit le nom de la ville la plus
proche.
 Cela permettra à Ubuntu de régler automatiquement l'horloge à l'heure locale, de se
synchroniser régulièrement avec des serveurs de temps, etc.
 On clique ensuite sur Suivant.
 Étape 5 : Disposition du clavier
 On paramètre la disposition des touches de clavier.
 On clique ensuite sur Suivant.
 Étape 6 : Identité
Faycel CHAOUA Atelier systèmes 2  TP1 8
 On crée un compte d’utilisateur. Ce compte sera aussi paramétré comme étant
administrateur de système Ubuntu.
 On appuie sur le bouton Suivant pour confirmer les paramètres.
 Étape 7 : Fin de l’installation
 On laisse l'installation se poursuivre jusqu'à la fin.
 On patiente jusqu'à ce que l'installation arrive à son terme. Une fenêtre indiquera que
l'installation est terminée et proposera de redémarrer l’ordinateur sur le nouveau système
d'exploitation Ubuntu.
Faycel CHAOUA Atelier systèmes 2  TP1 9
 Partie 4 (Après l’installation) :
 On active la connexion Internet.
 Il est possible d'installer des logiciels supplémentaires dans Ubuntu même si on n’a pas de
connexion Internet. Il suffit de télécharger les logiciels via un autre poste (disposant d'un
accès internet), puis de les mettre sur clé USB ou CD afin de les copier et installer sur le
PC.
 Si on a installé Ubuntu (ou une de ses variantes) sans connexion à Internet, il est possible
que le système et les applications ne soient pas entièrement traduits en français. Dans ce
cas, on peut rendre Ubuntu 100% français.
 Améliorer la reconnaissance matérielle : on accède au menu Paramètres système →
matériels → Pilotes additionnels, Ubuntu sélectionnera automatiquement les pilotes dont
on a besoin, il ne restera plus qu'à les installer.
 Améliorer l'accessibilité : Ubuntu offre un panel de programmes pour les personnes en
situation de handicap : reconnaissance vocale, loupe d'écran, etc.
Installer les principaux codecs multimédia propriétaires (mp3, flash, wmv, DVD, etc.) : il
suffit d'installer le paquet correspondant.
 Rendre Ubuntu plus convivial (changer le fond d'écran, le thème, etc) : Il existe plein de
petits trucs et astuces pour rendre Ubuntu plus facile/agréable à utiliser.
 Faire cohabiter Ubuntu avec Windows : si on a installé Ubuntu en cohabitation avec
Windows, on peut maintenant choisir Ubuntu ou bien Windows au démarrage de
l’ordinateur.
Voila! On a maintenant installé un système GNU/Linux Ubuntu pleinement fonctionnel et
prêt à être utilisé.
Faycel CHAOUA Atelier systèmes 2  TP2 10
1. Objectifs spécifiques
 Manipuler des chemins relatifs et absolus.
 Maitriser les commandes de manipulation des répertoires.
 Maitriser les commandes de manipulation des fichiers.
 Maitriser l’éditeur de texte Vi/Vim.
2. Description
 La console affiche une invite de commandes au début de la ligne. Cette invite rappelle le nom
d'utilisateur, le nom de la machine ainsi que le dossier dans lequel on se trouve.
 On rentre des commandes dans la console pour demander à l'ordinateur d'exécuter des actions.
 Chaque commande peut être complétée de paramètres qui agissent comme des options pour
modifier l'action de la commande.
 Les paramètres sont généralement constitués d'une lettre précédée d'un tiret (-a) ou de plusieurs
lettres précédées de deux tirets (--all).
 Après avoir saisi les premières lettres d'une commande, on peut compléter son nom à l'aide de
la touche Tabulation.
 On peut retrouver les commandes précédentes à l'aide des flèches directionnelles Haut et Bas
ou encore effectuer une recherche parmi les commandes précédentes avec Ctrl + R.
 Il existe de nombreux autres raccourcis clavier qu'il est recommandé de connaître pour pouvoir
profiter pleinement de la console.
 Sous Linux, tout est organisé sous forme de fichiers. Il n'y a pas de lecteur du type C: comme
sous Windows.
 Les dossiers sont imbriqués entre eux à partir du dossier parent principal /. On l'appelle
la racine.
 Le dossier dans lequel les utilisateurs stockent leurs documents est /home. Pour un utilisateur
ayant comme login « user1 », le dossier personnel sera /home/user1.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
TP N° 2
Faycel CHAOUA Atelier systèmes 2  TP2 11
 La commande pwd permet de savoir en console dans quel dossier on se situe.
 La commande ls affiche la liste des fichiers présents dans le dossier actuel.
 La commande cd permet de changer de dossier.
 cat permet d'afficher tout le contenu d'un fichier, mais lorsque celui-ci est long, il est préférable
d'utiliser more ou less qui affichent le fichier page par page.
 On peut obtenir uniquement le début ou la fin d'un fichier avec head et tail. En utilisant
tail -f on peut suivre l'évolution d'un fichier en temps réel, ce qui est utile sur les fichiers de
log qui enregistrent l'activité du système.
 mkdir permet de créer un dossier, touch permet de créer un fichier vide.
 cp permet de copier un fichier ou un dossier, tandis que mv permet de les déplacer ou de les
renommer.
 rm supprime un fichier. Il n'y a pas de corbeille en console, la suppression est définitive ; il faut
donc être prudent. rmdir supprime les répertoires, s’ils sont vides.
 On peut créer des liens (raccourcis) vers des fichiers et dossiers à l'aide de la commande ln.
Chemin absolu
Chemin relatif
Faycel CHAOUA Atelier systèmes 2  TP2 12
Démonstration de manipulations de fichiers
Faycel CHAOUA Atelier systèmes 2  TP2 13
Démonstration de manipulations de répertoires
Faycel CHAOUA Atelier systèmes 2  TP2 14
 Vim (version améliorée de Vi) est un éditeur de texte très puissant en console. Son grand
concurrent est Emacs.
 Dans Vi/Vim, il existe trois modes : interactif, insertion et commande.
 Le mode par défaut est le mode interactif. Il faut appuyer sur la touche i pour insérer du texte
et sur la touche Echap pour revenir au mode interactif.
 On peut lancer des commandes en appuyant sur la touche deux points « : » depuis le mode
interactif. Par exemple, :w enregistre le fichier, :q quitte Vi/Vim et :wq effectue les deux à la
fois.
 Il existe de nombreux raccourcis à connaître pour bien utiliser Vi/Vim ; il faut prendre le temps
de les apprendre pour exploiter pleinement le logiciel.
 On peut modifier le fichier .vimrc pour activer certaines options de Vim, comme la coloration
automatique du code.
Modes d’exécution de Vi/Vim
Faycel CHAOUA Atelier systèmes 2  TP2 15
3. Travail demandé
 Partie 1 (Manipulation des fichiers et répertoires) :
 Infos système
 Quel est le système installé ?
 Quelle est la distribution installée ?
 Quels sont les utilisateurs en cours du système ?
 Ouvrir un nouveau terminal en utilisant un autre compte.
 Fermer ce terminal.
 La commande man
 Tester la commande man pour obtenir de l'aide sur man.
 Quelles sont les commandes susceptibles d'être documentées dans man ?
 Contenu de répertoires et de fichiers ascii (texte)
 Lister le contenu du répertoire /etc.
 Lister de manière détaillée le contenu du répertoire /etc. Les fichiers nommés "passwd"
et "shadow" sont-ils présents dans /etc ?
 Lister le contenu du répertoire /dev.
 Lister le contenu du fichier /etc/passwd.
 Combien de lignes, de mots et de caractères comporte le fichier /etc/passwd.
 Lister le contenu du fichier /etc/shadow.
 Lister le contenu du fichier /var/log/syslog (affichage progressif).
 Lister le contenu du fichier /var/log/syslog (affichage interactif).
 Lister les premières lignes du fichier /var/log/syslog.
 Lister les dernières lignes du fichier /var/log/syslog.
 Commandes
Déterminer les commandes permettant de réaliser les actions suivantes :
 Déterminer le répertoire par défaut dans la hiérarchie des répertoires.
 Créer un répertoire nommé "TP2".
Faycel CHAOUA Atelier systèmes 2  TP2 16
 Se positionner sous "TP2".
 Y a-t-il des fichiers, des répertoires dans ce répertoire ?
 Entrer du texte dans un fichier nommé "Mon_fichier".
 Lister le contenu de "Mon_fichier".
 Lister le répertoire courant.
 Créer, sous le répertoire "TP2", deux sous-répertoires : "Source" et "Data".
 Se positionner sous "Source".
 Lister le répertoire courant.
 Revenir sous le répertoire "TP2" et détruire "Source".
 Créer un deuxième fichier nommé "Mon_fichier_2".
 Copier chaque fichier en nom_de_fichier.old.
 Créer un répertoire "Old".
 Déplacer les fichiers avec l'extension old vers le répertoire "Old".
 Copier les fichiers sans extension dans le répertoire "Data".
 Sous le répertoire "TP2", créer un lien matériel "Mon_lien" équivalent à "Mon_fichier_2".
 Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro d'inode.
Que remarque-t-on ?
 Supprimer "Mon_lien". "Mon_fichier_2" a-t-il disparu?
 Sous le répertoire "TP2", créer un lien symbolique "Mon_nouveau_lien" sur
"Mon_fichier_2".
 Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2". Que remarque-t-on ?
 Supprimer "Mon_fichier_2". "Mon_nouveau_lien" a-t-il disparu?
 Quelle est la taille totale des fichiers contenus dans le répertoire "TP2" ?
 Effacer tous les fichiers créés dans le répertoire "TP2".
 Partie 2 (L’éditeur de texte Vi/Vim) :
 Lancement et sortie de Vi/Vim
 Lancer l'éditeur de texte Vi/Vim sans argument. Que constate-t-on ?
 Sortir de Vi/Vim.
 Éditer maintenant le fichier /etc/hosts. Que signifient les caractères ~ placés en début
de ligne ?
 Sortir de Vi/Vim.
Faycel CHAOUA Atelier systèmes 2  TP2 17
 Commandes de déplacement
 Éditer le fichier /etc/services.
 Sans utiliser le pavé directionnel du clavier (flèches),
 déplacer le curseur d'une ligne vers le bas.
 déplacer le curseur de douze lignes vers le bas.
 déplacer le curseur de huit lignes vers le haut.
 déplacer le curseur de seize caractères vers la droite.
 déplacer le curseur de neuf caractères vers la gauche.
 Déplacer le curseur en fin de ligne.
 Déplacer le curseur en début de ligne.
 Déplacer plusieurs fois le curseur sur le premier caractère du mot suivant.
 Déplacer plusieurs fois le curseur sur le premier caractère du mot précédent.
 Déplacer plusieurs fois le curseur sur le dernier caractère du mot suivant.
 Déplacer le curseur sur la dernière ligne du fichier.
 Déplacer le curseur sur la première ligne du fichier.
 Déplacer le curseur sur la 45ème ligne du fichier.
 Déplacer le curseur d'une page vers le haut.
 Déplacer le curseur d'une page vers le bas.
 Commandes d'édition et de correction
 Déplacer le curseur sur le sixième caractère de la première ligne du fichier.
 Insérer la chaîne de caractères "un" avant le curseur sur la ligne. On doit entrer dans le
mode "édition" de Vi/Vim.
 Sans utiliser le pavé directionnel du clavier, se déplacer de trois caractères vers la droite et
insérer la chaîne de caractères "deux" après le curseur. N'oublier pas de retourner en mode
"commandes" avant de déplacer le curseur, puis entrer de nouveau en mode "édition".
 Insérer la chaîne de caractères "trois" en début de ligne. Utiliser la commande qui permet
de passer en mode "édition" en insérant directement en début de ligne.
 Insérer la chaîne de caractères "quatre" en fin de ligne. Utiliser la commande qui permet de
passer en mode "édition" en insérant directement en fin de ligne.
 Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la
gauche.
 Supprimer le caractère sous le curseur.
 Supprimer le caractère situé avant le curseur.
Faycel CHAOUA Atelier systèmes 2  TP2 18
 Supprimer les cinq caractères précédant le curseur.
 Effacer tous les caractères se trouvant du curseur à la fin de la ligne. Utiliser la commande
d'effacement suivie de la commande de déplacement adéquate.
 Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la
gauche.
 Effacer tous les caractères se trouvant du début de la ligne au curseur. Utiliser la commande
d'effacement suivie de la commande de déplacement adéquate.
 Coller enfin de ligne le texte qu’on vient de "couper".
 Effacer la totalité de la ligne.
 Copier la dernière ligne du fichier et coller-la en début de fichier.
 Annuler la dernière commande. Est-ce que possible d'annuler aussi les commandes
précédentes ?
 Effacer les quatre premières lignes du fichier.
 Effacer les quatre lignes suivantes. Utiliser la commande de répétition.
 Commandes globales
 Essayer d'enregistrer les modifications qu’on a apportées au fichier. Est-ce que possible ?
 Enregistrer le travail dans le répertoire "TP2" sous le nom de fichier "services2". Utiliser
un chemin personnel pour spécifier le nouveau nom de fichier.
 Supprimer la première ligne du fichier, puis enregistrer et quitter Vi/Vim.
 Ouvrir de nouveau le fichier /etc/services et rechercher la chaîne de caractères "tcp".
 Déplacer le curseur d'occurrence en occurrence de la chaîne de caractères "tcp".
 Déplacer toujours le curseur d'occurrence en occurrence de la chaîne de caractères "tcp",
mais cette fois, dans le sens inverse de la recherche.
 Remplacer toutes les chaînes de caractères "udp" du fichier par "UDP".
 Options de l'éditeur
 Afficher toutes les options de l'éditeur.
 Afficher les numéros de lignes. Activer l'option adéquate.
 Définir le nombre d'espaces à 2 pour représenter une tabulation. Modifier la valeur de
l'option adéquate.
 Sortir de Vi/Vim sans enregistrer et ouvrir de nouveau le fichier /etc/services.
 Les options sont-elles toujours effectives ? Comment faire pour que ces modifications
soient permanentes ?
Faycel CHAOUA Atelier systèmes 2  TP3 19
1. Objectifs spécifiques
 Analyser les commandes de recherche des fichiers.
 Extraire, trier et filtrer des données.
 Traiter les flux de redirection.
2. Description
 Pour rechercher un fichier sur tout le disque, la commande locate est très rapide mais ne
trouvera pas les fichiers qui viennent d'être créés dans la journée. On peut mettre à jour la liste
des fichiers qu'elle connaît en appelant updatedb.
 find est une commande plus puissante mais plus lente qui va parcourir le disque à la recherche
des fichiers. Elle peut s'utiliser avec trois paramètres, dans l'ordre : où chercher, que chercher
et que faire avec.
 On peut rechercher des fichiers en fonction de leur nom (-name), de leur taille (-size), de leur
date de dernier accès (-atime), etc.
 Au lieu d'afficher les fichiers trouvés, on peut automatiquement les supprimer avec -delete
ou exécuter la commande de son choix sur chacun d'eux avec -exec.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
TP N° 3
Faycel CHAOUA Atelier systèmes 2  TP3 20
 grep est une commande couramment utilisée pour rechercher un mot dans un fichier.
 On peut utiliser des expressions régulières, un système complexe mais puissant, pour effectuer
des recherches précises. On fait dans ce cas appel à la commande egrep.
Caractère spécial Signification
. Caractère quelconque.
^ Début de ligne.
$ Fin de ligne.
[] Un des caractères entre les crochets.
? L'élément précédent est optionnel (peut être présent 0 ou 1 fois).
* L'élément précédent peut être présent 0, 1 ou plusieurs fois.
+ L'élément précédent doit être présent 1 ou plusieurs fois.
| Ou.
() Groupement d'expressions.
 sort trie des lignes de texte par ordre alphabétique. Le paramètre -n permet de trier par ordre
numérique.
 wc compte le nombre de lignes, de mots et d'octets dans un fichier.
 uniq supprime les doublons d'un fichier.
 cut coupe une partie d'un fichier.
 Au lieu d'afficher le résultat d'une commande dans une console, il est possible de l'enregistrer
dans un fichier. Il suffit d'ajouter le symbole > suivi du nom du fichier à la fin de la commande.
Par exemple ls > liste_fichiers.txt enregistre la liste des fichiers dans un fichier plutôt
que de l'afficher en console.
 Le symbole >> enregistre à la fin du fichier au lieu de l'écraser s'il existe déjà.
Faycel CHAOUA Atelier systèmes 2  TP3 21
 Les symboles 2> et 2>> permettent de rediriger seulement les erreurs dans un fichier. Quant à
2>&1 il redirige les erreurs dans le même fichier que les messages normaux.
 < permet de lire des données depuis un fichier et de les envoyer à une commande, tandis que <<
lit les données depuis le clavier.
 Le symbole | combine des commandes : les données de la commande à sa gauche sont envoyées
à la commande à sa droite. Ainsi, du | sort -nr récupère la liste des fichiers avec leur taille
et l'envoie à sort pour qu'il la trie.
Faycel CHAOUA Atelier systèmes 2  TP3 22
3. Travail demandé
 Partie 1 (Recherche des fichiers) :
 locate
 Créer un fichier "essai.txt" dans le répertoire d’accueil.
 Rechercher ce fichier avec la commande locate. Que remarque-t-on ?
 Reconstruire la base de données des fichiers du disque dur.
 Réexécuter la commande locate sur le fichier "essai.txt". Que peut-on conclure ?
 find
 Afficher la liste des fichiers .h situés sous le répertoire /usr/include.
 Afficher la liste des fichiers plus vieux que 3 jours situés sous le répertoire d’accueil.
 Partie 2 (Extraire, trier et filtrer des données) :
 head, tail, tubes
 Afficher les 5 premières, puis les 5 dernières lignes du fichier /etc/passwd.
 Afficher la 7ième ligne de ce fichier (et elle seule), en une seule ligne de commande.
 tr, more, tubes
 Afficher le fichier /etc/passwd en remplaçant les caractères / par des X.
 Obtenir le résultat précédent page par page.
 grep, cut, uniq, sort et tubes
Étudier la documentation des commandes cut et uniq.
 Afficher la liste des répertoires d’accueil des utilisateurs déclarés dans le fichier
/etc/passwd.
 On rappelle qu’à chaque utilisateur est associé un interpréteur de commandes (shell)
lancé lors de son login. La commande correspondante est indiquée dans le 7ième champ du
fichier /etc/passwd.
Faycel CHAOUA Atelier systèmes 2  TP3 23
 Afficher en une ligne de commande le nombre d’interpréteurs de commandes différents
mentionnés dans /etc/passwd.
 On dispose d'un fichier texte "telephone.txt" contenant un petit carnet d’adresses.
Chaque ligne est de la forme "nom prenom numerotelephone". Les champs sont séparés
par des tabulations.
 Répondre aux questions suivantes en utilisant à chaque fois une ligne de commande
shell :
 Afficher le carnet d’adresse trié par ordre alphabétique de noms.
 Afficher le nombre de personnes dans le répertoire.
 Afficher toutes les lignes concernant les “Dupond”.
 Afficher toutes les lignes ne concernant pas les “Dupond”.
 Afficher le numéro de téléphone (sans le nom) du premier “Dupond” apparaissant dans
le répertoire.
 Afficher le numéro de téléphone (sans le nom) du premier “Dupond” dans l’ordre
alphabétique (ordre basé sur les prénoms).
 Partie 3 (Maitriser les flux de redirection) :
 Redirections, méta-caractères
 Créer un répertoire nommé "inc" dans le répertoire d’accueil (HOME). En utilisant une seule
commande, y copier les fichiers du répertoire /usr/include dont le nom commence par
"std".
 Afficher la liste des fichiers de /usr/include dont le nom commence par a, b ou c.
 Modifier la commande de la question précédente pour qu'au lieu d’afficher le résultat, celui-
ci soit placé dans un fichier nommé "Abc.list" du répertoire d’accueil.
 Afficher le contenu de ce fichier en utilisant la commande cat. Copier avec cat son
contenu dans un nouveau fichier nommé "Copie".
 Toujours avec cat, créer un nouveau fichier nommé "Double" formé par la mise bout à
bout (concaténation) des fichiers "Abc.list" et "Copie".
 Vérifier que le nombre de lignes a bien doublé à l’aide de la commande wc.
 Créer un fichier nommé "Temp" contenant une ligne de texte.
 Avec cat, ajouter la ligne "The end" à la fin du fichier "Temp”.
 En une seule ligne de commande, faire afficher le nombre de fichiers de /usr/include
dont le nom contient la lettre t.
Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 24
1. Objectifs spécifiques
 Manipuler les commandes de gestion des utilisateurs.
 Manipuler les commandes de gestion des groupes.
 Modifier des droits d’accès.
2. Description
 Pour des raisons de sécurité, il est impossible sous Ubuntu de se connecter directement en root
au démarrage de l'ordinateur.
 On peut devenir root temporairement à l'aide de la commande sudo. Cette commande
signifie « Faire en se substituant à l'utilisateur : Substitute User DO ».
 La commande sudo su permet de devenir root indéfiniment.
 Le symbole # à la fin de l'invite de commandes indique qu’on est devenu super-utilisateur. On
peut alors exécuter autant de commandes en root qu’on le veut.
 Pour quitter le mode « root », on tape la commande exit (ou la combinaison CTRL + D).
 La commande useradd (adduser) permet d'ajouter un utilisateur. On doit au minimum fournir
un paramètre : le nom de l'utilisateur à créer.
 La commande passwd permet de changer le mot de passe d’un utilisateur en indiquant en
paramètre le nom du compte à modifier.
 La commande userdel (deluser) permet de supprimer un compte d’utilisateur. Le paramètre
--remove-home permet de supprimer aussi le répertoire personnel de l’utilisateur et tous ses
fichiers personnels.
 Les commandes adduser et deluser ne sont utilisées que sous Debian et tous ses
descendants, dont Ubuntu. Partout ailleurs, on doit utiliser les commandes useradd et
userdel.
 La commande groupadd (addgroup) permet de créer un nouveau groupe.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
TP N° 4/5
Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 25
 La commande usermod permet de modifier un utilisateur. Le paramètre -l renomme
l'utilisateur (le nom de son répertoire personnel ne sera pas changé). Le paramètre -g change
de groupe. Le paramètre –G permet d’affecter un utilisateur à plusieurs groupes. On ajoute le
paramètre –a (-aG) pour garder aussi les anciens groupes de l’utilisateur.
 La commande groupdel (delgroup) permet de supprimer un groupe.
 Les commandes addgroup et delgroup n’existent que sous Debian et ses dérivés.
 La commande chown permet de changer le propriétaire d’un fichier.
 La commande chgrp s'utilise exactement de la même manière que la commande chown à la
différence près qu'elle affecte cette fois le groupe propriétaire d'un fichier.
 La commande chown peut aussi changer le groupe propriétaire d'un fichier. L’option –R modifie
tous les sous-dossiers et fichiers contenus dans un dossier pour y affecter un nouvel
utilisateur/groupe.
 Chaque fichier et chaque dossier possède une liste de droits. C'est une liste qui indique qui a le
droit de voir (r) le fichier, de le modifier (w) et de l'exécuter (x).
 Les droits sont découpés en fonction des utilisateurs.
 On constate que r, w et x sont répétés trois fois en fonction des utilisateurs. Le premier triplet
rwx indique les droits que possède le propriétaire du fichier sur ce dernier. Le second triplet
rwx indique les droits que possèdent les autres membres du groupe sur ce fichier. Le dernier
triplet rwx indique les droits que possèdent tous les autres utilisateurs de la machine sur le
fichier.
 La commande chmod permet de modifier les droits d’accès. Le paramètre –R permet d’affecter
les droits récursivement.
Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 26
3. Travail demandé
 Partie 1 (Gestion des utilisateurs et des groupes) :
 Mise en place d'un espace de travail pour 4 utilisateurs
 Définir le lot de commandes à exécuter pour créer 4 utilisateurs en suivant les règles
suivantes :
 Création de 2 groupes (G1 et G2).
 Création de quatre utilisateurs (u1, u2, u3 et u4) avec leurs répertoires home.
 Modification des comptes créés.
 Les premier et deuxième utilisateurs sont membres du premier groupe.
 Les troisième et quatrième utilisateurs sont membres du second groupe.
 Le deuxième utilisateur est aussi membre du second groupe.
 Le quatrième utilisateur est aussi membre du premier groupe.
 Outre leur répertoire de travail, les utilisateurs ont accès à un répertoire commun
/home/groupe1 et/ou /home/groupe2 suivant leur groupe.
Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 27
 Détailler les étapes de création des groupes, des utilisateurs et des répertoires en indiquant
les fichiers utilisés et les commandes utilisées sur ces fichiers.
 Essayer de modifier les deux répertoires en commun avec les différents utilisateurs créés.
 Partie 2 (Droits d’accès) :
 Création d’un utilisateur banalisé
 Se connecter avec le compte de l’utilisateur user1.
 Est-il possible de faire une copie du fichier /etc/passwd ?
 Est-il possible de supprimer ou de modifier le fichier /etc/passwd ?
 Répéter ces tentatives en tant qu'utilisateur root.
 Expliquer la situation à l’aide de la commande ls -l.
 À l’aide de la commande id, vérifier l’identité de user1 connecté et le(s) groupe(s)
au(x)quel(s) il appartient.
 Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le monde, mais
non modifiable (même pas par son propriétaire user1).
 Créer un répertoire nommé "Secret", dont le contenu est visible uniquement par user1.
Les fichiers placés dans ce répertoire sont-ils lisibles par d’autres membres de groupe de
l’utilisateur user1 ?
 Créer un répertoire nommé "Connaisseurs" tel que les autres utilisateurs ne puissent pas
lister son contenu mais puissent lire les fichiers qui y sont placés.
On obtiendra: ls Connaisseurs
ls : Connaisseurs: Permission denied
cat Connaisseurs/toto
<...le contenu du fichier toto (s’il existe)...>
 Chercher dans le répertoire /usr/bin des exemples de commandes ayant la permission
SUID. De quel genre de commande s’agit-il ?
Faycel CHAOUA Atelier systèmes 2  TP6 28
1. Objectifs spécifiques
 Distinguer les commandes de gestion des processus.
 Lancer un processus en arrière-plan.
 Passer un processus en arrière-plan.
 Identifier les processus qui tournent en arrière-plan.
 Détacher un processus de la console.
 Reprendre un processus au premier-plan.
 Exécuter un programme à une heure différée.
 Programmer des commandes pour une exécution régulière.
2. Description
 Linux est multi-tâches (plusieurs programmes peuvent tourner en même temps) et multi-
utilisateurs (plusieurs utilisateurs peuvent se servir de la même machine en même temps en s'y
connectant via Internet).
 La commande w indique quels utilisateurs sont sur la machine, ce qu'ils font et quelques autres
statistiques comme la charge de travail de la machine et son uptime.
 La commande ps permet d'obtenir la liste des processus qui tournent au moment où on lance
la commande. Cette liste n'est pas actualisée en temps réel, contrairement à ce que fait la
commande top.
 Avec ps -ef, on peut avoir la liste de tous les processus lancés par tous les utilisateurs sur
toutes les consoles.
 Avec ps –ejH, on peut regrouper les processus sous forme d'arborescence. Plusieurs
processus sont des « enfants » d'autres processus, cela permet de savoir qui est à l'origine de
quel processus.
 Avec ps –u user1, on peut lister les processus lancés par l’utilisateur user1.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
TP N° 6
Faycel CHAOUA Atelier systèmes 2  TP6 29
 La combinaison de touches CTRL + C permet d'arrêter une commande en cours d'exécution
dans la console afin de pouvoir reprendre la main.
 La commande kill tue un processus, ce qui signifie qu'il lui demande de s'arrêter. Il a besoin
du numéro du processus, généralement fourni par ps ou top. Si le processus ne s'arrête pas, on
peut utiliser le paramètre -9 qui coupe brutalement le processus (avec risque de perte de
données).
 La commande killall permet de tuer plusieurs processus.
 La commande halt commande l'arrêt immédiat de l'ordinateur.
 De même, il existe la commande reboot pour redémarrer l'ordinateur.
 Il est possible d'envoyer des programmes en arrière-plan dans la console afin de garder la main
pour lancer de nouvelles commandes.
 Pour lancer un processus en arrière-plan, on peut ajouter le symbole & à la fin de la commande.
En revanche, lorsqu’on ferme la console, le processus est arrêté. Si on veut qu'il continue, on
utilise plutôt la commande nohup.
 Si on lance une commande normalement (en premier-plan) mais que celle-ci s'éternise, on peut
utiliser le raccourci CTRL + Z pour la mettre en pause et récupérer la main. Si on lance la
commande bg ensuite, elle reprendra son exécution en arrière-plan. On pourra la récupérer au
premier-plan avec fg à tout moment.
Faycel CHAOUA Atelier systèmes 2  TP6 30
 La commande jobs permet de connaître les processus qui tournent en arrière-plan.
 La commande date permet d'obtenir la date et l'heure mais aussi de modifier celles-ci.
 La commande at retarde l'exécution d'une commande à une heure ultérieure.
 On peut exécuter plusieurs commandes d'affilée en les séparant par des points-virgules :
touch fichier.txt ; rm fichier.txt.
 La commande sleep permet de faire une pause entre deux commandes exécutées d'affilée.
 La commande crontab permet de programmer des commandes pour une exécution régulière.
Par exemple : tous les jours à 18 h 30, tous les lundis et mardis à 12 h, tous les 5 du mois, etc.
On modifie la programmation avec crontab -e.
3. Travail demandé
 Partie 1 (Gestion des processus)
 Dans un système Linux, quel est le processus qui n'a pas de père. Quel est son PID ?
 À quoi servent les options –f et –L de la commande ps ?
 Lancer la commande ps ax -f –L et décrire les différentes colonnes affichées.
 Utiliser la commande pstree pour afficher l'arbre des processus en cours avec leur PID.
 Quelle option de pstree permet d'afficher les ancêtres d'un certain processus dont le PID
est donné en argument à la commande ?
 Quelle option de pstree permet d'afficher l'arbre complet des processus en cours (i.e.,
permet d'afficher toutes les occurrences de chaque processus) ?
 Quel signal est lancé par défaut à la commande kill ?
 Que font les signaux suivants : SIGQUIT, SIGKILL, SIGCHLD ?
 Quel caractère permet de lancer une commande en arrière-plan ? Quelle commande permet
de lancer une commande en arrière-plan ?
 Afficher la liste des processus actifs dans le terminal courant en utilisant ps.
 Quelles informations sont affichées par défaut lorsqu’on lance la commande top ?
 Utiliser la commande top pour afficher la liste des processus en temps réel en ajoutant les
colonnes PID et UID dans l'affichage.
 Lancer 3 fois la commande sleep en arrière-plan avec des arguments différents à chaque
fois.
 Afficher la liste des travaux en cours. Que signifient les caractères + et - dans le
résultat obtenu ?
 Lancer ensuite la commande sleep en premier-plan.
 Afficher à nouveau la liste des travaux en cours.
Faycel CHAOUA Atelier systèmes 2  TP6 31
 Relancer en arrière-plan la dernière commande sleep suspendue auparavant.
 Arrêter l'exécution de la première commande sleep en utilisant son PID.
 Arrêter l'exécution de la deuxième commande sleep en utilisant son numéro de
travail.
 Arrêter l'exécution des deux dernières commandes sleep en utilisant la
combinaison de touches CTRL + C.
 Lancer la commande gedit depuis un terminal en premier-plan. Attendre que la fenêtre
de l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ?
 Lancer la commande gedit depuis un terminal en arrière-plan. Attendre que la fenêtre de
l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ?
 À quoi sert la commande nohup ? Comment faire pour à la fois détacher un processus du
shell à partir duquel il est lancé et le lancer en arrière-plan ? Donner un exemple.
 Partie 2 (Traitement différé)
 Utiliser la commande at pour lancer en différé une commande qui écrit l’heure dans un
fichier texte. Décommander cette tâche.
 Utiliser la commande at pour nettoyer /tmp dans 10 minutes.
 Planifier le nettoyage de /tmp tous les soirs à 3h le matin.
Faycel CHAOUA Atelier systèmes 2  TP7 32
1. Objectifs spécifiques
 Créer un script Shell.
 Exécuter un script Shell.
 Manipuler des variables.
 Utiliser les conditions et les boucles.
2. Description
 Contrairement aux apparences, il existe plusieurs environnements console différents : ce sont
les Shells. Ce sont eux qui gèrent l'invite de commandes et ses fonctionnalités comme
l'historique des commandes, la recherche CTRL + R, l'auto-complétion des commandes, etc.
 Le Shell utilisé par défaut sous Ubuntu est bash, mais il existe aussi ksh, zsh, etc.
 Il est possible d'automatiser une série de commandes. On crée pour cela un fichier contenant la
liste des commandes à exécuter, appelé script Shell. On dit que l'on fait de la programmation
Shell.
 En fonction du Shell utilisé, on dispose de différents outils pour créer son script Shell. Si on
utilise bash, donc le fichier de script doit commencer par la ligne #!/bin/bash.
 Dans le fichier de script, il suffit d'écrire les commandes à exécuter les unes après les autres,
chacune sur une ligne différente.
 Pour exécuter le script (et donc exécuter la liste des commandes qu'il contient) il faut donner les
droits d'exécution au fichier (chmod +x script.sh) et lancer l'exécution du script avec la
commande ./script.sh.
 Comme dans la plupart des langages de programmation, on peut créer des variables en Shell qui
stockent temporairement des valeurs en mémoire. Une variable nommée variable est
accessible en écrivant $variable.
 La commande echo affiche un texte ou le contenu d'une variable dans la console.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
TP N° 7
Faycel CHAOUA Atelier systèmes 2  TP7 33
 La commande read attend une saisie au clavier de la part de l'utilisateur et stocke le résultat
dans une variable.
 On peut effectuer des opérations mathématiques sur des nombres à l’aide de la commande let.
 Certaines variables sont accessibles partout, dans tous les scripts : ce sont les variables
d'environnement. On peut les lister avec la commande env.
 Les paramètres envoyés à notre script (comme ./script -p) sont transmis dans des variables
numérotées : $1, $2, $3, etc. Le nombre de paramètres envoyés est indiqué dans la variable $#.
 On effectue des tests dans ses programmes grâce aux instructions if, elif, else, fi.
 On peut comparer deux chaînes de caractères entre elles, mais aussi des nombres. On peut
également effectuer des tests sur des fichiers : est-ce que celui-ci existe ? Est-il exécutable ?
Etc.
 Au besoin, il est possible de combiner plusieurs tests à la fois avec les symboles && (ET) et ||
(OU).
 Le symbole ! (point d'exclamation) exprime la négation dans une condition.
 Lorsque l'on effectue beaucoup de tests sur une même variable, il est parfois plus pratique
d'utiliser un bloc case in… esac plutôt qu'un bloc if… fi.
 Pour exécuter une série de commandes plusieurs fois, on utilise des boucles.
 L’instruction while permet de boucler tant qu'une condition est remplie. Le
fonctionnement des conditions dans les boucles est le même que celui des blocs if.
 L’instruction for permet de boucler sur une série de valeurs définies. À l'intérieur de la
boucle, une variable prend successivement les valeurs indiquées.
3. Travail demandé
 Partie 1 (variables)
 Tester les exemples suivants.
 Exemple 1
#!/bin/bash
message='Bonjour tout le monde'
pos=`pwd`
echo '1- Le message est : $message'
echo "2- Le message est : $message"
echo "Vous êtes dans le dossier $pos"
Faycel CHAOUA Atelier systèmes 2  TP7 34
 Exemple 2
#!/bin/bash
read nom prenom
echo "Bonjour $nom $prenom !"
echo "Votre nom est $nom et votre prénom est $prenom"
 Exemple 3
#!/bin/bash
read -p 'Entrez votre nom : ' nom
echo "Bonjour $nom !"
read -p 'Entrez votre login (5 caractères max) : ' -n 5 login
echo –e "nVotre login est $login"
read -p 'Entrez votre mot de passe : ' -s pass
echo -e "nMerci ! votre mot de passe est $pass !"
read -p 'Entrez le code de la bombe (avant 5sec) : ' -t 5 code
echo -e "nBoum !"
 Exemple 4
#!/bin/bash
let "a = 5"
let "b = 2"
let "c = a + b"
echo $c
 Exemple 5
#!/bin/bash
echo "Votre éditeur par défaut est $EDITOR"
echo -e "nLe shell en cours d’exécution est $SHELL"
echo -e "nla position de votre dossier home est $HOME"
echo -e "nLe dossier dans lequel vous vous trouvez est $PWD"
 Partie 2 (script)
 Exercice 1
 Créer un script Shell nommé "ex1.sh" qui affiche la date de dernière modification d'un
fichier puis la modifie avec l'heure actuelle et enfin réaffiche la date de dernière
modification du fichier.
 Cette procédure accepte un seul paramètre qui est le nom du fichier.
 Exercice 2
 Créer un script Shell nommé "ex2.sh" réalisant la création d'un répertoire "Ex2" contenant
10 fichiers nommés "Un" à "Dix". Chaque fichier contient une seule ligne :
Faycel CHAOUA Atelier systèmes 2  TP7 35
"Un" contient "Première fichier"
"Deux" contient "Deuxième fichier"
...
"Dix" contient "Dixième fichier"
 Vérifier que le répertoire à créer n'existe pas déjà auquel cas il ne sera pas recréé.
 Exercice 3
 Créer un script Shell nommé "ex3.sh" qui réalise les opérations suivantes :
 Création d'un sous répertoire nommé "annéemoisjour" (20171204 pour le 8 décembre
2015). Vérifier que le répertoire à créer n'existe pas déjà.
 Copie des fichiers de "Ex2" sous ce répertoire puis effacement de ces mêmes fichiers
de "Ex2".
 Création de deux fichiers sous le répertoire d'accueil (HOME) de la personne qui a
lancé le Shell :
 Un fichier nommé "Gros_fichier.numero_du_shell" dans lequel se trouvera le
contenu concaténé des fichiers traités.
 Un fichier nommé "Nom_du_script.numero_du_shell" dans lequel se trouvera le
nom des fichiers traités.
 Exercice 4
 Créer un script Shell nommé "ex4.sh" permettant d'afficher la liste des fichiers du
répertoire /etc accessibles en lecture et ceux accessibles en écriture.
 Exercice 5
 Créer un script Shell nommé "ex5.sh" permettant d'afficher des tables de multiplication.
La commande "./ex5.sh 5 10" aura pour résultat l'affichage :
0 x 5 = 0
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
10 x 5 = 50
Faycel CHAOUA Atelier systèmes 2  Correction des TPs 36
Correction
des TP
Faycel CHAOUA Atelier systèmes 2  Correction du TP1 37
Correction des exercices
 Récupérer les outils du TP nécessaires à l’installation et à la vérification de l’intégrité du
système.
 Suivre les étapes d’installation détaillées avec des captures d’écran dans le manuel (TP N° 1).
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 3 heures
Correction du TP N° 1
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 38
Correction des exercices
 Partie 1 (Manipulation des fichiers et répertoires) :
 Infos système
 Quel est le système installé ?
» uname –a
 Quelle est la distribution installée ?
» cat /etc/issue
 Quels sont les utilisateurs en cours du système ?
» who
 Ouvrir un nouveau terminal en utilisant un autre compte.
» su user
 Fermer ce terminal.
» exit
 La commande man
 Tester la commande man pour obtenir de l'aide sur man.
» man man
 Quelles sont les commandes susceptibles d'être documentées dans man ?
» Les commandes externes.
 Contenu de répertoires et de fichiers ascii (texte)
 Lister le contenu du répertoire /etc.
» ls /etc
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
Correction du TP N°2
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 39
 Lister de manière détaillée le contenu du répertoire /etc. Les fichiers nommés "passwd" et
"shadow" sont-ils présents dans /etc ?
» ls -l /etc ou ls –al /etc
» Les fichiers "passwd" et "shadow" sont bien présents dans le répertoire /etc.
 Lister le contenu du répertoire /dev.
» ls /dev
 Lister le contenu du fichier /etc/passwd.
» cat /etc/passwd
 Combien de lignes, de mots et de caractères comporte le fichier /etc/passwd.
» wc /etc/passwd
 Lister le contenu du fichier /etc/shadow.
» cat /etc/shadow : Permission non accordée.
 Lister le contenu du fichier /var/log/syslog (affichage progressif).
» more /var/log/syslog
 Lister le contenu du fichier /var/log/syslog (affichage interactif).
» less /var/log/syslog
 Lister les premières lignes du fichier /var/log/syslog.
» head /var/log/syslog
 Lister les dernières lignes du fichier /var/log/syslog.
» tail /var/log/syslog
 Commandes
Déterminer les commandes permettant de réaliser les actions suivantes :
 Déterminer le répertoire par défaut dans la hiérarchie des répertoires.
» pwd
 Créer un répertoire nommé "TP2".
» mkdir TP2
 Se positionner sous "TP2".
» cd TP2
 Y a-t-il des fichiers, des répertoires dans ce répertoire ?
» ls –al : uniquement les entrées "." et "..".
 Entrer du texte dans un fichier nommé "Mon_fichier".
» echo "bonjour dsi" > Mon_fichier
 Lister le contenu de "Mon_fichier".
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 40
» cat Mon_fichier
 Lister le répertoire courant.
» ls ou ls –al
 Créer, sous le répertoire "TP2", deux sous-répertoires : "Source" et "Data".
» mkdir Source Data
 Se positionner sous "Source".
» cd Source
 Lister le répertoire courant.
» ls ou ls –al
 Revenir sous le répertoire "TP2" et détruire "Source".
» cd ../
» rmdir Source
 Créer un deuxième fichier nommé "Mon_fichier_2".
» touch Mon_fichier_2
 Copier chaque fichier en nom_de_fichier.old.
» cp Mon_fichier Mon_fichier.old
» cp Mon_fichier_2 Mon_fichier_2.old
 Créer un répertoire "Old".
» mkdir Old
 Déplacer les fichiers avec l'extension old vers le répertoire "Old".
» mv *.old Old
 Copier les fichiers sans extension dans le répertoire "Data".
» cp * Data
 Sous le répertoire "TP2", créer un lien matériel "Mon_lien" équivalent à "Mon_fichier_2".
» ln Mon_fichier_2 Mon_lien
 Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro d'inode.
Que remarque-t-on ?
» ls –li
» Leurs numéros d’inode sont identiques donc ces deux fichiers représentent le même
fichier physique.
 Supprimer "Mon_lien". "Mon_fichier_2" a-t-il disparu?
» rm Mon_lien
» "Mon_fichier_2" existe toujours.
 Sous le répertoire "TP2", créer un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2".
» ln –s Mon_fichier_2 Mon_nouveau_lien
 Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2". Que remarque-t-on ?
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 41
» ls –li
» Le lien et le fichier représentent deux fichiers physiques.
 Supprimer "Mon_fichier_2". "Mon_nouveau_lien" a-t-il disparu?
» rm Mon_fichier_2
» Le lien existe toujours mais il est brisé.
 Quelle est la taille totale des fichiers contenus dans le répertoire "TP2" ?
» du -b
 Effacer tous les fichiers créés dans le répertoire "TP2".
» rm –r *
 Partie 2 (L’éditeur de texte Vi/Vim) :
 Lancement et sortie de Vi/Vim
 Lancer l'éditeur de texte Vi/Vim sans argument. Que constate-t-on ?
» vi
 Sortir de Vi/Vim.
» :q
 Éditer maintenant le fichier /etc/hosts. Que signifient les caractères ~ placés en début de
ligne ?
» vi /etc/hosts
 Sortir de Vi/Vim.
» :q
 Commandes de déplacement
 Éditer le fichier /etc/services.
» vi /etc/services
 Sans utiliser le pavé directionnel du clavier (flèches),
 déplacer le curseur d'une ligne vers le bas.
» j
 déplacer le curseur de douze lignes vers le bas.
» 12j
 déplacer le curseur de huit lignes vers le haut.
» 8k
 déplacer le curseur de seize caractères vers la droite.
» 16l
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 42
 déplacer le curseur de neuf caractères vers la gauche.
» 9h
 Déplacer le curseur en fin de ligne.
» $
 Déplacer le curseur en début de ligne.
» 0
 Déplacer plusieurs fois le curseur sur le premier caractère du mot suivant.
» w
 Déplacer plusieurs fois le curseur sur le premier caractère du mot précédent.
» b
 Déplacer plusieurs fois le curseur sur le dernier caractère du mot suivant.
» e
 Déplacer le curseur sur la dernière ligne du fichier.
» G
 Déplacer le curseur sur la première ligne du fichier.
» 1G
 Déplacer le curseur sur la 45ème ligne du fichier.
» 45G
 Déplacer le curseur d'une page vers le haut.
» CTRL + b
 Déplacer le curseur d'une page vers le bas.
» CTRL + f
 Commandes d'édition et de correction
 Déplacer le curseur sur le sixième caractère de la première ligne du fichier.
» 1G ; 6l
 Insérer la chaîne de caractères "un" avant le curseur sur la ligne. On doit entrer dans le mode
"édition" de Vi/Vim.
» i ; "un"
 Sans utiliser le pavé directionnel du clavier, se déplacer de trois caractères vers la droite et
insérer la chaîne de caractères "deux" après le curseur. N'oublier pas de retourner en mode
"commandes" avant de déplacer le curseur, puis entrer de nouveau en mode "édition".
» Esc ; 3l ; a ; "deux"
 Insérer la chaîne de caractères "trois" en début de ligne.
» Esc ; 0 ; i ; "trois"
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 43
 Insérer la chaîne de caractères "quatre" en fin de ligne.
» Esc ; $ ; a ; "quatre"
 Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la
gauche.
» Esc ; 6h
 Supprimer le caractère sous le curseur.
» x
 Supprimer le caractère situé avant le curseur.
» h ; x
 Supprimer les cinq caractères précédant le curseur.
» 5h ; 5x
 Effacer tous les caractères se trouvant du curseur à la fin de la ligne. Utiliser la commande
d'effacement suivie de la commande de déplacement adéquate.
» d$
 Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la
gauche.
» 6h
 Effacer tous les caractères se trouvant du début de la ligne au curseur. Utiliser la commande
d'effacement suivie de la commande de déplacement adéquate.
» d0
 Coller enfin de ligne le texte qu’on vient de "couper".
» $p
 Effacer la totalité de la ligne.
» dd
 Copier la dernière ligne du fichier et coller-la en début de fichier.
» G ; yy ; 1G ; P
 Annuler la dernière commande. Est-ce que possible d'annuler aussi les commandes
précédentes ?
» u
» Oui, par exemple 4u annule les quatre dernières commandes.
 Effacer les quatre premières lignes du fichier.
» 1G ; 4dd
 Effacer les quatre lignes suivantes. Utiliser la commande de répétition.
» .
Faycel CHAOUA Atelier systèmes 2  Correction du TP2 44
 Commandes globales
 Essayer d'enregistrer les modifications qu’on a apportées au fichier. Est-ce que possible ?
» :w
» Non, le fichier est accessible en lecture seule.
 Enregistrer le travail dans le répertoire "TP2" sous le nom de fichier "services2". Utiliser un
chemin personnel pour spécifier le nouveau nom de fichier.
» :w ~/TP2/services2
 Supprimer la première ligne du fichier, puis enregistrer et quitter Vi/Vim.
» 1G ; dd ; :wq
 Ouvrir de nouveau le fichier /etc/services et rechercher la chaîne de caractères "tcp".
» vi /etc/services ; /tcp
 Déplacer le curseur d'occurrence en occurrence de la chaîne de caractères "tcp".
» n
 Déplacer toujours le curseur d'occurrence en occurrence de la chaîne de caractères "tcp", mais
cette fois, dans le sens inverse de la recherche.
» ?tcp ; n
 Remplacer toutes les chaînes de caractères "udp" du fichier par "UDP".
» :1,$s/udp/UDP/g
 Options de l'éditeur
 Afficher toutes les options de l'éditeur.
» :set all
 Afficher les numéros de lignes. Activer l'option adéquate.
» :set number
 Définir le nombre d'espaces à 2 pour représenter une tabulation. Modifier la valeur de l'option
adéquate.
» :set tabline=2
 Sortir de Vi/Vim sans enregistrer et ouvrir de nouveau le fichier /etc/services.
» :q ; vi /etc/services
 Les options sont-elles toujours effectives ? Comment faire pour que ces modifications soient
permanentes ?
» Non, les modifications ne sont pas effectives. Il faut insérer les commandes dans le
fichier .vimrc. Si le fichier n’existe pas, il faut le créer dans le répertoire d’accueil de
l’utilisateur.
Faycel CHAOUA Atelier systèmes 2  Correction du TP3 45
Correction des exercices
 Partie 1 (Recherche des fichiers) :
 locate
 Créer un fichier "essai.txt" dans le répertoire d’accueil.
» touch $HOME/essai.txt
 Rechercher ce fichier avec la commande locate. Que remarque-t-on ?
» locate essai.txt ; [Le fichier "essai.txt" n’est pas retrouvé.]
 Reconstruire la base de données des fichiers du disque dur.
» sudo updatedb
 Réexécuter la commande locate sur le fichier "essai.txt". Que peut-on conclure ?
» locate essai.txt ; [Le fichier "essai.txt" est bien retrouvé.]
 find
 Afficher la liste des fichiers .h situés sous le répertoire /usr/include.
» find /usr/include -name "*.h"
 Afficher la liste des fichiers plus vieux que 3 jours situés sous le répertoire d’accueil.
» find $HOME -ctime +3
 Partie 2 (Extraire, trier et filtrer des données) :
 head, tail, tubes
 Afficher les 5 premières, puis les 5 dernières lignes du fichier /etc/passwd.
» head -5 /etc/passwd
» tail -5 /etc/passwd
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
Correction du TP N° 3
Faycel CHAOUA Atelier systèmes 2  Correction du TP3 46
 Afficher la 7ième ligne de ce fichier (et elle seule), en une seule ligne de commande.
» head -7 /etc/passwd | tail -1
 tr, more, tubes
 Afficher le fichier /etc/passwd en remplaçant les caractères / par des X.
» cat /etc/passwd | tr / X
 Obtenir le résultat précédent page par page.
» cat /etc/passwd | tr / X | more
 grep, cut, uniq, sort et tubes
Étudier la documentation des commandes cut et uniq.
 Afficher la liste des répertoires d’accueil des utilisateurs déclarés dans le fichier
/etc/passwd.
» cut -d: -f6 /etc/passwd
 On rappelle qu’à chaque utilisateur est associé un interpréteur de commandes (shell) lancé
lors de son login. La commande correspondante est indiquée dans le 7ième champ du fichier
/etc/passwd.
 Afficher en une ligne de commande le nombre d’interpréteurs de commandes différents
mentionnés dans /etc/passwd.
» cut -d: -f7 /etc/passwd | sort | uniq | wc -l
 On dispose d'un fichier texte "telephone.txt" contenant un petit carnet d’adresses.
Chaque ligne est de la forme "nom prenom numerotelephone". Les champs sont séparés par
des tabulations.
 Répondre aux questions suivantes en utilisant à chaque fois une ligne de commande shell :
 Afficher le carnet d’adresse trié par ordre alphabétique de noms.
» sort telephone.txt
 Afficher le nombre de personnes dans le répertoire.
» wc -l telephone.txt
 Afficher toutes les lignes concernant les “Dupond”.
» grep "Dupond" telephone.txt
 Afficher toutes les lignes ne concernant pas les “Dupond”.
» grep -v "Dupond"
 Afficher le numéro de téléphone (sans le nom) du premier “Dupond” apparaissant dans
le répertoire.
Faycel CHAOUA Atelier systèmes 2  Correction du TP3 47
» grep "Dupond" telephone.txt | head -1 | cut -d$'t' -f3
 Afficher le numéro de téléphone (sans le nom) du premier “Dupond” dans l’ordre
alphabétique (ordre basé sur les prénoms).
» sort telephone.txt | grep "Dupond" | head -1 | cut -d$'t' -f3
 Partie 3 (Maitriser les flux de redirection) :
 Redirections, méta-caractères
 Créer un répertoire nommé "inc" dans le répertoire d’accueil (HOME). En utilisant une seule
commande, y copier les fichiers du répertoire /usr/include dont le nom commence par
"std".
» mkdir inc
» cp /usr/include/std* $HOME/inc
 Afficher la liste des fichiers de /usr/include dont le nom commence par a, b ou c.
» find /usr/include/ ( -name 'a*' -o -name 'b*' -o -name 'c*' )
» find /usr/include/ -name "[abc]*"
 Modifier la commande de la question précédente pour qu'au lieu d’afficher le résultat, celui-
ci soit placé dans un fichier nommé "Abc.list" du répertoire d’accueil.
» find /usr/include/ ( -name 'a*' -o -name 'b*' -o -name 'c*' )
> Abc.list
» find /usr/include/ -name "[abc]*" > Abc.list
 Afficher le contenu de ce fichier en utilisant la commande cat. Copier avec cat son contenu
dans un nouveau fichier nommé "Copie".
» cat Abc.list ; cat Abc.list > Copie
 Toujours avec cat, créer un nouveau fichier nommé "Double" formé par la mise bout à bout
(concaténation) des fichiers "Abc.list" et "Copie".
» cat Abc.list Copie > Double
 Vérifier que le nombre de lignes a bien doublé à l’aide de la commande wc.
» wc -l Abc.list Copie Double
 Créer un fichier nommé "Temp" contenant une ligne de texte.
» echo "Bonjour ISET" > Temp
 Avec cat, ajouter la ligne "The end" à la fin du fichier "Temp”.
» cat >> Temp ; Taper au clavier "The end" ; CTRL + D
 En une seule ligne de commande, faire afficher le nombre de fichiers de /usr/include dont
le nom contient la lettre t.
» ls /usr/include/*t* | wc -l
Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 48
Correction des exercices
 Partie 1 (Gestion des utilisateurs et des groupes) :
 Mise en place d'un espace de travail pour 4 utilisateurs
 Définir le lot de commandes à exécuter pour créer 4 utilisateurs en suivant les règles suivantes:
 Création de 2 groupes (G1 et G2).
» sudo groupadd G1
» sudo groupadd G2
» cat /etc/group
 Création de quatre utilisateurs (u1, u2, u3 et u4) avec leurs répertoires home.
» sudo useradd -m u1
» sudo useradd -m -c "user2" u2
» sudo useradd -m -c "user3" -s "/bin/bash" u3
» sudo useradd -m -c "user4" -s "/bin/bash" u4
» cat /etc/passwd ; sudo cat /etc/shadow ; cat /etc/group ; sudo cat
/etc/gshadow ; ls -l /home
 Modification des comptes créés.
» sudo usermod -c "user1" -s "/bin/bash" u1
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
Correction des TP N° 4/5
Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 49
» sudo usermod -s "/bin/bash" u2
» cat /etc/passwd
 Les premier et deuxième utilisateurs sont membres du premier groupe.
 Les troisième et quatrième utilisateurs sont membres du second groupe.
 Le deuxième utilisateur est aussi membre du second groupe.
 Le quatrième utilisateur est aussi membre du premier groupe.
» sudo usermod -G G1 u1
» sudo usermod -G G1 u2
» sudo usermod -G G2 u3
» sudo usermod -G G2 u4
» sudo usermod -aG G2 u2
» sudo usermod -aG G1 u4
» cat /etc/group
 Outre leur répertoire de travail, les utilisateurs ont accès à un répertoire commun
/home/groupe1 et/ou /home/groupe2 suivant leur groupe.
» sudo mkdir /home/groupe1 /home/groupe2
» sudo chown adminiset:G1 /home/groupe1
» sudo chown adminiset:G2 /home/groupe2
» sudo chmod g+ws /home/groupe1
» sudo chmod g+ws /home/groupe2
» ls –l /home
 Détailler les étapes de création des groupes, des utilisateurs et des répertoires en indiquant les
fichiers utilisés et les commandes utilisées sur ces fichiers.
 Essayer de modifier les deux répertoires en commun avec les différents utilisateurs créés.
» Il faut activer les différents utilisateurs (création des mots de passe).
Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 50
» sudo passwd u1 ; sudo passwd u2 ; sudo passwd u3 ; sudo passwd u4
 Partie 2 (Droits d’accès) :
 Création d’un utilisateur banalisé
 Se connecter avec le compte de l’utilisateur user1.
» su u1
 Est-il possible de faire une copie du fichier /etc/passwd ?
» cp /etc/passwd ~
 Est-il possible de supprimer ou de modifier le fichier /etc/passwd ?
» rm /etc/passwd
» echo "bonjour" >> /etc/passwd
» Le fichier est protégé en écriture.
 Répéter ces tentatives en tant qu'utilisateur root.
» sudo su
» Il faut créer une copie du fichier /etc/passwd avant de faire toute modification.
 Expliquer la situation à l’aide de la commande ls -l.
» ls –l /etc/passwd
» root est le propriétaire du fichier /etc/passwd. Il a les droits rw- (tous les privilèges)
sur ce fichier.
 À l’aide de la commande id, vérifier l’identité de user1 connecté et le(s) groupe(s)
au(x)quel(s) il appartient.
» id u1
 Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le monde, mais
non modifiable (même pas par son propriétaire user1).
» echo "Bonjour Tout le monde !" > f1
» chmod a+r,a-w f1 Ou chmod 444 f1
 Créer un répertoire nommé "Secret", dont le contenu est visible uniquement par user1.
Les fichiers placés dans ce répertoire sont-ils lisibles par d’autres membres de groupe de
l’utilisateur user1 ?
» mkdir Secret
» chmod u+r,go-r Secret Ou chmod 711 Secret Ou chmod 700 Secret
» Oui, ils sont lisibles par d’autres utilisateurs.
 Créer un répertoire nommé "Connaisseurs" tel que les autres utilisateurs ne puissent pas lister
son contenu mais puissent lire les fichiers qui y sont placés.
Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 51
On obtiendra: ls Connaisseurs
ls : Connaisseurs: Permission denied
cat Connaisseurs/toto
<...le contenu du fichier toto (s’il existe)...>
» mkdir Connaisseurs
» chmod o-r Connaisseurs Ou chmod 711 Connaisseurs
 Chercher dans le répertoire /usr/bin des exemples de commandes ayant la permission
SUID. De quel genre de commande s’agit-il ?
» ls -l /usr/bin/ | grep "rws"
Faycel CHAOUA Atelier systèmes 2  Correction du TP6 52
Correction des exercices
 Partie 1 (Gestion des processus)
 Dans un système Linux, quel est le processus qui n'a pas de père. Quel est son PID ?
» Le processus systemd (init). Son PID est 1.
 À quoi servent les options –f et –L de la commande ps ?
» –f : (forêt) affiche les arbres généalogiques des processus.
» –L : (long format) affiche encore plus d’informations détaillées sur chaque processus.
 Lancer la commande ps -fL et décrire les différentes colonnes affichées.
» UID : propriétaire du processus.
» PID : numéro du processus.
» PPID : numéro du processus-père.
» LWP : identifiant lwp (« light weight process » ou « thread ») du processus
léger présenté.
» C : obsolète.
» NLWP : nombre de processus légers (« threads ») dans le processus.
» STIME : heure de début du processus.
» TTY : pseudo-terminal contrôlant le processus.
» TIME : durée d'exécution du processus.
» CMD : nom de la commande.
 Utiliser la commande pstree pour afficher l'arbre des processus en cours avec leur PID.
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
Correction du TP N° 6
Faycel CHAOUA Atelier systèmes 2  Correction du TP6 53
 Quelle option de pstree permet d'afficher les ancêtres d'un certain processus dont le PID est
donné en argument à la commande ?
» L’option « -h ».
 Quelle option de pstree permet d'afficher l'arbre complet des processus en cours (i.e., permet
d'afficher toutes les occurrences de chaque processus) ?
 Quel signal est lancé par défaut à la commande kill ?
» Le signal SIGTERM (15).
 Que font les signaux suivants : SIGQUIT, SIGKILL, SIGCHLD ?
» SIGQUIT : instruction (QUIT).
» SIGKILL : ordonne au processus de se terminer inconditionnellement comme dans le
cas des processus qui bouclent.
» SIGCHLD : modification du statut d'un processus fils.
 Quel caractère permet de lancer une commande en arrière-plan ? Quelle commande permet de
lancer une commande en arrière-plan ?
» Le caractère « & » et la commande « bg ».
 Afficher la liste des processus actifs dans le terminal courant en utilisant ps.
 Quelles informations sont affichées par défaut lorsqu’on lance la commande top ?
» La commande top permet surtout de suivre les ressources que les processus utilisent
(quantité de RAM, pourcentage de CPU, durée d’exécution d’un processus depuis son
démarrage, etc.).
 Utiliser la commande top pour afficher la liste des processus en temps réel en ajoutant les
colonnes PID et UID dans l'affichage.
Faycel CHAOUA Atelier systèmes 2  Correction du TP6 54
 Lancer 3 fois la commande sleep en arrière-plan avec des arguments différents à chaque fois.
 Afficher la liste des travaux en cours. Que signifient les caractères + et - dans le résultat
obtenu ?
» Le caractère + représente la dernière commande lancée en arrière-plan alors que le
caractère – représente l’avant dernière commande lancée en arrière-plan.
 Lancer ensuite la commande sleep en premier-plan.
» sleep 3
 Afficher à nouveau la liste des travaux en cours.
» jobs
Faycel CHAOUA Atelier systèmes 2  Correction du TP6 55
 Relancer en arrière-plan la dernière commande sleep suspendue auparavant.
» bg 3
 Arrêter l'exécution de la première commande sleep en utilisant son PID.
» kill 4363
 Arrêter l'exécution de la deuxième commande sleep en utilisant son numéro de travail.
» fg 2
» CTRL + C
 Arrêter l'exécution des deux dernières commandes sleep en utilisant la combinaison de
touches CTRL + C.
» Il faut tout d’abord les faire passer en premier-plan avec fg.
 Lancer la commande gedit depuis un terminal en premier-plan. Attendre que la fenêtre de
l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ?
» La fenêtre de l'application gedit se ferme aussi.
 Lancer la commande gedit depuis un terminal en arrière-plan. Attendre que la fenêtre de
l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ?
» La fenêtre de l'application gedit se ferme aussi.
 À quoi sert la commande nohup ? Comment faire pour à la fois détacher un processus du shell
à partir duquel il est lancé et le lancer en arrière-plan ? Donner un exemple.
» nohup ignore le signal SIGHUP (d’où son nom) puis exécute le programme indiqué en
ligne de commande, de sorte que celui-ci ignorera le signal SIGHUP.
» nohup gedit &
 Partie 2 (Traitement différé)
 Utiliser la commande at pour lancer en différé une commande qui écrit l’heure dans un fichier
texte. Décommander cette tâche.
 Utiliser la commande at pour nettoyer /tmp dans 10 minutes.
Faycel CHAOUA Atelier systèmes 2  Correction du TP6 56
 Planifier le nettoyage de /tmp tous les soirs à 3h le matin.
Faycel CHAOUA Atelier systèmes 2  Correction du TP7 57
Correction des exercices
 Correction TP7Ex1
 Test d’exécution du TP7Ex1
Institut Supérieur des Études Technologiques de Kélibia
Département de Technologies de l'Informatique
Matière : Atelier systèmes 2
Niveau : LMD ‒ L2
Enseignant : Faycel CHAOUA
Durée : 6 heures
Correction du TP N° 7
Faycel CHAOUA Atelier systèmes 2  Correction du TP7 58
 Correction TP7Ex2
 Test d’exécution du TP7Ex2
Faycel CHAOUA Atelier systèmes 2  Correction du TP7 59
 Correction TP7Ex3
 Test d’exécution du TP7Ex3
Faycel CHAOUA Atelier systèmes 2  Correction du TP7 60
 Correction TP7Ex4
 Test d’exécution du TP7Ex4
Faycel CHAOUA Atelier systèmes 2  Correction du TP7 61
 Correction TP7Ex5
 Test d’exécution du TP7Ex5
Faycel CHAOUA Atelier systèmes 2  Références (Bibliographie / Webographie) 62
Références (Bibliographie / Webographie)
[1] « Tutoriel : Installer Ubuntu avec le média d'installation - Documentation Ubuntu
Francophone ». [En ligne]. Disponible sur: https://doc.ubuntu-
fr.org/tutoriel/installer_ubuntu_avec_le_live_cd. [Consulté le: 18-déc-2017].
[2] « Tutoriel : Compléter l’installation d’Ubuntu - Documentation Ubuntu Francophone ». [En
ligne]. Disponible sur: https://doc.ubuntu-fr.org/tutoriel/completer_installation_ubuntu.
[Consulté le: 18-déc-2017].
[3] Y. Bailly et M. Grenard, « Commandes de bases », Linux par l’exemple : Notions de base
et configurations types, 02-août-1999. [En ligne]. Disponible sur: http://www.linux-
france.org/article/kafkafr/node14.html. [Consulté le: 22-déc-2017].
[4] C. Pivoteau, « Introduction au système ». [En ligne]. Disponible sur: http://igm.univ-
mlv.fr/~pivoteau/LINUX/. [Consulté le: 22-déc-2017].
[5] N. Janey, « Linux ». [En ligne]. Disponible sur: http://raphaello.univ-
fcomte.fr/linux/Linux.htm. [Consulté le: 18-déc-2017].
[6] N. Pons, Linux - Entraînez-vous sur les commandes de base - 2ème édition. ENI, 2009.
[7] M. Nebra, « Reprenez le contrôle à l’aide de Linux ! », OpenClassrooms. [En ligne].
Disponible sur: https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux.
[Consulté le: 18-déc-2017].
[8] R. Kanawati, « Le système Linux : Gestion des processus », 2006-2005. [En ligne].
Disponible sur: http://lipn.univ-paris13.fr/~kanawati/doc/RT-R3-TP3.pdf. [Consulté le: 18-
déc-2017].
[9] M. Rakho, « Partie II – Programmation shell sous Linux », 2013-2012. [En ligne].
Disponible sur: http://igm.univ-mlv.fr/~rakho/fr/l2-s4-unix-shell/2013/tp2/tp2.pdf. [Consulté
le: 18-déc-2017].
[10] « Tutoriel : Introduction aux scripts shell - Documentation Ubuntu Francophone ». [En
ligne]. Disponible sur: https://doc.ubuntu-fr.org/tutoriel/script_shell. [Consulté le: 18-déc-
2017].

Más contenido relacionado

La actualidad más candente

Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 

La actualidad más candente (20)

Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: Principe
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 

Similar a Manuel des TP : Atelier systèmes 2

Gestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptxGestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptx
ssusercbaa22
 
Développement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxDéveloppement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu Linux
Thierry Gayet
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
MahdiHERMASSI1
 
M2_chap-1(1).pdf
M2_chap-1(1).pdfM2_chap-1(1).pdf
M2_chap-1(1).pdf
dameur1
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
Emeric Tapachès
 

Similar a Manuel des TP : Atelier systèmes 2 (20)

Cours SE linux
Cours SE linuxCours SE linux
Cours SE linux
 
Pourquoi linux
Pourquoi linuxPourquoi linux
Pourquoi linux
 
Guide complet linux
Guide complet linuxGuide complet linux
Guide complet linux
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
 
Linux modules d
Linux modules dLinux modules d
Linux modules d
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Gestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptxGestion-des-parcs-informatiques Windows et Linux.pptx
Gestion-des-parcs-informatiques Windows et Linux.pptx
 
Développement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu LinuxDéveloppement Noyau Et Driver Sous Gnu Linux
Développement Noyau Et Driver Sous Gnu Linux
 
installation et configuration des systèmes linux.pptx
installation et configuration des systèmes linux.pptxinstallation et configuration des systèmes linux.pptx
installation et configuration des systèmes linux.pptx
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
1 les logicielslibres
1 les logicielslibres1 les logicielslibres
1 les logicielslibres
 
Install party
Install partyInstall party
Install party
 
Rapport du stage
Rapport du stageRapport du stage
Rapport du stage
 
LE SUCCÈS D’UBUNTU : UN CAS D’AVANTAGE CONCURRENTIEL DYNAMIQUE DANS L’OPEN SO...
LE SUCCÈS D’UBUNTU : UN CAS D’AVANTAGE CONCURRENTIEL DYNAMIQUE DANS L’OPEN SO...LE SUCCÈS D’UBUNTU : UN CAS D’AVANTAGE CONCURRENTIEL DYNAMIQUE DANS L’OPEN SO...
LE SUCCÈS D’UBUNTU : UN CAS D’AVANTAGE CONCURRENTIEL DYNAMIQUE DANS L’OPEN SO...
 
Ubuntu 2012
Ubuntu 2012Ubuntu 2012
Ubuntu 2012
 
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspectsdécouverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
 
Présentation devops&puppet 04112014
Présentation devops&puppet 04112014 Présentation devops&puppet 04112014
Présentation devops&puppet 04112014
 
M2_chap-1(1).pdf
M2_chap-1(1).pdfM2_chap-1(1).pdf
M2_chap-1(1).pdf
 
Formation ubuntu
Formation ubuntuFormation ubuntu
Formation ubuntu
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
 

Último

Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
Faga1939
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Último (18)

COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 

Manuel des TP : Atelier systèmes 2

  • 1. Faycel CHAOUA (faycelchaoua@gmail.com) ISET KELIBIA | ROUTE OUED ELKHATF, CAMPUS UNIVERSITAIRE DE KELIBIA Manuel des TP ATELIER SYSTEMES 2 LMD  L2 Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Études Technologiques ISET Kélibia Département Technologies de l’Informatique Janvier 2018
  • 2. Faycel CHAOUA Atelier systèmes 2 i Conditions d’utilisation de ce manuel Ce manuel des TP est mis à disposition selon les termes de la licence « Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International ». https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr Vous êtes autorisé à : » Partager  copier, distribuer et communiquer le matériel par tous moyens et sous tous formats. » Adapter  remixer, transformer et créer à partir du matériel Selon les conditions suivantes : » Attribution  Vous devez créditer l'œuvre, intégrer un lien vers la licence et indiquer si des modifications ont été effectuées à l'œuvre. Vous devez indiquer ces informations par tous les moyens raisonnables, sans toutefois suggérer que l'offrant vous soutient ou soutient la façon dont vous avez utilisé son œuvre. » Pas d’utilisation commerciale  Vous n'êtes pas autorisé à faire un usage commercial de cette œuvre, tout ou partie du matériel la composant. » Partage dans les mêmes conditions  Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel composant l'œuvre originale, vous devez diffuser l'œuvre modifiée dans les même conditions, c'est à dire avec la même licence avec laquelle l'œuvre originale a été diffusée.
  • 3. Faycel CHAOUA Atelier systèmes 2 ii Les objectifs généraux A l’issue des travaux pratiques présentés dans ce manuel, l’apprenant sera capable de :  Tester une distribution Linux en session live (sans installation).  Installer et configurer une distribution Linux.  Gérer des fichiers et des répertoires.  Distinguer les méthodes de recherche des fichiers.  Appliquer des filtres et des flux de redirection.  Gérer les utilisateurs et les groupes.  Modifier les droits d’accès.  Gérer les processus.  Planifier des tâches.  Gérer des scripts Shell. Plan des travaux pratiques Ce manuel est constitué principalement des TP suivants :  TP 1 : Installation UBUNTU.  TP 2 : Gestion des fichiers.  TP 3 : Gestion des filtres et expressions régulières.  TP 4 et TP 5 : Gestion des utilisateurs et des droits d'accès.  TP 6 : Gestion des processus.  TP 7 : Scripts et variables.
  • 4. Faycel CHAOUA Atelier systèmes 2 iii Tables des matières TP (Travaux pratiques) ........................................................................................................................ 1 TP N° 1................................................................................................................................................ 2 TP N° 2.............................................................................................................................................. 10 TP N° 3.............................................................................................................................................. 19 TP N° 4/5........................................................................................................................................... 24 TP N° 6.............................................................................................................................................. 28 TP N° 7.............................................................................................................................................. 32 Correction des TP................................................................................................................................ 36 Correction du TP N° 1....................................................................................................................... 37 Correction du TP N°2........................................................................................................................ 38 Correction du TP N° 3....................................................................................................................... 45 Correction des TP N° 4/5 .................................................................................................................. 48 Correction du TP N° 6....................................................................................................................... 52 Correction du TP N° 7....................................................................................................................... 57 Références (Bibliographie / Webographie) ....................................................................................... 62
  • 5. Faycel CHAOUA Atelier systèmes 2 1 TP (Travaux pratiques)
  • 6. Faycel CHAOUA Atelier systèmes 2  TP1 2 1. Objectifs spécifiques  Installer et configurer une distribution Ubuntu.  Explorer des applications en mode graphique.  S’initier à l’utilisation des commandes Shell. 2. Description Ubuntu est un système d'exploitation libre et entièrement gratuit. Avant que l'installation débute, il est essentiel de récupérer une copie de son média d'installation. Ceci peut être réalisé de plusieurs manières, entièrement gratuites et légales. La mise en œuvre d’un système de gestion de contenu est le résultat de plusieurs compromis techniques et organisationnels :  la communication des contenus s’appuie sur un processus de validation et nécessite un travail de collaboration,  le système peut évoluer pour s’adapter aux évolutions ou réorganisations nécessaires. 3. Outils  Ubuntu 16.04 LTS : image .iso de la dernière version bénéficiant du support à long terme d’Ubuntu.  MD5Checker : Avant de commencer la gravure de l'image .iso, il est fortement recommandé d'en contrôler son intégrité grâce à la somme de contrôle MD5. Ce contrôle-qualité assure que le fichier image d'Ubuntu téléchargé d'Internet est complet et sans erreur. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 3 heures TP N° 1
  • 7. Faycel CHAOUA Atelier systèmes 2  TP1 3 4. Travail demandé  Partie 1 (Obtenir un média d'installation d'Ubuntu) :  Option №1 : Téléchargement depuis Internet  On télécharge une image du disque d'installation d'Ubuntu (solution gratuite).  On peut soit créer une clé USB amorçable soit graver l'image disque sur un DVD.  On vérifie avec MD5Checker que le média d'installation ne contient pas d'erreur.  Option №2 : Se faire livrer un Live USB  On reçoit un Live-USB d'Ubuntu par voie postale grâce à la boutique de l'association Ubuntu-FR (solution payante).  Option №3 : Autres façons de commander un DVD  On achète un magazine (ou un livre) à propos d'Ubuntu (accompagné d’un CD d’installation).  On récupère un DVD lors d’événements, tels le salon « Solutions Linux » (solution généralement gratuite).  On contacte un GUL « Groupe d'Utilisateurs de GNU/Linux » solution généralement gratuite).  On achète une copie d'Ubuntu auprès d'un revendeur.  Partie 2 (Tester Ubuntu en session live) :  Cette option exécute une session live d'Ubuntu, c'est-à-dire exécute Ubuntu directement dans la mémoire volatile de l’ordinateur. Cette option est fort utile pour tester Ubuntu et son bon fonctionnement avec le matériel (affichage, son, etc.) sans rien changer dans l’ordinateur. On aura ainsi un premier aperçu de ce système. Dans la session-live, on pourra ensuite exécuter l'outil d'installation d'Ubuntu.  Une fois la routine d'amorçage terminée, on sera soit en présence d'une interface GNU Grub2 si l'EFI est pris en charge ou graphique dans le cas contraire.
  • 8. Faycel CHAOUA Atelier systèmes 2  TP1 4 Interface Grub2 Interface graphique Sélectionner Try Ubuntu without installing Sélectionner la langue puis Essayer Ubuntu  On valide et on laisse le chargement en mémoire vive (RAM) de la session live se terminer. On aura alors un bureau Ubuntu.  On prend le temps de bien se familiariser avec l'interface d'Ubuntu. On peut aussi vérifier que le matériel (imprimante, internet) est bien reconnu par Ubuntu.  Après la phase de test, il suffit de retirer le DVD-ROM d'Ubuntu ou le live USB de l’ordinateur et au redémarrage suivant, on retrouvera l’ancienne configuration.  Partie 3 (Installer Ubuntu avec le média d’installation) :  Dans la phase de test, on a choisi l’entrée de menu "Essayer Ubuntu sans rien changer sur votre ordinateur".  Dans la phase d’installation, on doit choisir l'entrée de menu "Installer Ubuntu".  Étape 1 : Sélection de la langue
  • 9. Faycel CHAOUA Atelier systèmes 2  TP1 5  Un écran de bienvenue annonce le démarrage de la procédure d'installation d'Ubuntu.  On choisit la langue dans laquelle on souhaite poursuivre l'installation. C'est aussi avec cette langue que le système sera paramétré par défaut.  On pourra activer des langues supplémentaires une fois l'installation complétée.  On appuie sur le bouton Suivant pour continuer à l'étape suivante.  Étape 2 : Préparation de l'installation  Le second écran demande de vérifier qu’on dispose bien du nécessaire pour poursuivre l'installation : espace libre sur le disque dur, alimentation secteur et connexion internet.  Étape 3 : Allouer de l'espace disque
  • 10. Faycel CHAOUA Atelier systèmes 2  TP1 6  Ce troisième écran permet de choisir si on souhaite conserver le système d'exploitation installé (Windows généralement) ou pas.  On appuie sur le bouton Suivant pour passer à l'étape suivante (ou à l'écran de partitionnement manuel, si on veut redimensionner les partitions de disque dur et d'en créer des nouvelles, aux tailles désirées, pour Ubuntu).  Lorsque le partitionnement est terminé, on clique sur "Installer maintenant" pour débuter l'installation d'Ubuntu.  À partir de maintenant, on ne peut plus arrêter l'installation, mais il reste quelques informations à renseigner dans les étapes ci-dessous.  Étape 4 : Emplacement géographique
  • 11. Faycel CHAOUA Atelier systèmes 2  TP1 7  On clique sur la localité dans la carte interactive, ou bien on saisit le nom de la ville la plus proche.  Cela permettra à Ubuntu de régler automatiquement l'horloge à l'heure locale, de se synchroniser régulièrement avec des serveurs de temps, etc.  On clique ensuite sur Suivant.  Étape 5 : Disposition du clavier  On paramètre la disposition des touches de clavier.  On clique ensuite sur Suivant.  Étape 6 : Identité
  • 12. Faycel CHAOUA Atelier systèmes 2  TP1 8  On crée un compte d’utilisateur. Ce compte sera aussi paramétré comme étant administrateur de système Ubuntu.  On appuie sur le bouton Suivant pour confirmer les paramètres.  Étape 7 : Fin de l’installation  On laisse l'installation se poursuivre jusqu'à la fin.  On patiente jusqu'à ce que l'installation arrive à son terme. Une fenêtre indiquera que l'installation est terminée et proposera de redémarrer l’ordinateur sur le nouveau système d'exploitation Ubuntu.
  • 13. Faycel CHAOUA Atelier systèmes 2  TP1 9  Partie 4 (Après l’installation) :  On active la connexion Internet.  Il est possible d'installer des logiciels supplémentaires dans Ubuntu même si on n’a pas de connexion Internet. Il suffit de télécharger les logiciels via un autre poste (disposant d'un accès internet), puis de les mettre sur clé USB ou CD afin de les copier et installer sur le PC.  Si on a installé Ubuntu (ou une de ses variantes) sans connexion à Internet, il est possible que le système et les applications ne soient pas entièrement traduits en français. Dans ce cas, on peut rendre Ubuntu 100% français.  Améliorer la reconnaissance matérielle : on accède au menu Paramètres système → matériels → Pilotes additionnels, Ubuntu sélectionnera automatiquement les pilotes dont on a besoin, il ne restera plus qu'à les installer.  Améliorer l'accessibilité : Ubuntu offre un panel de programmes pour les personnes en situation de handicap : reconnaissance vocale, loupe d'écran, etc. Installer les principaux codecs multimédia propriétaires (mp3, flash, wmv, DVD, etc.) : il suffit d'installer le paquet correspondant.  Rendre Ubuntu plus convivial (changer le fond d'écran, le thème, etc) : Il existe plein de petits trucs et astuces pour rendre Ubuntu plus facile/agréable à utiliser.  Faire cohabiter Ubuntu avec Windows : si on a installé Ubuntu en cohabitation avec Windows, on peut maintenant choisir Ubuntu ou bien Windows au démarrage de l’ordinateur. Voila! On a maintenant installé un système GNU/Linux Ubuntu pleinement fonctionnel et prêt à être utilisé.
  • 14. Faycel CHAOUA Atelier systèmes 2  TP2 10 1. Objectifs spécifiques  Manipuler des chemins relatifs et absolus.  Maitriser les commandes de manipulation des répertoires.  Maitriser les commandes de manipulation des fichiers.  Maitriser l’éditeur de texte Vi/Vim. 2. Description  La console affiche une invite de commandes au début de la ligne. Cette invite rappelle le nom d'utilisateur, le nom de la machine ainsi que le dossier dans lequel on se trouve.  On rentre des commandes dans la console pour demander à l'ordinateur d'exécuter des actions.  Chaque commande peut être complétée de paramètres qui agissent comme des options pour modifier l'action de la commande.  Les paramètres sont généralement constitués d'une lettre précédée d'un tiret (-a) ou de plusieurs lettres précédées de deux tirets (--all).  Après avoir saisi les premières lettres d'une commande, on peut compléter son nom à l'aide de la touche Tabulation.  On peut retrouver les commandes précédentes à l'aide des flèches directionnelles Haut et Bas ou encore effectuer une recherche parmi les commandes précédentes avec Ctrl + R.  Il existe de nombreux autres raccourcis clavier qu'il est recommandé de connaître pour pouvoir profiter pleinement de la console.  Sous Linux, tout est organisé sous forme de fichiers. Il n'y a pas de lecteur du type C: comme sous Windows.  Les dossiers sont imbriqués entre eux à partir du dossier parent principal /. On l'appelle la racine.  Le dossier dans lequel les utilisateurs stockent leurs documents est /home. Pour un utilisateur ayant comme login « user1 », le dossier personnel sera /home/user1. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures TP N° 2
  • 15. Faycel CHAOUA Atelier systèmes 2  TP2 11  La commande pwd permet de savoir en console dans quel dossier on se situe.  La commande ls affiche la liste des fichiers présents dans le dossier actuel.  La commande cd permet de changer de dossier.  cat permet d'afficher tout le contenu d'un fichier, mais lorsque celui-ci est long, il est préférable d'utiliser more ou less qui affichent le fichier page par page.  On peut obtenir uniquement le début ou la fin d'un fichier avec head et tail. En utilisant tail -f on peut suivre l'évolution d'un fichier en temps réel, ce qui est utile sur les fichiers de log qui enregistrent l'activité du système.  mkdir permet de créer un dossier, touch permet de créer un fichier vide.  cp permet de copier un fichier ou un dossier, tandis que mv permet de les déplacer ou de les renommer.  rm supprime un fichier. Il n'y a pas de corbeille en console, la suppression est définitive ; il faut donc être prudent. rmdir supprime les répertoires, s’ils sont vides.  On peut créer des liens (raccourcis) vers des fichiers et dossiers à l'aide de la commande ln. Chemin absolu Chemin relatif
  • 16. Faycel CHAOUA Atelier systèmes 2  TP2 12 Démonstration de manipulations de fichiers
  • 17. Faycel CHAOUA Atelier systèmes 2  TP2 13 Démonstration de manipulations de répertoires
  • 18. Faycel CHAOUA Atelier systèmes 2  TP2 14  Vim (version améliorée de Vi) est un éditeur de texte très puissant en console. Son grand concurrent est Emacs.  Dans Vi/Vim, il existe trois modes : interactif, insertion et commande.  Le mode par défaut est le mode interactif. Il faut appuyer sur la touche i pour insérer du texte et sur la touche Echap pour revenir au mode interactif.  On peut lancer des commandes en appuyant sur la touche deux points « : » depuis le mode interactif. Par exemple, :w enregistre le fichier, :q quitte Vi/Vim et :wq effectue les deux à la fois.  Il existe de nombreux raccourcis à connaître pour bien utiliser Vi/Vim ; il faut prendre le temps de les apprendre pour exploiter pleinement le logiciel.  On peut modifier le fichier .vimrc pour activer certaines options de Vim, comme la coloration automatique du code. Modes d’exécution de Vi/Vim
  • 19. Faycel CHAOUA Atelier systèmes 2  TP2 15 3. Travail demandé  Partie 1 (Manipulation des fichiers et répertoires) :  Infos système  Quel est le système installé ?  Quelle est la distribution installée ?  Quels sont les utilisateurs en cours du système ?  Ouvrir un nouveau terminal en utilisant un autre compte.  Fermer ce terminal.  La commande man  Tester la commande man pour obtenir de l'aide sur man.  Quelles sont les commandes susceptibles d'être documentées dans man ?  Contenu de répertoires et de fichiers ascii (texte)  Lister le contenu du répertoire /etc.  Lister de manière détaillée le contenu du répertoire /etc. Les fichiers nommés "passwd" et "shadow" sont-ils présents dans /etc ?  Lister le contenu du répertoire /dev.  Lister le contenu du fichier /etc/passwd.  Combien de lignes, de mots et de caractères comporte le fichier /etc/passwd.  Lister le contenu du fichier /etc/shadow.  Lister le contenu du fichier /var/log/syslog (affichage progressif).  Lister le contenu du fichier /var/log/syslog (affichage interactif).  Lister les premières lignes du fichier /var/log/syslog.  Lister les dernières lignes du fichier /var/log/syslog.  Commandes Déterminer les commandes permettant de réaliser les actions suivantes :  Déterminer le répertoire par défaut dans la hiérarchie des répertoires.  Créer un répertoire nommé "TP2".
  • 20. Faycel CHAOUA Atelier systèmes 2  TP2 16  Se positionner sous "TP2".  Y a-t-il des fichiers, des répertoires dans ce répertoire ?  Entrer du texte dans un fichier nommé "Mon_fichier".  Lister le contenu de "Mon_fichier".  Lister le répertoire courant.  Créer, sous le répertoire "TP2", deux sous-répertoires : "Source" et "Data".  Se positionner sous "Source".  Lister le répertoire courant.  Revenir sous le répertoire "TP2" et détruire "Source".  Créer un deuxième fichier nommé "Mon_fichier_2".  Copier chaque fichier en nom_de_fichier.old.  Créer un répertoire "Old".  Déplacer les fichiers avec l'extension old vers le répertoire "Old".  Copier les fichiers sans extension dans le répertoire "Data".  Sous le répertoire "TP2", créer un lien matériel "Mon_lien" équivalent à "Mon_fichier_2".  Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro d'inode. Que remarque-t-on ?  Supprimer "Mon_lien". "Mon_fichier_2" a-t-il disparu?  Sous le répertoire "TP2", créer un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2".  Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2". Que remarque-t-on ?  Supprimer "Mon_fichier_2". "Mon_nouveau_lien" a-t-il disparu?  Quelle est la taille totale des fichiers contenus dans le répertoire "TP2" ?  Effacer tous les fichiers créés dans le répertoire "TP2".  Partie 2 (L’éditeur de texte Vi/Vim) :  Lancement et sortie de Vi/Vim  Lancer l'éditeur de texte Vi/Vim sans argument. Que constate-t-on ?  Sortir de Vi/Vim.  Éditer maintenant le fichier /etc/hosts. Que signifient les caractères ~ placés en début de ligne ?  Sortir de Vi/Vim.
  • 21. Faycel CHAOUA Atelier systèmes 2  TP2 17  Commandes de déplacement  Éditer le fichier /etc/services.  Sans utiliser le pavé directionnel du clavier (flèches),  déplacer le curseur d'une ligne vers le bas.  déplacer le curseur de douze lignes vers le bas.  déplacer le curseur de huit lignes vers le haut.  déplacer le curseur de seize caractères vers la droite.  déplacer le curseur de neuf caractères vers la gauche.  Déplacer le curseur en fin de ligne.  Déplacer le curseur en début de ligne.  Déplacer plusieurs fois le curseur sur le premier caractère du mot suivant.  Déplacer plusieurs fois le curseur sur le premier caractère du mot précédent.  Déplacer plusieurs fois le curseur sur le dernier caractère du mot suivant.  Déplacer le curseur sur la dernière ligne du fichier.  Déplacer le curseur sur la première ligne du fichier.  Déplacer le curseur sur la 45ème ligne du fichier.  Déplacer le curseur d'une page vers le haut.  Déplacer le curseur d'une page vers le bas.  Commandes d'édition et de correction  Déplacer le curseur sur le sixième caractère de la première ligne du fichier.  Insérer la chaîne de caractères "un" avant le curseur sur la ligne. On doit entrer dans le mode "édition" de Vi/Vim.  Sans utiliser le pavé directionnel du clavier, se déplacer de trois caractères vers la droite et insérer la chaîne de caractères "deux" après le curseur. N'oublier pas de retourner en mode "commandes" avant de déplacer le curseur, puis entrer de nouveau en mode "édition".  Insérer la chaîne de caractères "trois" en début de ligne. Utiliser la commande qui permet de passer en mode "édition" en insérant directement en début de ligne.  Insérer la chaîne de caractères "quatre" en fin de ligne. Utiliser la commande qui permet de passer en mode "édition" en insérant directement en fin de ligne.  Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la gauche.  Supprimer le caractère sous le curseur.  Supprimer le caractère situé avant le curseur.
  • 22. Faycel CHAOUA Atelier systèmes 2  TP2 18  Supprimer les cinq caractères précédant le curseur.  Effacer tous les caractères se trouvant du curseur à la fin de la ligne. Utiliser la commande d'effacement suivie de la commande de déplacement adéquate.  Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la gauche.  Effacer tous les caractères se trouvant du début de la ligne au curseur. Utiliser la commande d'effacement suivie de la commande de déplacement adéquate.  Coller enfin de ligne le texte qu’on vient de "couper".  Effacer la totalité de la ligne.  Copier la dernière ligne du fichier et coller-la en début de fichier.  Annuler la dernière commande. Est-ce que possible d'annuler aussi les commandes précédentes ?  Effacer les quatre premières lignes du fichier.  Effacer les quatre lignes suivantes. Utiliser la commande de répétition.  Commandes globales  Essayer d'enregistrer les modifications qu’on a apportées au fichier. Est-ce que possible ?  Enregistrer le travail dans le répertoire "TP2" sous le nom de fichier "services2". Utiliser un chemin personnel pour spécifier le nouveau nom de fichier.  Supprimer la première ligne du fichier, puis enregistrer et quitter Vi/Vim.  Ouvrir de nouveau le fichier /etc/services et rechercher la chaîne de caractères "tcp".  Déplacer le curseur d'occurrence en occurrence de la chaîne de caractères "tcp".  Déplacer toujours le curseur d'occurrence en occurrence de la chaîne de caractères "tcp", mais cette fois, dans le sens inverse de la recherche.  Remplacer toutes les chaînes de caractères "udp" du fichier par "UDP".  Options de l'éditeur  Afficher toutes les options de l'éditeur.  Afficher les numéros de lignes. Activer l'option adéquate.  Définir le nombre d'espaces à 2 pour représenter une tabulation. Modifier la valeur de l'option adéquate.  Sortir de Vi/Vim sans enregistrer et ouvrir de nouveau le fichier /etc/services.  Les options sont-elles toujours effectives ? Comment faire pour que ces modifications soient permanentes ?
  • 23. Faycel CHAOUA Atelier systèmes 2  TP3 19 1. Objectifs spécifiques  Analyser les commandes de recherche des fichiers.  Extraire, trier et filtrer des données.  Traiter les flux de redirection. 2. Description  Pour rechercher un fichier sur tout le disque, la commande locate est très rapide mais ne trouvera pas les fichiers qui viennent d'être créés dans la journée. On peut mettre à jour la liste des fichiers qu'elle connaît en appelant updatedb.  find est une commande plus puissante mais plus lente qui va parcourir le disque à la recherche des fichiers. Elle peut s'utiliser avec trois paramètres, dans l'ordre : où chercher, que chercher et que faire avec.  On peut rechercher des fichiers en fonction de leur nom (-name), de leur taille (-size), de leur date de dernier accès (-atime), etc.  Au lieu d'afficher les fichiers trouvés, on peut automatiquement les supprimer avec -delete ou exécuter la commande de son choix sur chacun d'eux avec -exec. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures TP N° 3
  • 24. Faycel CHAOUA Atelier systèmes 2  TP3 20  grep est une commande couramment utilisée pour rechercher un mot dans un fichier.  On peut utiliser des expressions régulières, un système complexe mais puissant, pour effectuer des recherches précises. On fait dans ce cas appel à la commande egrep. Caractère spécial Signification . Caractère quelconque. ^ Début de ligne. $ Fin de ligne. [] Un des caractères entre les crochets. ? L'élément précédent est optionnel (peut être présent 0 ou 1 fois). * L'élément précédent peut être présent 0, 1 ou plusieurs fois. + L'élément précédent doit être présent 1 ou plusieurs fois. | Ou. () Groupement d'expressions.  sort trie des lignes de texte par ordre alphabétique. Le paramètre -n permet de trier par ordre numérique.  wc compte le nombre de lignes, de mots et d'octets dans un fichier.  uniq supprime les doublons d'un fichier.  cut coupe une partie d'un fichier.  Au lieu d'afficher le résultat d'une commande dans une console, il est possible de l'enregistrer dans un fichier. Il suffit d'ajouter le symbole > suivi du nom du fichier à la fin de la commande. Par exemple ls > liste_fichiers.txt enregistre la liste des fichiers dans un fichier plutôt que de l'afficher en console.  Le symbole >> enregistre à la fin du fichier au lieu de l'écraser s'il existe déjà.
  • 25. Faycel CHAOUA Atelier systèmes 2  TP3 21  Les symboles 2> et 2>> permettent de rediriger seulement les erreurs dans un fichier. Quant à 2>&1 il redirige les erreurs dans le même fichier que les messages normaux.  < permet de lire des données depuis un fichier et de les envoyer à une commande, tandis que << lit les données depuis le clavier.  Le symbole | combine des commandes : les données de la commande à sa gauche sont envoyées à la commande à sa droite. Ainsi, du | sort -nr récupère la liste des fichiers avec leur taille et l'envoie à sort pour qu'il la trie.
  • 26. Faycel CHAOUA Atelier systèmes 2  TP3 22 3. Travail demandé  Partie 1 (Recherche des fichiers) :  locate  Créer un fichier "essai.txt" dans le répertoire d’accueil.  Rechercher ce fichier avec la commande locate. Que remarque-t-on ?  Reconstruire la base de données des fichiers du disque dur.  Réexécuter la commande locate sur le fichier "essai.txt". Que peut-on conclure ?  find  Afficher la liste des fichiers .h situés sous le répertoire /usr/include.  Afficher la liste des fichiers plus vieux que 3 jours situés sous le répertoire d’accueil.  Partie 2 (Extraire, trier et filtrer des données) :  head, tail, tubes  Afficher les 5 premières, puis les 5 dernières lignes du fichier /etc/passwd.  Afficher la 7ième ligne de ce fichier (et elle seule), en une seule ligne de commande.  tr, more, tubes  Afficher le fichier /etc/passwd en remplaçant les caractères / par des X.  Obtenir le résultat précédent page par page.  grep, cut, uniq, sort et tubes Étudier la documentation des commandes cut et uniq.  Afficher la liste des répertoires d’accueil des utilisateurs déclarés dans le fichier /etc/passwd.  On rappelle qu’à chaque utilisateur est associé un interpréteur de commandes (shell) lancé lors de son login. La commande correspondante est indiquée dans le 7ième champ du fichier /etc/passwd.
  • 27. Faycel CHAOUA Atelier systèmes 2  TP3 23  Afficher en une ligne de commande le nombre d’interpréteurs de commandes différents mentionnés dans /etc/passwd.  On dispose d'un fichier texte "telephone.txt" contenant un petit carnet d’adresses. Chaque ligne est de la forme "nom prenom numerotelephone". Les champs sont séparés par des tabulations.  Répondre aux questions suivantes en utilisant à chaque fois une ligne de commande shell :  Afficher le carnet d’adresse trié par ordre alphabétique de noms.  Afficher le nombre de personnes dans le répertoire.  Afficher toutes les lignes concernant les “Dupond”.  Afficher toutes les lignes ne concernant pas les “Dupond”.  Afficher le numéro de téléphone (sans le nom) du premier “Dupond” apparaissant dans le répertoire.  Afficher le numéro de téléphone (sans le nom) du premier “Dupond” dans l’ordre alphabétique (ordre basé sur les prénoms).  Partie 3 (Maitriser les flux de redirection) :  Redirections, méta-caractères  Créer un répertoire nommé "inc" dans le répertoire d’accueil (HOME). En utilisant une seule commande, y copier les fichiers du répertoire /usr/include dont le nom commence par "std".  Afficher la liste des fichiers de /usr/include dont le nom commence par a, b ou c.  Modifier la commande de la question précédente pour qu'au lieu d’afficher le résultat, celui- ci soit placé dans un fichier nommé "Abc.list" du répertoire d’accueil.  Afficher le contenu de ce fichier en utilisant la commande cat. Copier avec cat son contenu dans un nouveau fichier nommé "Copie".  Toujours avec cat, créer un nouveau fichier nommé "Double" formé par la mise bout à bout (concaténation) des fichiers "Abc.list" et "Copie".  Vérifier que le nombre de lignes a bien doublé à l’aide de la commande wc.  Créer un fichier nommé "Temp" contenant une ligne de texte.  Avec cat, ajouter la ligne "The end" à la fin du fichier "Temp”.  En une seule ligne de commande, faire afficher le nombre de fichiers de /usr/include dont le nom contient la lettre t.
  • 28. Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 24 1. Objectifs spécifiques  Manipuler les commandes de gestion des utilisateurs.  Manipuler les commandes de gestion des groupes.  Modifier des droits d’accès. 2. Description  Pour des raisons de sécurité, il est impossible sous Ubuntu de se connecter directement en root au démarrage de l'ordinateur.  On peut devenir root temporairement à l'aide de la commande sudo. Cette commande signifie « Faire en se substituant à l'utilisateur : Substitute User DO ».  La commande sudo su permet de devenir root indéfiniment.  Le symbole # à la fin de l'invite de commandes indique qu’on est devenu super-utilisateur. On peut alors exécuter autant de commandes en root qu’on le veut.  Pour quitter le mode « root », on tape la commande exit (ou la combinaison CTRL + D).  La commande useradd (adduser) permet d'ajouter un utilisateur. On doit au minimum fournir un paramètre : le nom de l'utilisateur à créer.  La commande passwd permet de changer le mot de passe d’un utilisateur en indiquant en paramètre le nom du compte à modifier.  La commande userdel (deluser) permet de supprimer un compte d’utilisateur. Le paramètre --remove-home permet de supprimer aussi le répertoire personnel de l’utilisateur et tous ses fichiers personnels.  Les commandes adduser et deluser ne sont utilisées que sous Debian et tous ses descendants, dont Ubuntu. Partout ailleurs, on doit utiliser les commandes useradd et userdel.  La commande groupadd (addgroup) permet de créer un nouveau groupe. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures TP N° 4/5
  • 29. Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 25  La commande usermod permet de modifier un utilisateur. Le paramètre -l renomme l'utilisateur (le nom de son répertoire personnel ne sera pas changé). Le paramètre -g change de groupe. Le paramètre –G permet d’affecter un utilisateur à plusieurs groupes. On ajoute le paramètre –a (-aG) pour garder aussi les anciens groupes de l’utilisateur.  La commande groupdel (delgroup) permet de supprimer un groupe.  Les commandes addgroup et delgroup n’existent que sous Debian et ses dérivés.  La commande chown permet de changer le propriétaire d’un fichier.  La commande chgrp s'utilise exactement de la même manière que la commande chown à la différence près qu'elle affecte cette fois le groupe propriétaire d'un fichier.  La commande chown peut aussi changer le groupe propriétaire d'un fichier. L’option –R modifie tous les sous-dossiers et fichiers contenus dans un dossier pour y affecter un nouvel utilisateur/groupe.  Chaque fichier et chaque dossier possède une liste de droits. C'est une liste qui indique qui a le droit de voir (r) le fichier, de le modifier (w) et de l'exécuter (x).  Les droits sont découpés en fonction des utilisateurs.  On constate que r, w et x sont répétés trois fois en fonction des utilisateurs. Le premier triplet rwx indique les droits que possède le propriétaire du fichier sur ce dernier. Le second triplet rwx indique les droits que possèdent les autres membres du groupe sur ce fichier. Le dernier triplet rwx indique les droits que possèdent tous les autres utilisateurs de la machine sur le fichier.  La commande chmod permet de modifier les droits d’accès. Le paramètre –R permet d’affecter les droits récursivement.
  • 30. Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 26 3. Travail demandé  Partie 1 (Gestion des utilisateurs et des groupes) :  Mise en place d'un espace de travail pour 4 utilisateurs  Définir le lot de commandes à exécuter pour créer 4 utilisateurs en suivant les règles suivantes :  Création de 2 groupes (G1 et G2).  Création de quatre utilisateurs (u1, u2, u3 et u4) avec leurs répertoires home.  Modification des comptes créés.  Les premier et deuxième utilisateurs sont membres du premier groupe.  Les troisième et quatrième utilisateurs sont membres du second groupe.  Le deuxième utilisateur est aussi membre du second groupe.  Le quatrième utilisateur est aussi membre du premier groupe.  Outre leur répertoire de travail, les utilisateurs ont accès à un répertoire commun /home/groupe1 et/ou /home/groupe2 suivant leur groupe.
  • 31. Faycel CHAOUA Atelier systèmes 2  TP4 & TP5 27  Détailler les étapes de création des groupes, des utilisateurs et des répertoires en indiquant les fichiers utilisés et les commandes utilisées sur ces fichiers.  Essayer de modifier les deux répertoires en commun avec les différents utilisateurs créés.  Partie 2 (Droits d’accès) :  Création d’un utilisateur banalisé  Se connecter avec le compte de l’utilisateur user1.  Est-il possible de faire une copie du fichier /etc/passwd ?  Est-il possible de supprimer ou de modifier le fichier /etc/passwd ?  Répéter ces tentatives en tant qu'utilisateur root.  Expliquer la situation à l’aide de la commande ls -l.  À l’aide de la commande id, vérifier l’identité de user1 connecté et le(s) groupe(s) au(x)quel(s) il appartient.  Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le monde, mais non modifiable (même pas par son propriétaire user1).  Créer un répertoire nommé "Secret", dont le contenu est visible uniquement par user1. Les fichiers placés dans ce répertoire sont-ils lisibles par d’autres membres de groupe de l’utilisateur user1 ?  Créer un répertoire nommé "Connaisseurs" tel que les autres utilisateurs ne puissent pas lister son contenu mais puissent lire les fichiers qui y sont placés. On obtiendra: ls Connaisseurs ls : Connaisseurs: Permission denied cat Connaisseurs/toto <...le contenu du fichier toto (s’il existe)...>  Chercher dans le répertoire /usr/bin des exemples de commandes ayant la permission SUID. De quel genre de commande s’agit-il ?
  • 32. Faycel CHAOUA Atelier systèmes 2  TP6 28 1. Objectifs spécifiques  Distinguer les commandes de gestion des processus.  Lancer un processus en arrière-plan.  Passer un processus en arrière-plan.  Identifier les processus qui tournent en arrière-plan.  Détacher un processus de la console.  Reprendre un processus au premier-plan.  Exécuter un programme à une heure différée.  Programmer des commandes pour une exécution régulière. 2. Description  Linux est multi-tâches (plusieurs programmes peuvent tourner en même temps) et multi- utilisateurs (plusieurs utilisateurs peuvent se servir de la même machine en même temps en s'y connectant via Internet).  La commande w indique quels utilisateurs sont sur la machine, ce qu'ils font et quelques autres statistiques comme la charge de travail de la machine et son uptime.  La commande ps permet d'obtenir la liste des processus qui tournent au moment où on lance la commande. Cette liste n'est pas actualisée en temps réel, contrairement à ce que fait la commande top.  Avec ps -ef, on peut avoir la liste de tous les processus lancés par tous les utilisateurs sur toutes les consoles.  Avec ps –ejH, on peut regrouper les processus sous forme d'arborescence. Plusieurs processus sont des « enfants » d'autres processus, cela permet de savoir qui est à l'origine de quel processus.  Avec ps –u user1, on peut lister les processus lancés par l’utilisateur user1. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures TP N° 6
  • 33. Faycel CHAOUA Atelier systèmes 2  TP6 29  La combinaison de touches CTRL + C permet d'arrêter une commande en cours d'exécution dans la console afin de pouvoir reprendre la main.  La commande kill tue un processus, ce qui signifie qu'il lui demande de s'arrêter. Il a besoin du numéro du processus, généralement fourni par ps ou top. Si le processus ne s'arrête pas, on peut utiliser le paramètre -9 qui coupe brutalement le processus (avec risque de perte de données).  La commande killall permet de tuer plusieurs processus.  La commande halt commande l'arrêt immédiat de l'ordinateur.  De même, il existe la commande reboot pour redémarrer l'ordinateur.  Il est possible d'envoyer des programmes en arrière-plan dans la console afin de garder la main pour lancer de nouvelles commandes.  Pour lancer un processus en arrière-plan, on peut ajouter le symbole & à la fin de la commande. En revanche, lorsqu’on ferme la console, le processus est arrêté. Si on veut qu'il continue, on utilise plutôt la commande nohup.  Si on lance une commande normalement (en premier-plan) mais que celle-ci s'éternise, on peut utiliser le raccourci CTRL + Z pour la mettre en pause et récupérer la main. Si on lance la commande bg ensuite, elle reprendra son exécution en arrière-plan. On pourra la récupérer au premier-plan avec fg à tout moment.
  • 34. Faycel CHAOUA Atelier systèmes 2  TP6 30  La commande jobs permet de connaître les processus qui tournent en arrière-plan.  La commande date permet d'obtenir la date et l'heure mais aussi de modifier celles-ci.  La commande at retarde l'exécution d'une commande à une heure ultérieure.  On peut exécuter plusieurs commandes d'affilée en les séparant par des points-virgules : touch fichier.txt ; rm fichier.txt.  La commande sleep permet de faire une pause entre deux commandes exécutées d'affilée.  La commande crontab permet de programmer des commandes pour une exécution régulière. Par exemple : tous les jours à 18 h 30, tous les lundis et mardis à 12 h, tous les 5 du mois, etc. On modifie la programmation avec crontab -e. 3. Travail demandé  Partie 1 (Gestion des processus)  Dans un système Linux, quel est le processus qui n'a pas de père. Quel est son PID ?  À quoi servent les options –f et –L de la commande ps ?  Lancer la commande ps ax -f –L et décrire les différentes colonnes affichées.  Utiliser la commande pstree pour afficher l'arbre des processus en cours avec leur PID.  Quelle option de pstree permet d'afficher les ancêtres d'un certain processus dont le PID est donné en argument à la commande ?  Quelle option de pstree permet d'afficher l'arbre complet des processus en cours (i.e., permet d'afficher toutes les occurrences de chaque processus) ?  Quel signal est lancé par défaut à la commande kill ?  Que font les signaux suivants : SIGQUIT, SIGKILL, SIGCHLD ?  Quel caractère permet de lancer une commande en arrière-plan ? Quelle commande permet de lancer une commande en arrière-plan ?  Afficher la liste des processus actifs dans le terminal courant en utilisant ps.  Quelles informations sont affichées par défaut lorsqu’on lance la commande top ?  Utiliser la commande top pour afficher la liste des processus en temps réel en ajoutant les colonnes PID et UID dans l'affichage.  Lancer 3 fois la commande sleep en arrière-plan avec des arguments différents à chaque fois.  Afficher la liste des travaux en cours. Que signifient les caractères + et - dans le résultat obtenu ?  Lancer ensuite la commande sleep en premier-plan.  Afficher à nouveau la liste des travaux en cours.
  • 35. Faycel CHAOUA Atelier systèmes 2  TP6 31  Relancer en arrière-plan la dernière commande sleep suspendue auparavant.  Arrêter l'exécution de la première commande sleep en utilisant son PID.  Arrêter l'exécution de la deuxième commande sleep en utilisant son numéro de travail.  Arrêter l'exécution des deux dernières commandes sleep en utilisant la combinaison de touches CTRL + C.  Lancer la commande gedit depuis un terminal en premier-plan. Attendre que la fenêtre de l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ?  Lancer la commande gedit depuis un terminal en arrière-plan. Attendre que la fenêtre de l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ?  À quoi sert la commande nohup ? Comment faire pour à la fois détacher un processus du shell à partir duquel il est lancé et le lancer en arrière-plan ? Donner un exemple.  Partie 2 (Traitement différé)  Utiliser la commande at pour lancer en différé une commande qui écrit l’heure dans un fichier texte. Décommander cette tâche.  Utiliser la commande at pour nettoyer /tmp dans 10 minutes.  Planifier le nettoyage de /tmp tous les soirs à 3h le matin.
  • 36. Faycel CHAOUA Atelier systèmes 2  TP7 32 1. Objectifs spécifiques  Créer un script Shell.  Exécuter un script Shell.  Manipuler des variables.  Utiliser les conditions et les boucles. 2. Description  Contrairement aux apparences, il existe plusieurs environnements console différents : ce sont les Shells. Ce sont eux qui gèrent l'invite de commandes et ses fonctionnalités comme l'historique des commandes, la recherche CTRL + R, l'auto-complétion des commandes, etc.  Le Shell utilisé par défaut sous Ubuntu est bash, mais il existe aussi ksh, zsh, etc.  Il est possible d'automatiser une série de commandes. On crée pour cela un fichier contenant la liste des commandes à exécuter, appelé script Shell. On dit que l'on fait de la programmation Shell.  En fonction du Shell utilisé, on dispose de différents outils pour créer son script Shell. Si on utilise bash, donc le fichier de script doit commencer par la ligne #!/bin/bash.  Dans le fichier de script, il suffit d'écrire les commandes à exécuter les unes après les autres, chacune sur une ligne différente.  Pour exécuter le script (et donc exécuter la liste des commandes qu'il contient) il faut donner les droits d'exécution au fichier (chmod +x script.sh) et lancer l'exécution du script avec la commande ./script.sh.  Comme dans la plupart des langages de programmation, on peut créer des variables en Shell qui stockent temporairement des valeurs en mémoire. Une variable nommée variable est accessible en écrivant $variable.  La commande echo affiche un texte ou le contenu d'une variable dans la console. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures TP N° 7
  • 37. Faycel CHAOUA Atelier systèmes 2  TP7 33  La commande read attend une saisie au clavier de la part de l'utilisateur et stocke le résultat dans une variable.  On peut effectuer des opérations mathématiques sur des nombres à l’aide de la commande let.  Certaines variables sont accessibles partout, dans tous les scripts : ce sont les variables d'environnement. On peut les lister avec la commande env.  Les paramètres envoyés à notre script (comme ./script -p) sont transmis dans des variables numérotées : $1, $2, $3, etc. Le nombre de paramètres envoyés est indiqué dans la variable $#.  On effectue des tests dans ses programmes grâce aux instructions if, elif, else, fi.  On peut comparer deux chaînes de caractères entre elles, mais aussi des nombres. On peut également effectuer des tests sur des fichiers : est-ce que celui-ci existe ? Est-il exécutable ? Etc.  Au besoin, il est possible de combiner plusieurs tests à la fois avec les symboles && (ET) et || (OU).  Le symbole ! (point d'exclamation) exprime la négation dans une condition.  Lorsque l'on effectue beaucoup de tests sur une même variable, il est parfois plus pratique d'utiliser un bloc case in… esac plutôt qu'un bloc if… fi.  Pour exécuter une série de commandes plusieurs fois, on utilise des boucles.  L’instruction while permet de boucler tant qu'une condition est remplie. Le fonctionnement des conditions dans les boucles est le même que celui des blocs if.  L’instruction for permet de boucler sur une série de valeurs définies. À l'intérieur de la boucle, une variable prend successivement les valeurs indiquées. 3. Travail demandé  Partie 1 (variables)  Tester les exemples suivants.  Exemple 1 #!/bin/bash message='Bonjour tout le monde' pos=`pwd` echo '1- Le message est : $message' echo "2- Le message est : $message" echo "Vous êtes dans le dossier $pos"
  • 38. Faycel CHAOUA Atelier systèmes 2  TP7 34  Exemple 2 #!/bin/bash read nom prenom echo "Bonjour $nom $prenom !" echo "Votre nom est $nom et votre prénom est $prenom"  Exemple 3 #!/bin/bash read -p 'Entrez votre nom : ' nom echo "Bonjour $nom !" read -p 'Entrez votre login (5 caractères max) : ' -n 5 login echo –e "nVotre login est $login" read -p 'Entrez votre mot de passe : ' -s pass echo -e "nMerci ! votre mot de passe est $pass !" read -p 'Entrez le code de la bombe (avant 5sec) : ' -t 5 code echo -e "nBoum !"  Exemple 4 #!/bin/bash let "a = 5" let "b = 2" let "c = a + b" echo $c  Exemple 5 #!/bin/bash echo "Votre éditeur par défaut est $EDITOR" echo -e "nLe shell en cours d’exécution est $SHELL" echo -e "nla position de votre dossier home est $HOME" echo -e "nLe dossier dans lequel vous vous trouvez est $PWD"  Partie 2 (script)  Exercice 1  Créer un script Shell nommé "ex1.sh" qui affiche la date de dernière modification d'un fichier puis la modifie avec l'heure actuelle et enfin réaffiche la date de dernière modification du fichier.  Cette procédure accepte un seul paramètre qui est le nom du fichier.  Exercice 2  Créer un script Shell nommé "ex2.sh" réalisant la création d'un répertoire "Ex2" contenant 10 fichiers nommés "Un" à "Dix". Chaque fichier contient une seule ligne :
  • 39. Faycel CHAOUA Atelier systèmes 2  TP7 35 "Un" contient "Première fichier" "Deux" contient "Deuxième fichier" ... "Dix" contient "Dixième fichier"  Vérifier que le répertoire à créer n'existe pas déjà auquel cas il ne sera pas recréé.  Exercice 3  Créer un script Shell nommé "ex3.sh" qui réalise les opérations suivantes :  Création d'un sous répertoire nommé "annéemoisjour" (20171204 pour le 8 décembre 2015). Vérifier que le répertoire à créer n'existe pas déjà.  Copie des fichiers de "Ex2" sous ce répertoire puis effacement de ces mêmes fichiers de "Ex2".  Création de deux fichiers sous le répertoire d'accueil (HOME) de la personne qui a lancé le Shell :  Un fichier nommé "Gros_fichier.numero_du_shell" dans lequel se trouvera le contenu concaténé des fichiers traités.  Un fichier nommé "Nom_du_script.numero_du_shell" dans lequel se trouvera le nom des fichiers traités.  Exercice 4  Créer un script Shell nommé "ex4.sh" permettant d'afficher la liste des fichiers du répertoire /etc accessibles en lecture et ceux accessibles en écriture.  Exercice 5  Créer un script Shell nommé "ex5.sh" permettant d'afficher des tables de multiplication. La commande "./ex5.sh 5 10" aura pour résultat l'affichage : 0 x 5 = 0 1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25 6 x 5 = 30 7 x 5 = 35 8 x 5 = 40 9 x 5 = 45 10 x 5 = 50
  • 40. Faycel CHAOUA Atelier systèmes 2  Correction des TPs 36 Correction des TP
  • 41. Faycel CHAOUA Atelier systèmes 2  Correction du TP1 37 Correction des exercices  Récupérer les outils du TP nécessaires à l’installation et à la vérification de l’intégrité du système.  Suivre les étapes d’installation détaillées avec des captures d’écran dans le manuel (TP N° 1). Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 3 heures Correction du TP N° 1
  • 42. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 38 Correction des exercices  Partie 1 (Manipulation des fichiers et répertoires) :  Infos système  Quel est le système installé ? » uname –a  Quelle est la distribution installée ? » cat /etc/issue  Quels sont les utilisateurs en cours du système ? » who  Ouvrir un nouveau terminal en utilisant un autre compte. » su user  Fermer ce terminal. » exit  La commande man  Tester la commande man pour obtenir de l'aide sur man. » man man  Quelles sont les commandes susceptibles d'être documentées dans man ? » Les commandes externes.  Contenu de répertoires et de fichiers ascii (texte)  Lister le contenu du répertoire /etc. » ls /etc Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures Correction du TP N°2
  • 43. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 39  Lister de manière détaillée le contenu du répertoire /etc. Les fichiers nommés "passwd" et "shadow" sont-ils présents dans /etc ? » ls -l /etc ou ls –al /etc » Les fichiers "passwd" et "shadow" sont bien présents dans le répertoire /etc.  Lister le contenu du répertoire /dev. » ls /dev  Lister le contenu du fichier /etc/passwd. » cat /etc/passwd  Combien de lignes, de mots et de caractères comporte le fichier /etc/passwd. » wc /etc/passwd  Lister le contenu du fichier /etc/shadow. » cat /etc/shadow : Permission non accordée.  Lister le contenu du fichier /var/log/syslog (affichage progressif). » more /var/log/syslog  Lister le contenu du fichier /var/log/syslog (affichage interactif). » less /var/log/syslog  Lister les premières lignes du fichier /var/log/syslog. » head /var/log/syslog  Lister les dernières lignes du fichier /var/log/syslog. » tail /var/log/syslog  Commandes Déterminer les commandes permettant de réaliser les actions suivantes :  Déterminer le répertoire par défaut dans la hiérarchie des répertoires. » pwd  Créer un répertoire nommé "TP2". » mkdir TP2  Se positionner sous "TP2". » cd TP2  Y a-t-il des fichiers, des répertoires dans ce répertoire ? » ls –al : uniquement les entrées "." et "..".  Entrer du texte dans un fichier nommé "Mon_fichier". » echo "bonjour dsi" > Mon_fichier  Lister le contenu de "Mon_fichier".
  • 44. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 40 » cat Mon_fichier  Lister le répertoire courant. » ls ou ls –al  Créer, sous le répertoire "TP2", deux sous-répertoires : "Source" et "Data". » mkdir Source Data  Se positionner sous "Source". » cd Source  Lister le répertoire courant. » ls ou ls –al  Revenir sous le répertoire "TP2" et détruire "Source". » cd ../ » rmdir Source  Créer un deuxième fichier nommé "Mon_fichier_2". » touch Mon_fichier_2  Copier chaque fichier en nom_de_fichier.old. » cp Mon_fichier Mon_fichier.old » cp Mon_fichier_2 Mon_fichier_2.old  Créer un répertoire "Old". » mkdir Old  Déplacer les fichiers avec l'extension old vers le répertoire "Old". » mv *.old Old  Copier les fichiers sans extension dans le répertoire "Data". » cp * Data  Sous le répertoire "TP2", créer un lien matériel "Mon_lien" équivalent à "Mon_fichier_2". » ln Mon_fichier_2 Mon_lien  Lister les deux fichiers "Mon_lien" et "Mon_fichier_2" en affichant leur numéro d'inode. Que remarque-t-on ? » ls –li » Leurs numéros d’inode sont identiques donc ces deux fichiers représentent le même fichier physique.  Supprimer "Mon_lien". "Mon_fichier_2" a-t-il disparu? » rm Mon_lien » "Mon_fichier_2" existe toujours.  Sous le répertoire "TP2", créer un lien symbolique "Mon_nouveau_lien" sur "Mon_fichier_2". » ln –s Mon_fichier_2 Mon_nouveau_lien  Lister les deux fichiers "Mon_nouveau_lien" et "Mon_fichier_2". Que remarque-t-on ?
  • 45. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 41 » ls –li » Le lien et le fichier représentent deux fichiers physiques.  Supprimer "Mon_fichier_2". "Mon_nouveau_lien" a-t-il disparu? » rm Mon_fichier_2 » Le lien existe toujours mais il est brisé.  Quelle est la taille totale des fichiers contenus dans le répertoire "TP2" ? » du -b  Effacer tous les fichiers créés dans le répertoire "TP2". » rm –r *  Partie 2 (L’éditeur de texte Vi/Vim) :  Lancement et sortie de Vi/Vim  Lancer l'éditeur de texte Vi/Vim sans argument. Que constate-t-on ? » vi  Sortir de Vi/Vim. » :q  Éditer maintenant le fichier /etc/hosts. Que signifient les caractères ~ placés en début de ligne ? » vi /etc/hosts  Sortir de Vi/Vim. » :q  Commandes de déplacement  Éditer le fichier /etc/services. » vi /etc/services  Sans utiliser le pavé directionnel du clavier (flèches),  déplacer le curseur d'une ligne vers le bas. » j  déplacer le curseur de douze lignes vers le bas. » 12j  déplacer le curseur de huit lignes vers le haut. » 8k  déplacer le curseur de seize caractères vers la droite. » 16l
  • 46. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 42  déplacer le curseur de neuf caractères vers la gauche. » 9h  Déplacer le curseur en fin de ligne. » $  Déplacer le curseur en début de ligne. » 0  Déplacer plusieurs fois le curseur sur le premier caractère du mot suivant. » w  Déplacer plusieurs fois le curseur sur le premier caractère du mot précédent. » b  Déplacer plusieurs fois le curseur sur le dernier caractère du mot suivant. » e  Déplacer le curseur sur la dernière ligne du fichier. » G  Déplacer le curseur sur la première ligne du fichier. » 1G  Déplacer le curseur sur la 45ème ligne du fichier. » 45G  Déplacer le curseur d'une page vers le haut. » CTRL + b  Déplacer le curseur d'une page vers le bas. » CTRL + f  Commandes d'édition et de correction  Déplacer le curseur sur le sixième caractère de la première ligne du fichier. » 1G ; 6l  Insérer la chaîne de caractères "un" avant le curseur sur la ligne. On doit entrer dans le mode "édition" de Vi/Vim. » i ; "un"  Sans utiliser le pavé directionnel du clavier, se déplacer de trois caractères vers la droite et insérer la chaîne de caractères "deux" après le curseur. N'oublier pas de retourner en mode "commandes" avant de déplacer le curseur, puis entrer de nouveau en mode "édition". » Esc ; 3l ; a ; "deux"  Insérer la chaîne de caractères "trois" en début de ligne. » Esc ; 0 ; i ; "trois"
  • 47. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 43  Insérer la chaîne de caractères "quatre" en fin de ligne. » Esc ; $ ; a ; "quatre"  Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la gauche. » Esc ; 6h  Supprimer le caractère sous le curseur. » x  Supprimer le caractère situé avant le curseur. » h ; x  Supprimer les cinq caractères précédant le curseur. » 5h ; 5x  Effacer tous les caractères se trouvant du curseur à la fin de la ligne. Utiliser la commande d'effacement suivie de la commande de déplacement adéquate. » d$  Sans utiliser le pavé directionnel du clavier, déplacer le curseur de six caractères vers la gauche. » 6h  Effacer tous les caractères se trouvant du début de la ligne au curseur. Utiliser la commande d'effacement suivie de la commande de déplacement adéquate. » d0  Coller enfin de ligne le texte qu’on vient de "couper". » $p  Effacer la totalité de la ligne. » dd  Copier la dernière ligne du fichier et coller-la en début de fichier. » G ; yy ; 1G ; P  Annuler la dernière commande. Est-ce que possible d'annuler aussi les commandes précédentes ? » u » Oui, par exemple 4u annule les quatre dernières commandes.  Effacer les quatre premières lignes du fichier. » 1G ; 4dd  Effacer les quatre lignes suivantes. Utiliser la commande de répétition. » .
  • 48. Faycel CHAOUA Atelier systèmes 2  Correction du TP2 44  Commandes globales  Essayer d'enregistrer les modifications qu’on a apportées au fichier. Est-ce que possible ? » :w » Non, le fichier est accessible en lecture seule.  Enregistrer le travail dans le répertoire "TP2" sous le nom de fichier "services2". Utiliser un chemin personnel pour spécifier le nouveau nom de fichier. » :w ~/TP2/services2  Supprimer la première ligne du fichier, puis enregistrer et quitter Vi/Vim. » 1G ; dd ; :wq  Ouvrir de nouveau le fichier /etc/services et rechercher la chaîne de caractères "tcp". » vi /etc/services ; /tcp  Déplacer le curseur d'occurrence en occurrence de la chaîne de caractères "tcp". » n  Déplacer toujours le curseur d'occurrence en occurrence de la chaîne de caractères "tcp", mais cette fois, dans le sens inverse de la recherche. » ?tcp ; n  Remplacer toutes les chaînes de caractères "udp" du fichier par "UDP". » :1,$s/udp/UDP/g  Options de l'éditeur  Afficher toutes les options de l'éditeur. » :set all  Afficher les numéros de lignes. Activer l'option adéquate. » :set number  Définir le nombre d'espaces à 2 pour représenter une tabulation. Modifier la valeur de l'option adéquate. » :set tabline=2  Sortir de Vi/Vim sans enregistrer et ouvrir de nouveau le fichier /etc/services. » :q ; vi /etc/services  Les options sont-elles toujours effectives ? Comment faire pour que ces modifications soient permanentes ? » Non, les modifications ne sont pas effectives. Il faut insérer les commandes dans le fichier .vimrc. Si le fichier n’existe pas, il faut le créer dans le répertoire d’accueil de l’utilisateur.
  • 49. Faycel CHAOUA Atelier systèmes 2  Correction du TP3 45 Correction des exercices  Partie 1 (Recherche des fichiers) :  locate  Créer un fichier "essai.txt" dans le répertoire d’accueil. » touch $HOME/essai.txt  Rechercher ce fichier avec la commande locate. Que remarque-t-on ? » locate essai.txt ; [Le fichier "essai.txt" n’est pas retrouvé.]  Reconstruire la base de données des fichiers du disque dur. » sudo updatedb  Réexécuter la commande locate sur le fichier "essai.txt". Que peut-on conclure ? » locate essai.txt ; [Le fichier "essai.txt" est bien retrouvé.]  find  Afficher la liste des fichiers .h situés sous le répertoire /usr/include. » find /usr/include -name "*.h"  Afficher la liste des fichiers plus vieux que 3 jours situés sous le répertoire d’accueil. » find $HOME -ctime +3  Partie 2 (Extraire, trier et filtrer des données) :  head, tail, tubes  Afficher les 5 premières, puis les 5 dernières lignes du fichier /etc/passwd. » head -5 /etc/passwd » tail -5 /etc/passwd Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures Correction du TP N° 3
  • 50. Faycel CHAOUA Atelier systèmes 2  Correction du TP3 46  Afficher la 7ième ligne de ce fichier (et elle seule), en une seule ligne de commande. » head -7 /etc/passwd | tail -1  tr, more, tubes  Afficher le fichier /etc/passwd en remplaçant les caractères / par des X. » cat /etc/passwd | tr / X  Obtenir le résultat précédent page par page. » cat /etc/passwd | tr / X | more  grep, cut, uniq, sort et tubes Étudier la documentation des commandes cut et uniq.  Afficher la liste des répertoires d’accueil des utilisateurs déclarés dans le fichier /etc/passwd. » cut -d: -f6 /etc/passwd  On rappelle qu’à chaque utilisateur est associé un interpréteur de commandes (shell) lancé lors de son login. La commande correspondante est indiquée dans le 7ième champ du fichier /etc/passwd.  Afficher en une ligne de commande le nombre d’interpréteurs de commandes différents mentionnés dans /etc/passwd. » cut -d: -f7 /etc/passwd | sort | uniq | wc -l  On dispose d'un fichier texte "telephone.txt" contenant un petit carnet d’adresses. Chaque ligne est de la forme "nom prenom numerotelephone". Les champs sont séparés par des tabulations.  Répondre aux questions suivantes en utilisant à chaque fois une ligne de commande shell :  Afficher le carnet d’adresse trié par ordre alphabétique de noms. » sort telephone.txt  Afficher le nombre de personnes dans le répertoire. » wc -l telephone.txt  Afficher toutes les lignes concernant les “Dupond”. » grep "Dupond" telephone.txt  Afficher toutes les lignes ne concernant pas les “Dupond”. » grep -v "Dupond"  Afficher le numéro de téléphone (sans le nom) du premier “Dupond” apparaissant dans le répertoire.
  • 51. Faycel CHAOUA Atelier systèmes 2  Correction du TP3 47 » grep "Dupond" telephone.txt | head -1 | cut -d$'t' -f3  Afficher le numéro de téléphone (sans le nom) du premier “Dupond” dans l’ordre alphabétique (ordre basé sur les prénoms). » sort telephone.txt | grep "Dupond" | head -1 | cut -d$'t' -f3  Partie 3 (Maitriser les flux de redirection) :  Redirections, méta-caractères  Créer un répertoire nommé "inc" dans le répertoire d’accueil (HOME). En utilisant une seule commande, y copier les fichiers du répertoire /usr/include dont le nom commence par "std". » mkdir inc » cp /usr/include/std* $HOME/inc  Afficher la liste des fichiers de /usr/include dont le nom commence par a, b ou c. » find /usr/include/ ( -name 'a*' -o -name 'b*' -o -name 'c*' ) » find /usr/include/ -name "[abc]*"  Modifier la commande de la question précédente pour qu'au lieu d’afficher le résultat, celui- ci soit placé dans un fichier nommé "Abc.list" du répertoire d’accueil. » find /usr/include/ ( -name 'a*' -o -name 'b*' -o -name 'c*' ) > Abc.list » find /usr/include/ -name "[abc]*" > Abc.list  Afficher le contenu de ce fichier en utilisant la commande cat. Copier avec cat son contenu dans un nouveau fichier nommé "Copie". » cat Abc.list ; cat Abc.list > Copie  Toujours avec cat, créer un nouveau fichier nommé "Double" formé par la mise bout à bout (concaténation) des fichiers "Abc.list" et "Copie". » cat Abc.list Copie > Double  Vérifier que le nombre de lignes a bien doublé à l’aide de la commande wc. » wc -l Abc.list Copie Double  Créer un fichier nommé "Temp" contenant une ligne de texte. » echo "Bonjour ISET" > Temp  Avec cat, ajouter la ligne "The end" à la fin du fichier "Temp”. » cat >> Temp ; Taper au clavier "The end" ; CTRL + D  En une seule ligne de commande, faire afficher le nombre de fichiers de /usr/include dont le nom contient la lettre t. » ls /usr/include/*t* | wc -l
  • 52. Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 48 Correction des exercices  Partie 1 (Gestion des utilisateurs et des groupes) :  Mise en place d'un espace de travail pour 4 utilisateurs  Définir le lot de commandes à exécuter pour créer 4 utilisateurs en suivant les règles suivantes:  Création de 2 groupes (G1 et G2). » sudo groupadd G1 » sudo groupadd G2 » cat /etc/group  Création de quatre utilisateurs (u1, u2, u3 et u4) avec leurs répertoires home. » sudo useradd -m u1 » sudo useradd -m -c "user2" u2 » sudo useradd -m -c "user3" -s "/bin/bash" u3 » sudo useradd -m -c "user4" -s "/bin/bash" u4 » cat /etc/passwd ; sudo cat /etc/shadow ; cat /etc/group ; sudo cat /etc/gshadow ; ls -l /home  Modification des comptes créés. » sudo usermod -c "user1" -s "/bin/bash" u1 Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures Correction des TP N° 4/5
  • 53. Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 49 » sudo usermod -s "/bin/bash" u2 » cat /etc/passwd  Les premier et deuxième utilisateurs sont membres du premier groupe.  Les troisième et quatrième utilisateurs sont membres du second groupe.  Le deuxième utilisateur est aussi membre du second groupe.  Le quatrième utilisateur est aussi membre du premier groupe. » sudo usermod -G G1 u1 » sudo usermod -G G1 u2 » sudo usermod -G G2 u3 » sudo usermod -G G2 u4 » sudo usermod -aG G2 u2 » sudo usermod -aG G1 u4 » cat /etc/group  Outre leur répertoire de travail, les utilisateurs ont accès à un répertoire commun /home/groupe1 et/ou /home/groupe2 suivant leur groupe. » sudo mkdir /home/groupe1 /home/groupe2 » sudo chown adminiset:G1 /home/groupe1 » sudo chown adminiset:G2 /home/groupe2 » sudo chmod g+ws /home/groupe1 » sudo chmod g+ws /home/groupe2 » ls –l /home  Détailler les étapes de création des groupes, des utilisateurs et des répertoires en indiquant les fichiers utilisés et les commandes utilisées sur ces fichiers.  Essayer de modifier les deux répertoires en commun avec les différents utilisateurs créés. » Il faut activer les différents utilisateurs (création des mots de passe).
  • 54. Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 50 » sudo passwd u1 ; sudo passwd u2 ; sudo passwd u3 ; sudo passwd u4  Partie 2 (Droits d’accès) :  Création d’un utilisateur banalisé  Se connecter avec le compte de l’utilisateur user1. » su u1  Est-il possible de faire une copie du fichier /etc/passwd ? » cp /etc/passwd ~  Est-il possible de supprimer ou de modifier le fichier /etc/passwd ? » rm /etc/passwd » echo "bonjour" >> /etc/passwd » Le fichier est protégé en écriture.  Répéter ces tentatives en tant qu'utilisateur root. » sudo su » Il faut créer une copie du fichier /etc/passwd avant de faire toute modification.  Expliquer la situation à l’aide de la commande ls -l. » ls –l /etc/passwd » root est le propriétaire du fichier /etc/passwd. Il a les droits rw- (tous les privilèges) sur ce fichier.  À l’aide de la commande id, vérifier l’identité de user1 connecté et le(s) groupe(s) au(x)quel(s) il appartient. » id u1  Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le monde, mais non modifiable (même pas par son propriétaire user1). » echo "Bonjour Tout le monde !" > f1 » chmod a+r,a-w f1 Ou chmod 444 f1  Créer un répertoire nommé "Secret", dont le contenu est visible uniquement par user1. Les fichiers placés dans ce répertoire sont-ils lisibles par d’autres membres de groupe de l’utilisateur user1 ? » mkdir Secret » chmod u+r,go-r Secret Ou chmod 711 Secret Ou chmod 700 Secret » Oui, ils sont lisibles par d’autres utilisateurs.  Créer un répertoire nommé "Connaisseurs" tel que les autres utilisateurs ne puissent pas lister son contenu mais puissent lire les fichiers qui y sont placés.
  • 55. Faycel CHAOUA Atelier systèmes 2  Correction des TP4 & TP5 51 On obtiendra: ls Connaisseurs ls : Connaisseurs: Permission denied cat Connaisseurs/toto <...le contenu du fichier toto (s’il existe)...> » mkdir Connaisseurs » chmod o-r Connaisseurs Ou chmod 711 Connaisseurs  Chercher dans le répertoire /usr/bin des exemples de commandes ayant la permission SUID. De quel genre de commande s’agit-il ? » ls -l /usr/bin/ | grep "rws"
  • 56. Faycel CHAOUA Atelier systèmes 2  Correction du TP6 52 Correction des exercices  Partie 1 (Gestion des processus)  Dans un système Linux, quel est le processus qui n'a pas de père. Quel est son PID ? » Le processus systemd (init). Son PID est 1.  À quoi servent les options –f et –L de la commande ps ? » –f : (forêt) affiche les arbres généalogiques des processus. » –L : (long format) affiche encore plus d’informations détaillées sur chaque processus.  Lancer la commande ps -fL et décrire les différentes colonnes affichées. » UID : propriétaire du processus. » PID : numéro du processus. » PPID : numéro du processus-père. » LWP : identifiant lwp (« light weight process » ou « thread ») du processus léger présenté. » C : obsolète. » NLWP : nombre de processus légers (« threads ») dans le processus. » STIME : heure de début du processus. » TTY : pseudo-terminal contrôlant le processus. » TIME : durée d'exécution du processus. » CMD : nom de la commande.  Utiliser la commande pstree pour afficher l'arbre des processus en cours avec leur PID. Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures Correction du TP N° 6
  • 57. Faycel CHAOUA Atelier systèmes 2  Correction du TP6 53  Quelle option de pstree permet d'afficher les ancêtres d'un certain processus dont le PID est donné en argument à la commande ? » L’option « -h ».  Quelle option de pstree permet d'afficher l'arbre complet des processus en cours (i.e., permet d'afficher toutes les occurrences de chaque processus) ?  Quel signal est lancé par défaut à la commande kill ? » Le signal SIGTERM (15).  Que font les signaux suivants : SIGQUIT, SIGKILL, SIGCHLD ? » SIGQUIT : instruction (QUIT). » SIGKILL : ordonne au processus de se terminer inconditionnellement comme dans le cas des processus qui bouclent. » SIGCHLD : modification du statut d'un processus fils.  Quel caractère permet de lancer une commande en arrière-plan ? Quelle commande permet de lancer une commande en arrière-plan ? » Le caractère « & » et la commande « bg ».  Afficher la liste des processus actifs dans le terminal courant en utilisant ps.  Quelles informations sont affichées par défaut lorsqu’on lance la commande top ? » La commande top permet surtout de suivre les ressources que les processus utilisent (quantité de RAM, pourcentage de CPU, durée d’exécution d’un processus depuis son démarrage, etc.).  Utiliser la commande top pour afficher la liste des processus en temps réel en ajoutant les colonnes PID et UID dans l'affichage.
  • 58. Faycel CHAOUA Atelier systèmes 2  Correction du TP6 54  Lancer 3 fois la commande sleep en arrière-plan avec des arguments différents à chaque fois.  Afficher la liste des travaux en cours. Que signifient les caractères + et - dans le résultat obtenu ? » Le caractère + représente la dernière commande lancée en arrière-plan alors que le caractère – représente l’avant dernière commande lancée en arrière-plan.  Lancer ensuite la commande sleep en premier-plan. » sleep 3  Afficher à nouveau la liste des travaux en cours. » jobs
  • 59. Faycel CHAOUA Atelier systèmes 2  Correction du TP6 55  Relancer en arrière-plan la dernière commande sleep suspendue auparavant. » bg 3  Arrêter l'exécution de la première commande sleep en utilisant son PID. » kill 4363  Arrêter l'exécution de la deuxième commande sleep en utilisant son numéro de travail. » fg 2 » CTRL + C  Arrêter l'exécution des deux dernières commandes sleep en utilisant la combinaison de touches CTRL + C. » Il faut tout d’abord les faire passer en premier-plan avec fg.  Lancer la commande gedit depuis un terminal en premier-plan. Attendre que la fenêtre de l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ? » La fenêtre de l'application gedit se ferme aussi.  Lancer la commande gedit depuis un terminal en arrière-plan. Attendre que la fenêtre de l'application s'ouvre puis fermer le terminal d'où on l’a lancée. Que se passe-t-il ? » La fenêtre de l'application gedit se ferme aussi.  À quoi sert la commande nohup ? Comment faire pour à la fois détacher un processus du shell à partir duquel il est lancé et le lancer en arrière-plan ? Donner un exemple. » nohup ignore le signal SIGHUP (d’où son nom) puis exécute le programme indiqué en ligne de commande, de sorte que celui-ci ignorera le signal SIGHUP. » nohup gedit &  Partie 2 (Traitement différé)  Utiliser la commande at pour lancer en différé une commande qui écrit l’heure dans un fichier texte. Décommander cette tâche.  Utiliser la commande at pour nettoyer /tmp dans 10 minutes.
  • 60. Faycel CHAOUA Atelier systèmes 2  Correction du TP6 56  Planifier le nettoyage de /tmp tous les soirs à 3h le matin.
  • 61. Faycel CHAOUA Atelier systèmes 2  Correction du TP7 57 Correction des exercices  Correction TP7Ex1  Test d’exécution du TP7Ex1 Institut Supérieur des Études Technologiques de Kélibia Département de Technologies de l'Informatique Matière : Atelier systèmes 2 Niveau : LMD ‒ L2 Enseignant : Faycel CHAOUA Durée : 6 heures Correction du TP N° 7
  • 62. Faycel CHAOUA Atelier systèmes 2  Correction du TP7 58  Correction TP7Ex2  Test d’exécution du TP7Ex2
  • 63. Faycel CHAOUA Atelier systèmes 2  Correction du TP7 59  Correction TP7Ex3  Test d’exécution du TP7Ex3
  • 64. Faycel CHAOUA Atelier systèmes 2  Correction du TP7 60  Correction TP7Ex4  Test d’exécution du TP7Ex4
  • 65. Faycel CHAOUA Atelier systèmes 2  Correction du TP7 61  Correction TP7Ex5  Test d’exécution du TP7Ex5
  • 66. Faycel CHAOUA Atelier systèmes 2  Références (Bibliographie / Webographie) 62 Références (Bibliographie / Webographie) [1] « Tutoriel : Installer Ubuntu avec le média d'installation - Documentation Ubuntu Francophone ». [En ligne]. Disponible sur: https://doc.ubuntu- fr.org/tutoriel/installer_ubuntu_avec_le_live_cd. [Consulté le: 18-déc-2017]. [2] « Tutoriel : Compléter l’installation d’Ubuntu - Documentation Ubuntu Francophone ». [En ligne]. Disponible sur: https://doc.ubuntu-fr.org/tutoriel/completer_installation_ubuntu. [Consulté le: 18-déc-2017]. [3] Y. Bailly et M. Grenard, « Commandes de bases », Linux par l’exemple : Notions de base et configurations types, 02-août-1999. [En ligne]. Disponible sur: http://www.linux- france.org/article/kafkafr/node14.html. [Consulté le: 22-déc-2017]. [4] C. Pivoteau, « Introduction au système ». [En ligne]. Disponible sur: http://igm.univ- mlv.fr/~pivoteau/LINUX/. [Consulté le: 22-déc-2017]. [5] N. Janey, « Linux ». [En ligne]. Disponible sur: http://raphaello.univ- fcomte.fr/linux/Linux.htm. [Consulté le: 18-déc-2017]. [6] N. Pons, Linux - Entraînez-vous sur les commandes de base - 2ème édition. ENI, 2009. [7] M. Nebra, « Reprenez le contrôle à l’aide de Linux ! », OpenClassrooms. [En ligne]. Disponible sur: https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux. [Consulté le: 18-déc-2017]. [8] R. Kanawati, « Le système Linux : Gestion des processus », 2006-2005. [En ligne]. Disponible sur: http://lipn.univ-paris13.fr/~kanawati/doc/RT-R3-TP3.pdf. [Consulté le: 18- déc-2017]. [9] M. Rakho, « Partie II – Programmation shell sous Linux », 2013-2012. [En ligne]. Disponible sur: http://igm.univ-mlv.fr/~rakho/fr/l2-s4-unix-shell/2013/tp2/tp2.pdf. [Consulté le: 18-déc-2017]. [10] « Tutoriel : Introduction aux scripts shell - Documentation Ubuntu Francophone ». [En ligne]. Disponible sur: https://doc.ubuntu-fr.org/tutoriel/script_shell. [Consulté le: 18-déc- 2017].