Cours Sigle du Cours Session - Groupe Professeur Systèmes d’exploitation INF3723 Automne 2006 01 Assistant Laboratoire I : Introduction au système d’exploitation UNIX (partie 1) Objectifs Général Le but de laboratoire est de se familiariser avec les commandes et le fonctionnement du système d’exploitation UNIX. Spécifiques Commandes d’information sur les usagers Variable d’environnement path Commandes relatives aux fichiers et aux répertoires Introduction Le système Unix a été créé en 1969 par les laboratoires AT&T de Bell. Il a connu un véritable succès quand il fut écrit en C en 1973 par Thomson et Ritchie. Caractéristiques du système Unix C’est un système interactif et est multiutilisateurs, multiprogrammé en temps partagé. Plusieurs utilisateurs peuvent disposer en même temps de la puissance de calcul du système. Il se charge de contrôler et de gérer l’usage des ressources en les attribuant à tour de rôle aux différents utilisateurs. Permet aussi la création, la communication et la synchronisation des processus. Il est portable et disponible sur différentes plateformes. Structure interne du système Unix Un système Unix peut être vu comme une pyramide. En partant du bas vers le haut les couches suivantes sont rencontrées : Le matériel (UCT, mémoire, disques, terminaux et périphériques) Le système d’exploitation UNIX (gestion des processus, de la mémoire, système de fichiers, E/S …) La bibliothèque des appels systèmes pour créer et gérer des processus et des fichiers (open, close,read, write, fork, …). Les programmes utilitaires standards (shell, éditeurs, compilateur, interpréteur…) Les programmes utilisateurs. UQO - Département d’Informatique et d’Ingénierie INF 3723 : Systèmes d’exploitation Manipulations Partie I : Prise de contact Utiliser la commande uname pour afficher les informations concernant votre système. Quel jour sommes nous (date). Quel jour de la semaine êtes vous né? (cal) Vérifier si votre collègue est connecté au système. Essayer encore la commande finger. Afficher le contenu de la variable système PATH. Mettre le contenu de PATH dans un fichier qui s’appelle file_PATH Partie II : Manipulation des répertoires et fichiers Dans cette partie vous allez : 1. Créer deux sous répertoires, l’un ayant comme nom votre prénom, et l’autre comme nom votre nom de famille. 2. Afficher le contenu de votre répertoire d’accueil de trois manières différentes : Par ordre alphabétique Par date de création des fichiers Une autre option de votre choix (expliquer). 3. En partant de votre répertoire d’accueil, changer de répertoire pour vous positionner dans le répertoire (prénom), et créer trois fichiers comme indiqué ci-dessous : ls -la > fichier1 cat fichier1 > fichier2 cat > fichier3 (tapez à ce moment du texte ensuite vous terminez par ctrl-d). 4. Copier deux de ces fichiers dans le répertoire (nom de famille) à partir du répertoire courant (prénom). 5. Effacer une des copies (se trouvant dans le répertoire nom de famille), toujours à partir du répertoire courant (prénom). 6. Changer les noms des trois fichiers se trouvant dans le répertoire courant. 7. Déplacer un de ces fichiers vers le répertoire nom de famille. 8. A partir du répertoire courant (prénom), copiez vers ce répertoire un des fichiers se trouvant dans le répertoire nom de famille. 9. En une seule ligne de commande, changer de répertoire pour celui du nom de famille et afficher son contenu. 10. Exécutez la commande cd sans arguments et expliquez ce qui se passe. 11. Positionnez-vous sur votre répertoire d’accueil et afficher à l’écran TOUS les fichiers incluant les sous répertoires et leurs fichiers. Rapport Il n’y a pas de rapport à remettre. Par contre la présence et la participation comptent pour 10% de la note du cours. Laboratoire # 1 Systèmes d’exploitation – INF3723 Page - 2 / 4 Annexe A : Le système d’exploitation UNIX Début de session avec Unix Lorsqu’un utilisateur veut se connecter le système l’invite à introduire son nom d’utilisateur et son mot de passe. Si ces données sont correctes, le système ouvre une session de travail et lance l’interpréteur de commande (processus shell) qui affiche à l’écran, aussitôt après son initialisation, une invitation ($ ou %) et attend que l’utilisateur tape une ligne de commandes : jupiter%. Lorsque l’utilisateur introduit une commande, le shell vérifie si elle est correcte, puis crée, si c’est le cas, un processus qui a pour tâche d’exécuter la commande. Le shell attend la terminaison du processus créé avant d’inviter l’utilisateur à entrer une nouvelle commande. Les commandes les plus communes Who Who am i date ps kill passwd pwd mkdir cd cat head tail grep Afficher la liste des utilisateurs connectés Afficher l’utilisateur de la session courante Afficher la date Afficher la liste des processus de l’utilisateur Stopper un processus Créer ou changer de mot de passe Afficher le nom du répertoire courant Créer un nouveau répertoire Changer de répertoire de travail Fusionner une liste de fichiers et afficher le résultat Afficher les premières lignes d’un fichier Afficher les dernières lignes d’un fichier Afficher les lignes des fichiers référencés qui contiennent une chaîne de caractères donnée Compter le nombre de mots, de lignes ou caractères d’un fichier Faire dormir un processus pendant un certain temps Rechercher un fichier Afficher le contenu d’un répertoire Copier un fichier dans un autre Ajouter un lien symbolique à un fichier existant sous un autre nom Déplacer ou renommer un fichier Supprimer un fichier Supprimer un répertoire Changer les codes de protections d’un fichier wc sleep find ls cp ln mv rm rmdir chmod Attention! Le shell n’est pas indifférent à la casse. Pour ajouter des options supplémentaires aux commandes précédentes on utilise le (-). Ex : ls –l fichier.extension Redirections des entrées/sorties Les entrées et sorties standards des processus sont au nombre de 3 : L’entrée standard (le clavier) La sortie standard (l’écran) La sortie erreur standard (l’écran). Redirection de l’entrée standard Commande < nomFich Ex : sort < source : Trie le fichier source puis l’affiche à l’écran Laboratoire # 1 Systèmes d’exploitation – INF3723 Page - 3 / 4 Redirection de la sortie standard Commande > nomFich Commande >> nomFich Ex : who > destin : la liste des utilisateurs connectés au système est récupérée dans le fichier destin. Si le fichier existe déjà il y a erreur : who >> destin. Si le fichier existe déjà, la liste est insérere à la fin. Enchaînement des commandes 1. Enchaînement séquentiel des commandes commande1; commande2;….; commanden Ex : pwd; ls; mkdir labo; ls; cd labo; pwd; cd..; pwd 2. Enchaînement parallèle des commandes commande1| commande2|….| commanden Ex : cat src1 src2 | sort > dest Tâches de fond Le shell permet d’exécuter des commandes en arriere-plan commande& Laboratoire # 1 Systèmes d’exploitation – INF3723 Page - 4 / 4