Unix Linux Utilisateur Fac Simile Ce fac simile présente la table des matières, l'avant propos et une partie d'un chapitre de l'ouvrage. Auteurs Abdelmadjid Berlat Jean-François Bouchaudy Gilles Goubet GUIDE DE FORMATION
La marque TSOFT est une marque déposée. La collection des guides de formation TSOFT est éditée par la société TSOFT. Toutes les marques citées dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs. Tous les efforts ont été faits par TSOFT pour fournir dans cet ouvrage une information claire et exacte à la date de parution. TSOFT n assume de responsabilités, ni pour son utilisation, ni pour les contrefaçons de brevets ou atteintes de tierces personnes qui pourraient résulter de cette utilisation. Guide TSOFT Unix Linux Utilisateur - Version 3 Référence : TS0053 Jul 2004 Ce pictogramme mérite une explication. Son objet est d alerter le lecteur sur la menace que représente pour l avenir de l écrit, particulièrement dans le domaine de l édition technique et universitaire, le développement massif du photocopillage. Le Code de la propriété intellectuelle du 1 er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droits. Or, cette pratique s est généralisée dans les établissements DANGER LE PHOTOCOPILLAGE TUE LE LIVRE d enseignement supérieur, provoquant une baisse brutale des achats de livres et de revues, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd hui menacée. Nous rappelons donc que toute reproduction, partielle ou totale, de la présente publication est interdite sans autorisation du centre français d exploitation du droit de copie (CFC, 20 rue des Grands-Augustins, 75006 Paris.).
Avant-propos Quel sens donner au terme «utilisateur du système UNIX» et que faut-il entendre par UNIX? Que faut-il connaître d un système d exploitation pour être capable de l utiliser? De même qu un boulanger, un maçon, un comptable et un écrivain ont commencé par apprendre à lire et à compter avant d apprendre leur métier, il existe une base de connaissances minimum et commune à toutes les professions qui utilisent des systèmes UNIX, y compris les informaticiens. Acquérir ces connaissances, objectif de l ouvrage, c est, pour UNIX, lire et compter. Chaque module présente un thème, caractérisé par un ensemble de commandes et de concepts fondamentaux. Les ateliers qui sont proposés à la fin d un module permettent au lecteur de valider ses connaissances avant de passer au module suivant. A partir de quel degré de connaissance de l arithmétique peut-on dire que l on sait calculer? Est-il admissible de lire un auteur classique avant d avoir appris l imparfait du subjonctif? L ordre des modules reflète une progression logique qu il est bon, a priori, de respecter. L apprentissage anticipé de l éditeur de textes vi (module 13) est cependant possible. Le lecteur qui souhaite s exercer sur d autres commandes que celles présentées dans un module dispose, pour cela, des annexes téléchargeables depuis le site www.tsoft.fr : «Panorama des commandes» et «Résumé des commandes» pour le faire. Les «corrigés des ateliers et des quizz» se trouvent aussi dans les annexes téléchargeables depuis le site www.tsoft.fr. Pour télécharger le fichier des annexes, accédez à la page téléchargement sur le site www.tsoft.fr, et téléchargez le fichier correspondant à la référence de ce guide de formation TS0053. Les auteurs rappellent au lecteur que le manuel de référence fourni avec sa version d'unix est une source inépuisable d informations et une grande autonomie de travail. TSOFT Unix Linux Utilisateur Téléchargez le fichier des annexes sur www.tsoft.fr
L apprentissage complet du «shell» dépasse le cadre de «UNIX utilisateur». Nous renvoyons les lecteurs, alléchés par les perspectives entrevues, à l ouvrage "Unix shell" paru dans la même collection. De nombreuses personnes, y compris déjà utilisatrices d UNIX et de Linux, nous posent souvent la question «comment situez-vous Linux par rapport à UNIX et à Windows?». La réponse est simple : «Linux est un système UNIX libre qui a quelques spécificités comme peuvent en avoir tous les systèmes UNIX». Les «Linuxiennes» et les «Linuxiens» sont donc des utilisateurs d UNIX qui s ignorent. Cet ouvrage leur est tout autant destiné qu à de futurs utilisateurs de Solaris et d AIX. Nous avons utilisé un picto de pingouin, emblème officiel du système Linux, pour faire ressortir les remarques propres à ce système. A la fin de chaque module, une annexe montre comment réaliser en mode graphique, à l'aide de l'environnement KDE, certaines tâches traitées préalablement en mode commande dans la partie principale du module. Très populaire au sein de la communautué Linux, le bureau KDE peut également être utilisé avec tout autre système UNIX. UNIXIENNES, Linuxiennes, UNIXIENS et Linuxiens, à vos terminaux et bonne chance! TSOFT Unix Linux Utilisateur
Table des matières MODULE 1 : INTRODUCTION... 1-1 Historique de UNIX...1-2 Les caractéristiques d UNIX...1-5 Multi-tâches - multi-utilisateurs...1-6 Arborescence et système de fichiers...1-7 Noyau et processus...1-8 Le shell et les commandes...1-10 L environnement C/C++...1-12 L environnement TCP/IP...1-13 UNIX - un système normalisé...1-14 Les systèmes UNIX du marché...1-16 Atelier 1 : Introduction...1-17 MODULE 2 : UNE SESSION... 2-1 Comment se connecter...2-2 La connexion en mode texte...2-3 Le mode graphique avec le bureau CDE...2-4 Une session...2-6 Quelques commandes...2-7 Utilisation du clavier...2-9 La documentation...2-11 Annexe Linux...2-15 Atelier 2 : Une session...2-24 MODULE 3 : LES FICHIERS ET LES RÉPERTOIRES... 3-1 L arborescence des fichiers...3-2 Les chemins (1/2)...3-5 Les chemins (2/2)...3-6 Les attributs des fichiers...3-7 La syntaxe d une ligne de commande...3-9 Les commandes de gestion de fichiers...3-11 La commande ls...3-12 Copier, détruire, renommer un fichier...3-15 La commande cat...3-18 TSOFT Unix Linux Utilisateur T - 1
Table des matières La commande file...3-19 Les commandes de gestion de répertoires...3-20 La commande cd...3-21 Création et suppression de répertoires...3-23 Copie et suppression d arborescence...3-25 La commande find...3-28 Annexe Linux...3-30 Atelier 3 : Les fichiers et les répertoires...3-38 MODULE 4 : LE SHELL...4-1 Le shell, généralités...4-2 Les jokers...4-5 La protection des caractères spéciaux...4-7 La redirection des entrées sorties standard...4-9 Les redirections, les tubes...4-12 Annexe Linux...4-14 Atelier 4 : Le shell...4-16 MODULE 5 : LES DROITS...5-1 Les utilisateurs et les groupes...5-2 La gestion des droits...5-4 Connaître les droits (ls -l)...5-6 Modifier les droits (chmod) (1/2)...5-7 Modifier les droits (chmod) (2/2)...5-9 Droits sur les répertoires...5-10 Droits par défaut (umask)...5-12 Gestion des groupes...5-14 Des droits complémentaires...5-16 Annexe Linux...5-18 Atelier 5 : Les droits...5-20 MODULE 6 : COMPLÉMENTS SHELL...6-1 La redirection des erreurs...6-2 L historique des commandes (mode vi)...6-4 Les alias...6-5 L environnement...6-7 Le fichier ~/.profile...6-9 Les «scripts»...6-13 Annexe Linux...6-15 Atelier 6 : Compléments shell...6-16 T - 2 TSOFT Unix Linux Utilisateur
Table des matières MODULE 7 : L IMPRESSION... 7-1 L impression, le principe...7-2 L impression, les commandes...7-3 Les autres services d impression...7-6 Annexe Linux...7-8 Atelier 7 : L impression...7-11 MODULE 8 : LES FILTRES... 8-1 Panorama des filtres...8-2 Les commandes pr et lp...8-5 La commande more...8-7 La commande pg...8-8 La commande tr...8-9 La commande cut...8-11 La commande sort...8-13 La commande grep...8-17 Les expressions régulières...8-19 La commande sed...8-22 Atelier 8 : Les filtres...8-25 MODULE 9 : LA SAUVEGARDE... 9-1 La sauvegarde...9-2 La commande tar...9-3 La commande cpio...9-7 La commande pax...9-10 Annexe Linux...9-11 Atelier 9 : La sauvegarde...9-13 MODULE 10 : LES OUTILS DE COMMUNICATION... 10-1 Panorama des outils de communication...10-2 La communication en direct...10-3 Le système des news...10-6 Le courrier électronique...10-7 Annexe LINUX...10-9 Atelier 10 : Les outils de communication...10-13 TSOFT Unix Linux Utilisateur T - 3
Table des matières MODULE 11 : LES LIENS...11-1 Les liens, le concept...11-2 Les liens, les commandes...11-3 Les liens symboliques...11-5 Atelier 11 : Les liens...11-6 MODULE 12 : LA GESTION DES PROCESSUS...12-1 Notion de processus...12-2 «background»/»foreground»...12-3 Gestion des processus, les commandes...12-4 La commande kill...12-6 La commande ps...12-8 Gestion des travaux...12-10 Annexe Linux...12-12 Atelier 12 : La gestion des processus...12-15 MODULE 13 : L ÉDITEUR VI...13-1 Les modes de vi...13-2 Les commandes indispensables...13-4 Le couper/coller...13-8 D autres commandes...13-9 Le paramétrage de vi...13-11 L éditeur ed...13-12 L éditeur emacs...13-16 Atelier 13 : L éditeur vi...13-20 MODULE 14 : UNIX ET LES RÉSEAUX...14-1 UNIX et les réseaux...14-2 TCP/IP...14-4 Les commandes Internet...14-6 La connexion à distance (telnet)...14-8 Le transfert de fichiers (ftp)...14-9 Le courrier électronique (e-mail)...14-13 NFS...14-14 Samba...14-15 Les commandes remote...14-17 La commande ssh...14-19 X-Window...14-21 Annexe Linux...14-23 T - 4 TSOFT Unix Linux Utilisateur
Table des matières ANNEXES (TÉLÉCHARGEABLE SUR LE SITE WWW.TSOFT.FR)... 15-1 ANNEXE A : Panorama des commandes...15-2 ANNEXE B : Résumé des commandes...15-6 ANNEXE C : Le shell POSIX...15-19 ANNEXE D : Le shell bash...15-23 ANNEXE E : Solutions des exercices...15-35 RÉFÉRENCES INTERNET ET BIBLIOGRAPHIQUES (TÉLÉCHARGEABLE SUR LE SITE WWW.TSOFT.FR)...R-1 TSOFT Unix Linux Utilisateur T - 5
Module 2 : Une session 1969 Ken Thompson et Dennis Ritchie d ATT créent UNIX. Noyau et API en C, Système ouvert. Le shell. TCP/IP. POSIX, SVID, X/Open. Solaris, AIX, HP-UX, Linux. 1Module 1 : Introduction Objectifs Après l étude du chapitre, le lecteur connaît les caractéristiques fondamentales du système et ses principales différences avec les autres systèmes d exploitation. UNIX est un système ouvert et non propriétaire construit autour de normalisations officielles ou de fait. Chaque normalisation définit une interface. Chaque interface donne une vision du système. Les différents niveaux sont présentés au lecteur : API en langage C, TCP/IP, Shell, les commandes, ainsi que les principaux systèmes : HP-UX, Solaris, AIX. Contenu Historique d UNIX Les caractéristiques d UNIX Multi-tâches - Multi-utilisateurs Arborescence et système de fichiers Noyau et processus Le shell et les commandes L environnement C/C++ L environnement TCP/IP UNIX - un système normalisé Les UNIX du marché Atelier TSOFT Unix Utilisateur 1-1
Module 2 : Une session Historique de UNIX Historique d UNIX 1969 V1 (Ken Thompson et Denis Ritchie d ATT) 1978 V7 System V (ATT) Xenix HP-UX AIX Ultrix BSD (Berkeley) 1989 1995 SVR4 UNIX 95 (Open Group) OSF/1 1998 UNIX 98 (Open Group) 2002 ISO 9945:2002 TSOFT - UNIX Utilisateur Module 1 : Introduction - 1.2 Historique d UNIX Le tableau qui suit retrace les principaux événements de la vie du système d exploitation UNIX. Les évolutions continuent. UNIX, aujourd hui adulte, est un système qui reste jeune, tout comme le petit dernier de la famille, Linux. 1969 Naissance de la version 1 de UNIX, au sein des laboratoires Bell. Le système est développé sur un PDP 7, par Ken Thompson et Dennis Ritchie. AT&T n a pas le droit de le commercialiser. Son utilisation reste limitée à l enseignement et à la recherche. 1973 Dennis Ritchie conçoit le langage C. Ken Thompson utilise ce nouveau langage pour réécrire le système UNIX. 1977 UNIX est porté sur le système Interdata 8/32. 1978 La version 7 supporte le «swapping» et des fichiers de grande taille. Le compilateur C et le shell Bourne deviennent partie intégrante du système qui vise la portabilité maximum. ATT distribue gratuitement la version 7 qui est à l origine de presque toutes les versions ultérieures d UNIX. 1979-1988 On assiste, dans cette période, au développement concurent du système UNIX BSD («Berkeley System Development») qui intègre la mémoire virtuelle, la pagination et les protocoles TCP/IP. Le système UNIX de AT&T évolue lui aussi. Dès 1983, AT&T adopte une démarche plus commerciale et propose UNIX System III puis System V. On obtient SVID («System V Interface Definition») en 1985, le standard proposé par AT&T et qui normalise les primitives du noyau de System V release 2. La convergence entre les deux systèmes se pousuit alors que des systèmes UNIX apparaissent sur le marché, équipant les ordinateurs des sociétés IBM («AIX»), DEC («ULTRIX»), HP («HP-UX») ou 1-2 TSOFT Unix Utilisateur
Module 2 : Une session des micro-ordinateurs («XENIX»). Des associations, dont beaucoup sont nouvelles, ont vu le jour pour contrer ATT. Elles font parallèlement la promotion de normes auxquelles se rattachent les systèmes UNIX des constructeurs. Ces propositions de standards sont souvent complémentaires et ne font souvent qu ajouter des spécificités à un standard déjà existant. L association X/OPEN, nait en 1987 et propose un standard connu sous l appelation XPG («X/OPEN Portability Guide»). En 1988, l OSF («Open Software Foundation») est créée, qui développera plus tard un système UNIX, baptisé OSF/1. l IEEE développe un standard connu sous le nom de POSIX, et qui est ensuite repris par l ISO. POSIX devient le synonyme de système ouvert, les principaux systèmes d exploitation propriétaires s y conforment : MPE d HP, VMS de DEC, MVS d IBM. Quand le système NT de Microsoft est créé, il est POSIX d origine. 1989 AT&T propose UNIX System V release 4 («SVR4»). Cette version est adoptée par de nombreux constructeurs (Sun, NCR, SGI, Siemens,...), car elle intègre les spécificités des systèmes BSD. Ce sera l ultime version créée par AT&T. 1995 L Open Group, émanation de l OSF et de X/Open, définit UNIX 95, qui intègre les principaux standards existants. 1998 L Open Group définit UNIX 98, en fait l appellation usuelle de «Single UNIX specification, version 2» ou encore «Spécification UNIX unifiée, version 2». 2002 L ISO produit la norme ISO 9945:2002 qui résulte de l approbation de la révision conjointe de POSIX et de la spécification UNIX unifiée version 3 de l Open Group. Historique de Linux Linux est un système d exploitation UNIX, gratuit et distribué sous licence GPL. C est un étudiant à l université d Helsinki, Linus Torvald, qui annonça en août 1991 dans le «newsgroup» USENET «comp.os.minix» son projet de développer un système d exploitation utilisant au mieux les fonctionnalités multi-tâches du processeur 386 d INTEL, un passe-temps sans but commercial. Linus Torvald voulait offrir un système performant aux utilisateurs d un petit système UNIX de l époque, Minix, écrit par Andy Tanenbaum. Linus Torvald le décrivait ainsi : «better Minix than Minix». La première version, la version 0.01 d août 1991, était rudimentaire. Elle ne comportait que quelques sources et devait être compilée sous Minix. Depuis, des centaines de développeurs, via Internet, ont aidé Linus Torvald. Un nouveau mode de développement est né! Aucune organisation ne contrôle le développement. Une personne est responsable d un projet et plusieurs autres participent à l écriture du code. C est Linus Torvald qui est responsable du noyau Linux et c est lui qui décide de la distribution des sources. Concrètement, chaque composant du noyau (pilote, système de fichiers, gestion de mémoire, ) est sous la responsabilité d une personne, qui centralise à son tour les développements de centaines de programmeurs et les transmet à Linus Torvald, afin qu il les intègre au noyau Linux. TSOFT Unix Utilisateur 1-3
Module 2 : Une session Ce mode de travail est celui utilisé pour le développement de tous les utilitaires de Linux. Linux est la propriété de Linus Torvald et des personnes qui ont contribué à son développement (torvald@transmeta.com) mais le code source aussi bien que le code binaire sont librement et gratuitement distribués selon les termes du GPL (GNU Public Licence) qui stipulent que tout acquéreur peut librement utiliser et même commercialiser le produit. Cependant, toutes les modifications du produit doivent à leur tour être librement et gratuitement disponibles pour la communauté internationale, ce qui garantit la perpétuité du logiciel libre de droits. La convention de numérotation des versions de Linux est la suivante : x.y.z. Dans cette convention, y est une valeur paire pour désigner une version stable, alors qu une valeur impaire désigne une version en Bêta-test. Quant à z, il est incrémenté à chaque correction d un «bug». En mars 2003, la version stable est la version 2.4.20. La version Bêta-test est donc la 2.5, et donnera naissance à la prochaine version stable qui sera la version 2.6. 1-4 TSOFT Unix Utilisateur
Module 2 : Une session Les caractéristiques d UNIX Les caractéristiques d'unix Multi-tâches et multi-utilisateurs. Arborescence et FS. Processus et noyau. Shell et commandes. Environnement C, C++. Environnement TCP/IP. Système ouvert. TSOFT - UNIX Utilisateur Module 1 : Introduction - 1.3 Introduction Dans les années 1980, quand les fabricants de stations de travail et de serveurs (SUN, APOLLO,...), nouveaux acteurs du monde de l informatique, ont eu à choisir un système d exploitation pour les matériels qu ils avaient conçus, leur choix s est rapidement fixé sur UNIX. Ils n avaient pas d ailleurs d autres possibilités; la micro informatique en était à ses balbutiements et les systèmes d exploitation des micro ordinateurs trop élémentaires; les systèmes d exploitation des mini ou des gros ordinateurs («main frame») étaient spécialisés pour les matériels qu ils équipaient et, à supposer que les propriétaires (IBM, DEC,...) aient accepté de vendre la licence, faire ce choix eut été suicidaire pour ces sociétés naissantes. Le choix du système UNIX a été techniquement possible pour plusieurs raisons: Il n est pas la propriété d une société d informatique et il est portable. Il permet la connexion simultanée de plusieurs utilisateurs (multi-utilisateurs) et de décomposer une application en plusieurs tâches qui s exécutent simultanément (multi-tâches). Le noyau est le coeur du système. Il est simple et fournit cependant tous les outils nécessaires à la construction d applications complexes. Le langage de commandes («shell») est totalement indépendant du noyau et des commandes dont il permet l exécution. L environnement de travail d un utilisateur peut être complètement redéfini. L environnement standard de programmation du système UNIX est constitué des langages C et plus récemment C++. L environnement réseau du système UNIX est construit depuis longtemps sur les protocoles du monde TCP/IP, devenus les standards de fait du monde informatique. UNIX est encore aujourd hui le plus représentatif des systèmes ouverts. TSOFT Unix Utilisateur 1-5
Module 2 : Une session Multi-tâches - multi-utilisateurs Multi-tâche - Multi-utilisateur Système UNIX Processus TSOFT - UNIX Utilisateur Module 1 : Introduction - 1.4 Introduction UNIX autorise la connexion simultanée de plusieurs utilisateurs qui peuvent ensuite exécuter des commandes. Une commande est un programme fourni en standard avec UNIX pour permettre l utilisation ou l administration du système ou un programme spécifique (calcul scientifique, gestion, CAO, DAO,...). Un utilisateur se connecte à partir d un terminal passif relié à l ordinateur par une liaison physique, souvent de type série, propre à ce terminal ou à partir d un poste de travail, souvent un micro ordinateur, connecté à la machine UNIX par l intermédiaire d un réseau. L exécution d une commande donne naissance à une tâche, on dit aussi un processus. Une tâche est une entité dont le noyau contrôle la vie, de la naissance à la mort et qui exécute les instructions définies dans la commande. Comme un utilisateur a le droit de demander l exécution simultanée de plusieurs commandes ou qu une tâche peut créer d autres tâches, le système UNIX est multitâches. La mise en oeuvre de plusieurs tâches simultanées est souvent cachée aux utilisateurs. Elle est pourtant utilisée dans de nombreux logiciels qui utilisent ce concept pour optimiser des calculs, traiter plusieurs requêtes en même temps ou afficher simultanément des résultats dans plusieurs fenêtres graphiques. Découvrez la suite de ce chapitre en commandant l'ouvrage Tsoft complet. Unix Linux Utilisateur Réf : TS0053 Liste des distributeurs sur le site Internet : Tsoft.fr 1-6 TSOFT Unix Utilisateur
Atelier 1 : Introduction Atelier 1 : Introduction Objectifs : Mémoriser les principales caractéristiques du système UNIX. Connaître les acteurs du monde UNIX. Durée : 10 minutes. TSOFT - UNIX Utilisateur Module 1 : Introduction - 1.12 Exercice n 1 Quelles sont les trois principales caractéristiques du système UNIX? Exercice n 2 Qu est-ce qu un système ouvert? Exercice n 3 Citez les fonctions essentielles d un noyau UNIX. Exercice n 4 Quel est le rôle du shell? Exercice n 5 Citez les noms des principaux systèmes UNIX du marché.