Université Grenoble Alpes 1 Le système Unix Aspects utilisateur Jean-Michel Ada

Université Grenoble Alpes 1 Le système Unix Aspects utilisateur Jean-Michel Adam Damien Genthial UFR SHS IUT de Valence Le système Unix Aspects utilisateur 2 Introduction (1) Un peu d'histoire Conçu pour des mini-ordinateurs au début des années 70 chez Bell Conçu par des informaticiens, pour des informaticiens Conçu pour être évolutif et ouvert Grande diffusion : moyens et gros systèmes mais aussi petits systèmes : Linux, MacOS, Android) Les différentes versions Versions constructeurs (IBM-AIX, HPUX, Ultrix, …) BSD et dérivées (SunOS) Linux Norme POSIX pour l'interface de programmation Le système Unix Aspects utilisateur 3 Introduction (2) Objectif du cours Pratique d'Unix du point de vue utilisateur Pratique de la programmation du langage de commande (shell) Bibliographie UNIX et Linux - Utilisation et administration Jean-Michel Léry - Pearson Education – 3ème édition 2011 Unix - Les bases indispensables Michel Dutreix – ENI – 3ème édition 2015 Unix: Programmation et communication Rifflet J.M. et J.B. Yunès, Dunod 2003 Le système Unix Aspects utilisateur 4 Architecture générale d'Unix Multi-tâches (multi- processus) et multi- utilisateurs Très grande facilité d'intégration en réseau Interface texte ou graphique Système de gestion de fichiers (SGF) Outils de développement Gestion du système : resources, utilisateurs Communi- cations Noyau (kernel) Interpréteur du l a n g a g e de commandes S H E L L Le système Unix Aspects utilisateur 5 Plan du cours Le SGF : système de gestion de fichiers Structure arborescente Utilisateur et protections Commandes de base Les processus Principe, initialisation du système Le langage de commande Généralités Environnement et variables Composition des commandes Écriture de scripts : paramètres, structures de contrôle Fonctions et procédures Le système Unix Aspects utilisateur 6 SGF : Structure arborescente unique bin etc lib include usr bin lib man X11 / local users isi gtr casir 1a 2a lucien ls cp rm passwd groups libc.a libm.a stdio.h stdlib.h mail find man1 man3 ls.1 cp.1 strings.3 fopen.3 InfoIndus TP-C .profile Tp1.c Makefile Float.s Float.x public Fichiers (files) Dossiers ou répertoires (directory) Le système Unix Aspects utilisateur 7 SGF : Structure unique Vue logique indépendante de la réalité physique / bin etc lib include users profs 1a 2a usr bin lib local man lucien public Le système Unix Aspects utilisateur 8 Nom = chemin d'accès (PATH) / bin lib include users profs 1a 2a lucien TP-C Info-Indus ls cp rm libc.a libm.a stdio.h stdlib.h tp1.c a.out tp2.c tp3.c float.s float.x float.l public entete coureurs.dat .profile /bin/ls /users/1a /users/2a/public/entete /users/2a/lucien/.profile Le système Unix Aspects utilisateur 9 L'utilisateur dans l'arborescence Connexion Nom d'utilisateur (identifiant ou login) + mot de passe Bases de données des utilisateurs : /etc/passwd et /etc/groups mdupont:x:1001:22:Marie Dupont Mass3:/users/mass3/mdupont:/bin/ksh pdurand:x:2010:21:Pierre Durand:/users/staff/pdurand:/bin/ksh HOME SWEET HOME Répertoire de travail (working directory) Répertoire de travail par défaut (home directory) Noms absolus /bin/ls /users/mass3/mdupont/.profile Le système Unix Aspects utilisateur 10 Noms relatifs Noms relatifs : ne commencent pas par / Relatifs au répertoire courant (répertoire de travail) /users/isi/2a . .. tp1.c a.out . .. float.s . .. entete coureurs.dat .profile . . . . float.s <=> ./float.s ../TP-C/tp1.c <=> /users/isi/2a/lucien/TP-C/tp1.c ../../public/entete <=> /users/isi/2a/public/entete Répertoire courant Répertoire père Le système Unix Aspects utilisateur 11 SGF : caractères spéciaux Commencent par un point Répertoire courant ( . ), répertoire père ( .. ) Fichiers de paramètres ou de configuration (répertoires) .profile .bashrc .netscape .kde Ne sont pas affichés par défaut Utiliser ls -a Jokers (wildcard characters) * Remplace n'importe quelle suite de caractères ? Remplace exactement 1 caractère [c1...cn] Remplace exactement 1 des caractères c1...cn [!c1...cn] Remplace exactement 1 caractère sauf c1...cn Le système Unix Aspects utilisateur 12 SGF : commandes usuelles (1) Aide en ligne man <commande> Ex : man ls affiche le manuel de ls. man man affiche le manuel de la commande man. Fichiers cat <fic> affiche le contenu du fichier <fic> more <fic> ... RC affiche la ligne suivante, SPACE affiche la page suivante, b affiche la page précédente, /<chaîne> recherche de <chaîne> h permet d'obtenir de l'aide, q ou Ctrl-C permet d'abandonner l'affichage. Le système Unix Aspects utilisateur 13 SGF : commandes usuelles (2) Fichiers (suite) lp <fic> ... (line printer) cp <fic1> <fic2> (copy) cp <fic> ... <rép> mv <fic1> <fic2> (move) mv <fic> ... <rép> rm <fic> ... (remove) ATTENTION, pas de récupération possible. Répertoires ls [ options ] <rép> ... (list)  Options intéressantes : -l format long -a tous les fichiers, y compris les cachés (all) -R liste récursivement les sous-répertoires. Démo Le système Unix Aspects utilisateur 14 SGF : commandes usuelles (3) Répertoires (suite) pwd (print working directory) cd rép (change directory) mkdir rép ... (make directory) rmdir rép ... (remove directory) rm -r rép ... ATTENTION, destruction récursive. Divers clear, who, date, passwd (ou yppasswd) mail -s <sujet du message> Destinataire@iut-valence.fr <Texte du message (éventuellement sur plusieurs lignes) . (seul sur la ligne, ou Ctrl-D) Le système Unix Aspects utilisateur 15 SGF : droits d'accès (1) Trois niveaux de protection : UGO ls -l => -rw-r--r-- 1 lucien dciss 2566 oct 13 16:52 tp1.c -rw-r--r-- 1 lucien dciss 223 oct 13 16:52 tp1.o -rwxr-xr-x 1 lucien dciss 130 oct 13 16:49 tp1 -rwxr-xr-x Droits de l'utilisateur (user) Droits du groupe (group) Droits du reste du monde (others) Type du fichier : - normal l lien d répertoire c pilote car b pilote bloc p tube nommé Le système Unix Aspects utilisateur 16 SGF : droits d'accès (2) Trois modes d'accès : RWX R : lecture (read), voir le contenu W : écrire (write), modifier le contenu X : exécuter (pour un fichier) ou traverser (pour un répertoire) Modification des droits chown <propriétaire> <fic> ... (change owner) chgrp <groupe> <fic> … (change group) chmod <mode> <fic> ... (change mode) <mode> = 3 chiffres octaux (changement absolu) chmod 755 monRep <mode> = [ugo][+-][rwx] (changement relatif) chmod go-w monRep Démo Le système Unix Aspects utilisateur 17 Plan du cours Le SGF : système de gestion de fichiers Structure arborescente Utilisateur et protections Commandes de base Les processus Principe, initialisation du système Le langage de commande Généralités Environnement et variables Composition des commandes Écriture de scripts : paramètres, structures de contrôle Fonctions et procédures Le système Unix Aspects utilisateur 18 Processus : principe Unix est multitâches et multi-utilisateurs Tâche Unix = processus Processus = programme en cours d'exécution Aspects dynamiques : évolution temporelle, état Plusieurs processus peuvent exécuter le même programme (typiquement un éditeur de textes) Une application peut être composée de plusieurs processus Exécution simultanée de plusieurs processus Pb : avec un seul processeur ? Utilisation du temps partagé Le système Unix Aspects utilisateur 19 A B C Processeur t A B C Processeur q q q t Processus : temps partagé Machine multiprocesseurs Monoprocesseur, monotâche Monoprocesseur, multitâches Processeur. 1 A B C Processeur. 2 Processeur. 3 t Le système Unix Aspects utilisateur 20 Processus : cas d'Unix Tout processus est créé par un autre processus Démarrage (bootstrap) Création des processus de base swap PID 0 init PID 1 Démons système sh xdm getty Xlogin login bash init /etc/passwd /etc/inittab .xinitrc /etc/rc Processus utilisateurs Processus utilisateurs sh .profile Le système Unix Aspects utilisateur 21 Processus : création Shell : père des processus utilisateur Environnement d'exécution Commande = processus fils du shell sh env stdin stdout stderr ls env sh env stdin stdout stderr Le système Unix Aspects utilisateur 22 Processus : manipulation Création : toute commande Liste des processus en cours ps (process status) ps -U <utilisateur> Autres options : voir manuel Lancement en arrière-plan nedit tp1.c & Arrêt d'un processus kill -KILL <N1> <N2> … Plus généralement, kill permet d'envoyer un signal à un processus kill -SIG <N1> <N2> … kill -INT 3425 (équivalent de Ctrl-C) Placé derrière une commande, le caractère & indique au shell de lancer le processus mais de ne pas attendre la fin => le shell rend la main immédiatement à l'utilisateur. Démo Le système Unix Aspects utilisateur 23 Plan du cours Le SGF : système de gestion de fichiers Structure arborescente Utilisateur et protections Commandes de base Les processus Principe, intialisation du système Le langage de commande Généralités Environnement et variables Composition des commandes Écriture de scripts : paramètres, structures de contrôle Fonctions et procédures Le système Unix Aspects utilisateur 24 Le shell bash (Bourne again shell) Compatible avec le standard sh Peut exécuter des scripts sh, mais l'inverse n'est pas vrai C'est le shell de la Free Software Foundation, utilisé sur Linux Extensions utiles Édition des commandes précédentes Définition de synonymes (alias) Syntaxe commode pour désigner le répertoire de travail par défaut (~ et ~utilisateur) Le système Unix Aspects utilisateur 25 Bash : environnement Environnement : ensemble de variables $ env  Variables publiques _=/usr/bin/env PATH=/usr/bin:/usr/local/bin:/users/profs/pdupont/bin:. EDITOR=/bin/vi LOGNAME=pdupont MAIL=/var/mail/pdupont SHELL=/bin/bash HOME=/users/profs/pdupont TERM=vt100 PWD=/users/profs/pdupont $ set  Variables publiques et privées Le système Unix Aspects utilisateur 26 Bash : variables (1) Utilisation $nom ou ${nom} $((nom*5)) ou $nom*5 Définition NOM=valeur Let "nom=$nom+2" Exemple PS1="Ok." EDITOR=/bin/emacs Effacement (rarement utilisé) unset nom Le système Unix Aspects utilisateur 27 Bash : variables (2) Environnement initial Valeurs liées à l'utilisateur : HOME, MAIL, SHELL, … Valeurs par défaut uploads/Industriel/ e-unix.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager