1 / 20

Historique

Historique. 1970. Développement dans un laboratoire de recherche Bell (Kernighan, Ritchie, Thompson) parallèlement au langage C Diffusion gratuite aux universités avec les sources, intégration de UUCP Maturité d’Unix (AT & T System V, BSD, Xenix, SunOS, SGI, Cray, HP ..)

Download Presentation

Historique

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Historique 1970 • Développement dans un laboratoire de recherche Bell (Kernighan, Ritchie, Thompson) parallèlement au langage C • Diffusion gratuite aux universités avec les sources, intégration de UUCP • Maturité d’Unix (AT & T System V, BSD, Xenix, SunOS, SGI, Cray, HP ..) • Début de la normalisation : IEE, POSIX, OSF … intégration de TCP/IP et de X windows du MIT • Linux 1976 1980 1990 TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  2. Caractéristiquesgénérales • Multi tâches (temps partagé) • Multi utilisateurs • Organisation arborescente des fichiers • Création dynamique de processus (fork) • Communication entre processus (pipe) • Langage de commandes (shell) • Accès généralisé aux périphériques TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  3. Description du système Unix Shell Outils Matériel Interface Graphique Noyau SGBD … TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  4. Le Shell Les différentes familles de Shell : Bourne Shell (sh), C Shell (csh), Korn Shell (ksh) … Les caractéristiques communes : • Définition de variables • Redirection des entrées et des sorties • Communication par des « pipe» • Lancement de programmes en arrière plan • Programmation (shell scripts) TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  5. Connexion au système Connexion à la machine : login : nicolas password : ????? Déconnexion exit Changement de mot de passe passwd Eviter les mots simples et les prénoms. Faire un mélange Majuscules, minuscules, chiffres & caractères spéciaux (e.g. LaKc2cD!) Les utilisateurs sont rassemblés en groupes TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  6. Syntaxe générale Commande d’aide man Commande option paramètres ls -l/etc Enchaînement des commandes ; Traitement en arrière plan & Redirections < > Connexion de deux processus | TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  7. Commandes de repertoires Notion de chemin relatif et absolu Positionnement et déplacement dans l’arborescence pwd(print working directory)cd(change directory) Création et destruction de répertoires mkdir (make directory) rmdir (remove directory) Contenu d’un répertoire ls (liste) / dev var etc home moi doc TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  8. Commandes de fichiers Contenu d’un fichiercat, more Renommer un fichier mv Copie d’un fichiercp Détruire un fichier rm Lien sur un fichierln Compression & décompression d’un fichier compress uncompress gzip gunzip bzip2 bunzip2 Type d’un fichierfileFin du contenu d’un fichiertail TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  9. Droits sur les fichiers & répertoires Les droits sont de trois types : lecture ( r ) écriture ( w ) exécution ( x ) Ils sont appliqués à trois catégories d’utilisateurs Propriétaire du fichierGroupeles Autres rwxrwxrwx Modification des droits d’un fichier/répertoire chmod Modification du propriétaire d’un fichier /répertoirechown Modification du groupe d’un fichier /répertoirechgrp TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  10. Autres commandes Heure et datedate Calendriercal Qui est connectéwho Traitement du contenu d’un fichier Tri d’un fichiersort Recherche dans un fichiergrep Comptage du contenu d’un fichierwc Recherche d’un fichierfind TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  11. Editeur de textes vi Très puissant et toujours disponible quelque soit le terminal, mais totalement déroutant vi fonctionne en deux modes ESC commandes édition Quelques commandes de base (attention aux majuscules/minuscules) Annulation uInsertion i Remplacement d’ un caractère r Effacement d’ un caractère x Effacement d’ une ligne dd Enregistrer :w Quitter :q Quitter & enregistrer :wq Déplacement Gauche h Droite l Haut k Bas j TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  12. Les scripts shell Un shell script est un fichier qui contient une suite de commandes shell reliées par des instructions de structuration C’est l’outil fondamental de Unix qui permet de lier l’exécution de « briques » de programmes • Un shell script doit être un fichier exécutable (chmod +x) • La première ligne contient #[chemin vers le shell] (e.g. #!/bin/sh) • Le # en début de ligne indique un commentaire • On peut lui passer des paramètres TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  13. Les variables du shell Un nom de variable est une chaîne de caractères sans espaces en général en Majuscules: COUCOU TRUC ESSAI Affectation du contenu en sh COUCOU=Bonjour (Attention pas d’espace) Accès au contenu d’une variable $[nomde la variable] : echo $COUCOU Rôle particulier des quotes pour le shell ‘ ‘ Pas d’évaluationdu contenu entre les quotesTRUC=‘$COUCOU’ « «  Evaluation du contenu entre les quotesTRUC=« $COUCOU » ` ` Double évaluation du contenu entre les quotes $COUCOU=date;TRUC=`$DATE` Quelques variables standard Unix PATHchemins d’accès aux programmes HOMErépertoire de connexion USERnom d’utilisateur MANPATHchemins d’accès aux manuels TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  14. Les scripts shell Variables spécifiques des shell scripts Paramètres $# nombre de paramètres $* liste des paramètres $0 nom du script $1 $2 … $9 contenu des paramètres Autres $$ numéro du processus $? Valeur de retour du dernier processus #!/bin/sh echo « Je suis le programme $0 » echo « avec $# paramètres » TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  15. Les scripts shell : structuration Test et branchement ifcondition then commande else commande fi On teste la valeur de retour d’une commande Unix, il en existe une particulière qui s’appelle « test » (vérification d’existence de fichier, comparaison …). Elle peut également s’écrire [ ] #!/bin/sh if test -f monfichier.txt then echo « le fichier existe » fi #!/bin/sh if [ -f monfichier.txt ] then echo « le fichier existe » fi TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  16. Les scripts shell : structuration Tests et branchements multiples case variable in pattern1) commande ;; pattern1) commande ;; pattern2) commande ;; esac #!/bin/sh case $1 in 1) echo « un »;; 2) echo « deux »;; 3) echo « trois »;; esac TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  17. Les scripts shell : structuration Boucles for variable in liste do commande done #!/bin/sh for $i in 1 2 3 echo $i done while condition do commande done #!/bin/sh i=0 while [ $i -ne "1" ] do read i done TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  18. Les scripts shell Calculs Tout comme pour les tests, on utilise une fonction spécifique d’évaluation : expr (attention à l’utiliser avec les `` ) Opérateurs d’expression numériques + addition - soustraction \* multiplication / division #!/bin/sh i=0 while [ $i -ne 100 ] do i=`expr $i + 1` echo $i done TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  19. Commandes réseau Connexion à distancetelnet machine [port] Transfert de fichiersftp machine Commandes sécuriséesssh machine Test de la présence d’une machinesur le réseauping machine TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

  20. Références URL http://www.bell-labs.com/history/unix/ http://www.ling.helsinki.fi/users/reriksso/unix/shell.html http://www.shelldorado.com/ http://linuxcommand.org/writing_shell_scripts.html http://www.linuxfocus.org/Francais/September2001/article216.shtml … D. Ritchie B. Kenighan Publications J.M. Rifflet La programmation sous Unix (Mc Graw Hill) … K.Thompson TRANSFER Bujumbura – préformation Unix Nicolas Larrousse Février 2002

More Related