Introduction au système d`exploitation UNIX

publicité
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
Lab1 : Introduction
Objectifs :
• Se familiariser avec l’OS Linux (Unix)
• Connexion utilisateur au serveur Unix (par SHH)
• Gestion de fichiers et les commandes du Shell
•
•
•
•
Visualisation des fichiers et répertoires
Manipulation des répertoires et des fichiers
Permissions et droits d’accès aux fichiers
Script shell
Exercice 1 : Prise de contact
1. Utiliser la commande uname pour afficher les informations concernant votre
système.
2. Quel jour sommes nous (date).
3. Quel jour de la semaine êtes vous né? (cal)
4. Vérifiez si votre collègue est connecté au système. Essayer encore la commande
finger.
5. Afficher le contenu de la variable système PATH.
6. Mettre le contenu de PATH dans un fichier qui s’appelle file_PATH.
Partie II : Manipulation des répertoires et fichiers
Exercice1
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).
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
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. À 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.
Exercice2
Préparation
• Copier le fichier accueil précédemment créé en test1, test2, test3, test4.
•
Créer les fichiers fic1.txt et fic2.txt
Énoncé
1. Afficher les fichiers dont les noms finissent par un chiffre.
2. Supprimer les fichiers test1, test2, test3, et test4 en une seule commande.
3. Grouper tous les fichiers texte (d’extension .txt) dans le répertoire textes.
4. Affichez les 15 premières lignes du fichier /etc/hosts, les 15 dernières
lignes, toutes les lignes à partir de la quinzième, les lignes 15 à 20.
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
Exercice 3 : scripts shell
Écrire un script Shell qui prend en paramètre deux fichiers f1 et f2 et échange
leurs
Contenus.
NB. Deux annexes (A & B) sont à votre disposition afin
résoudre les exercices ci-dessus.
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
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
Commande utiles pour la connexion :
who
Afficher la liste des utilisateurs connectés
who am I (whoami)
Afficher l’utilisateur de la session courante
date
Afficher la date
passwd
Créer ou changer de mot de passe
exit
Termine la connexion
finger
Liste plus détaillées des utilisateurs connectés
Commandes utiles pour les répertoires :
pwd
Afficher le nom du répertoire courant
mkdir
Créer un nouveau répertoire
cd
Changer de répertoire de travail
ln
Ajouter un lien symbolique à un répertoire existant sous un autre nom
rmdir
Supprimer un répertoire
Commandes utiles pour les fichiers :
cat
Fusionner une liste de fichiers et afficher le résultat
head
Afficher les premières lignes d’un fichier
tail
Afficher les dernières lignes d’un fichier
grep
Afficher les lignes des fichiers référencés qui contiennent une chaîne de
caractères donnée
wc
Compter le nombre de mots, de lignes ou caractères d’un fichier
find
Rechercher un fichier
ls
Afficher le contenu d’un répertoire
cp
Copier un fichier dans un autre
ln
Ajouter un lien symbolique à un fichier existant sous un autre nom
mv
Déplacer ou renommer un fichier
rm
Supprimer un fichier
chmod
Changer les codes de protections d’un fichier
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
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
Les répertoires :
Le système de fichiers contient trois types de fichiers, les fichiers ordinaires, les répertoires et les
fichiers spéciaux (périphériques, tubes, …). Les répertoires permettent de gérer la disposition des
fichiers. Ils peuvent être imbriqués et tous sont placés sous la racine du système de fichiers.
Pour se déplacer dans les répertoires on utilise la commande «cd» en passant comme
paramètre la destination désirée.
/
./
../
=> racine du système de fichier. Ex : /jupiter/etc/LoginCommun
=> répertoire courant
=> répertoire parent. Ex cd../ De votre répertoire par défaut vous place dans le répertoire
/jupiter/home
Pour voir le contenu d’un répertoire on utilise la commande «ls» qui peut afficher le contenu de
bien des façons. Il y a des caractères spéciaux permettant de sélectionner un groupe de fichier.
Par exemple pour afficher tous les fichiers commençant par un T, je lance la commande ls T*.
Caractères spéciaux :
*
=> une suite de 0 à n de n’importe quel caractères
?
=> remplace un seul caractère.
[]
=> choisit un intervalle de caractères qui remplace un caractère. Ex : Pour
indiquer que l’on veut voir tous les fichiers commençant par une
lettre Majuscule : ls [A-Z]*
Les fichiers :
Un premier bloc de commande permet la création, la copie, la destruction et de renommer des
fichiers. Un autre permet de manipuler le contenu des fichiers. Finalement on s’intéresse aux
droits d’accès des fichiers.
Pour voir les droits d’accès d’un fichier on utilise la commande ls –la . Les droits sont indiqués
par un groupe de 10 caractères :
-d
Répertoire
rwx
Utilisateur (u)
rwx
groupe (g)
rwx
autre (o)
Dans ce groupe de caractère, un tiret indique que le fichier n’a pas ce droit.
Il y a 3 droits :
- r pour la lecture
- w pour l’écriture ou la modification
- x pour l’exécution
Il y a aussi 3 groupes :
u : représente les droits de l’utilisateur (owner). Même s’il retire ces droits, il peut toujours
les remettre.
g : Tous les utilisateurs de votre groupe. Par défaut vous faites partie d’aucun groupe.
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
o : Tous les utilisateurs qui existe sur le serveur.
Modification des droits d’accès :
La commande chmod permet de modifier les droits d’accès. Il y a deux méthodes, la
première utilise une lettre pour indiquer à qui on fait le changement, un symbole +,- pour
indiquer si on ajoute ou on retire un droit et finalement une lettre (ou plus) pour choisir
quel droit modifié.
Ex : chmod o-r nomfichier => retire le droit de lecture au bloc autre pour le fichier.
La deuxième méthode utilise un nombre en octal, ce nombre donne les droits pour chaque
bloc d’un coup.
Ex : chmod 777 nomfichier => donne tous les droits à tous sur le fichier
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
Annexe B : Introduction au système d’exploitation UNIX
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
Unix est un système interactif et est multi-utilisateurs, multiprogrammé en temps partagé.
Plusieurs utilisateurs peuvent disposer en même temps de la puissance de calcul du
système. Le système Unix se charge de contrôler et de gérer l’usage des ressources en les
attribuant à tour de rôle aux différents utilisateurs.
Il permet aussi la création, la communication et la synchronisation des processus.
Unix 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.
Les commandes les plus communes
Who
Who am i
date
ps
kill
passwd
pwd
mkdir
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
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
cd
cat
head
tail
grep
wc
sleep
find
ls
cp
ln
mv
rm
rmdir
chmod
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 fichier existant un autre nom
Déplacer ou renommer un fichier
Supprimer un fichier
Supprimer un repertoire
Changer les codes de protections d’un fichier
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
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érée à la fin.
Systèmes d’exploitation INF 3723—Automne 2008
Université du Québec en Outaouais
– Département d'informatique et d’ingénierie –
C.P. 1250 - Hull - Québec
J8X 3X7
Téléphone: (819) 595-3900
Télécopieur: (819) 773-1638
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 arrière-plan.
Commande&
Téléchargement