Le Korn Shell. 2 Contenu  Présentation  Généralités  Les paramètes du shell  Les processus  l’édition des commandes  Les entrées sorties  La commande.

Slides:



Advertisements
Présentations similaires
Été INF1025 Driouch Elmahdi
Advertisements

Le Clavier.
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Historique 1970 Développement dans un laboratoire de recherche Bell (Kernighan, Ritchie, Thompson) parallèlement au langage C Diffusion gratuite aux.
Outils de développements
Systèmes d’exploitation
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,
Systèmes d'exploitations Les redirections d'entrées/sorties GRARI Mounir ESTO Année 2011.
Les commandes Unix.
Les bases de l’Algorithmique
CPI/BTS 2 Programmation Web Introduction au PHP
Cours de programmation
Partie 1 Etude de l'existant
Mars 2013 Grégory Petit
ManageEngine ADManager Plus 6
Windows 7 Administration des comptes utilisateurs
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
Recherche avancée multi-champs EBSCOhost
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Version 2007Administration système Linux Francis Rogard 1 SYSTEME DEXPLOITATION LINUX La ligne de commandes.
Les instructions PHP pour l'accès à une base de données MySql
Systèmes d'exploitations
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
FICHIERS : Définition : Algorithme général:
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 4 Syntaxe des commandes, documentation standard,
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Programmation nawk(1)
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie II 2014.
GPA435, GPA – ÉTS, T. Wong Génie de la production automatisée GPA435 Système dexploitation et programmation de système Chapitre 6 Partie I 2014.
Les devis Le devis ODF.
LAL Service Informatique Stage Informatique 1 Le système Unix l Multitâche, multi-utilisateur, partage des ressources l Universel : machines, portabilité.
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 6 Substitution: variables et commandes,
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Utilisation avancée de linux
CHAPITRE 4 : Gestion des Utilisateurs et Groupes
Shell Equipe ID Bioinformatics Training Course June 2014.
PHP 5° PARTIE : LES COOKIES
Restaurations : cas réel
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
 Syntaxe du langage PHP
Module 9 : Transfert de données. Vue d'ensemble Présentation du transfert de données Outils d'importation et d'exportation de données disponibles dans.
Maria Malek - EISTI - CPI11 Présentation d’UNIX –1969, laboratoire Bell –Systèmes multi-tâches multi-utilisateurs –Architecture Le noyau –Gestion de la.
Finder => Application => Utilitaires => Terminal Editor:pico Touches –Finder=>Applic.=> Utili. => Touches –~: Alt+N –|: Shift+Alt+N –[: Shift+ Alt+5 –{:
1 REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L’ENSEIGNEMENT SUPERIEURE ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE ABDELHAMID IBN BADIS.
Variables et environnement utilisateur W. Barhoumi.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Systèmes d’exploitation
Initiation au JavaScript
Elaboré par Ahmed BESSAIDI
FORMATION Unix/Linux CHAPITRE 5 : Gestion des Droits.
S. Domas Système d’Exploitation Make et la construction d’exécutables 1ère annéeIUT Belfort-Montbéliard.
1 Tutoriel SPIP Rédacteur. 2 Sommaire Connexion Interface SPIP Menu SPIP Rédiger un article Interface de création d’un article Fonctionnalités de base.
FORMATION Unix/Linux CHAPITRE 3: Commandes De Base.
Scripts et fonctions Instructions de contrôle
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 7 Neutralisation, redirection, décodage des paramètres,
Exemple d’utilisation de l’outil de profilage prof La commande prof de Unix.
Introduction à l’utilitaire
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Utilisation des formules de base
© 2010 Sage - Tous droits réservés 1 SIGMA Atelier Découvertes Ergonomie et Prise en Main SAGE ERP X3 Version 6.
Gestion de Masse de Données (GMD) Cours 1 Adrien Coulet
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
FACTORY systemes Module 2 Section 1 Page 2-3 Installation d’Industrial SQL FORMATION InSQL 7.0.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Elaboré par Ahmed BESSAIDI
Transcription de la présentation:

Le Korn Shell

2 Contenu  Présentation  Généralités  Les paramètes du shell  Les processus  l’édition des commandes  Les entrées sorties  La commande ls  Les alias  Les caractères spéciaux  Les noms de fichiers  La commande tail  La commande find  Les expressions régulières  La commande grep  La commande sed  La commande awk

3 Présentation  (petit) Historique Premier shell créé pour Unix par Steve Bourne (sh), de la société AT&T Bell Laboratories : le Bourne Shell. A partir du Bourne shell, David Korn a élaboré le Korn Shell, qui offre plus de fonctionnalités. La compatibilité avec le Bourne Shell reste établie. Création par Brian Fox du Bourne Again Shell, intégration du korn shell et du C shell sous licence GPL.

4 Présentation Les améliorations apportées par le Korn Shell :  rappel les commandes précédentes, avec possibilités d'édition avec vi ou emacs  possibilités de complétion automatique des pathnames, donc plus précisément des noms d'objets (fichiers ou directories)  disponibilité d'un mécanisme d‘historique  possibilité de définir des alias et des fonctions  disponibilité d'une arithmétique entière de base quelconque entre 2 et 36, relativement facile à utiliser  opérateur de chaînes et de sous-chaînes de caractères  possibilité de définir des variables simples ou indicées  disponibilité de toutes les structures conditionnelles et itératives traditionnelles (if, while, for, until, case)  possibilité de créer des menus (select)  fichiers d'environnement.profile et $ENV

5 Présentation  Objectifs Réaliser des petits programmes qui deviennent des outils. Mettre en place un environnement de travail personnalisé et utilitaire.  Rôles du Korn Shell Un interpréteur de commandes Un langage de programmation (nouvelles cmd) Un gestionnaire de processus Un environnement de travail configurable

6 Généralités  Les droits sur les fichiers  _ ___ ___ ___ utilisateur groupe Reste du monde Droits du groupe Droits utilisateur Type de fichier  Changement des droits sur un fichier : chmod  Définition des droits à la création du fichier : umask

7 Généralités  Environnement : ordre d’exécution des fichiers lors d’une connexion d’utilisateur /etc/environment (à chaque login) /etc/profile (par le shell de connexion).profile (par le shell de connexion) ENV=nom_fichier, par convention.kshrc exécuté à chaque lancement explicite de Korn Shell

8 Généralités  Environnement : le fichier.profile  Il permet de personnaliser son environnement de travail, en définissant des variables et en exécutant des commandes spécifiques  On peut donc : Définir des variables d’environnement Définir la protection des fichiers par défaut Exécuter des commandes spécifiques Définir et initialiser son terminal

9 Les paramètres du shell  HOME le home directory ( répertoire de login )  PATH chemin de recherche pou l'exécution des commandes  CDPATH chemin de recherche pour la commande cd  MAIL chemin indiquant le répertoire du courrier  PS1 primary system prompt  PS2 secondary system prompt  IFS internal field separator  SHELL indique le shell de login

10 Les processus  Lancement séquentiel cmd1 cmd2 cmd3 cmd1; cmd2; cmd3  Lancement en parallèle cmd 1 & cmd 2 & cmd 3 &  Substitution de commande : `cmd`

11 L’édition des commandes  Il est possible d’historiser les commandes passées en interactif  Définir la variable VISUAL (export VISUAL=vi)  Appuyer sur “Echap” pour passer en mode édition de commande  le backslash “\” permet la complétion  Quelques commandes vi : k/j : historique en haut/bas h/l : déplacement gauche/droite i : insertion ^/$ : début/fin x : effacer un caractère

12 Les entrées sorties  < l'entrée standard est lu à partir d'un fichier  > La sortie standard est redirigée dans un fichier (RAZ du fichier)  >> La sortie standard est redirigée dans un fichier (concaténation du fichier)  2> les erreurs sont redirigées dans un fichier  2>&1 les erreurs sont redirigées dans le même fichier que la sortie standard

13 Les entrées sorties  Les Pipes cmd1 | cmd2 Équivaut à cmd1 > fichier cmd2 < fichier

14 La commande ls  Permet de lister le contenu d’un répertoire  Syntaxe : ls [option]… [fichier]…  Quelques options utiles -a : affiche les fichiers cachés -l : affiche sous forme de liste -r : affiche en mode reverse -t : affiche par date de modification

15 Les alias  Les alias sont des raccourcis de commandes définies par le shell lui- même ou par l’utilisateur souvent dans le fichier.kshrc)  La commande alias donne la liste des alias du shell courant  Pour définir un alias : alias nom_de_l_alias='cmd'  Exemple : alias l='ls-al|more'

16 Les caractères spéciaux | le pipe & lancement en arrière plan || ou logique && et logique ; fin de commande › redirection d'une sortie ‹ redirection d'une entrée () groupage de commande dans un autre shell {} groupage de commande dans le même shell ` substitution de commande en bourne shell $() substitution de commande en korn shell \ inhibition

17 Les noms de fichiers  * n'importe quelle chaîne de caractères  ? n'importe quel caractère  [... ] n'importe quel caractère décrit entre les crochets  Exemple : Tous les fichiers se terminant par cpp :  $> ls *cpp

18 La commande tail  La commande tail permet d’afficher le contenu d’un fichier par la fin  On peut spécifier le nombre de ligne à afficher  On peut garder un fichier ouvert dont la fin est réactualisée (pratique pour les fichiers de log)

19 La commande tail  Syntaxe tail [options] fichier  Les options utiles -n : visualise les n dernières lignes du fichier -f : visualise, sans quitter, la fin du fichier, avec réactualisation si modification  Exercice : Écrire un alias permettant de lire en continu le fichier le plus récent d'un répertoire. (utilisation de tail, ls, | et ` ) alias mylog='tail -f `ls -tr /my_dir/ | tail -1`'

20 La commande find  Recherche de manière récursive les répertoires et fichiers dont le nom correspond à un motif donné.  Syntaxe : find nom_répertoire [...] -name "modèle_nom"  Exemple : find. -name "?????" Recherche à partir du répertoire courant les fichiers dont le nom a 5 caractères.  L’option –exec permet d’exécuter une commande sur les fichiers trouvés  Exemple : find. -name "core" -exec rm {}\; Efface récursivement les fichiers core

21 Les expressions régulières  Elles ne caractèrisent pas des noms de fichier mais des chaînes de caractères.  Couramment utilisées sous unix par les commandes vi, sed, awk, find…  La chaîne renvoyée par une expression régulière est toujours la plus grande pouvant être représentée par cette E.R  Pour échapper un caractère, utiliser “\”  Utilisation classique : remplacement de chaîne : s/RE/chaine_de_remplacement/

22 Les expressions régulières  Le point. Il représente n’importe quel caractère Exemple : chaîne de départ : azerty…p cmd de remplacement : s/…/---/ chaîne résultat : ---rty…p

23 Les expressions régulières  Les suites de caractères [ ] Définies entre crochets. Ils représentent une liste de caractères.  Exemple : [abc] Si la liste commence par ^ ça caractérise un caractère qui n’appartient pas à la liste définie entre crochets.  Exemple : [^a] Pour définir une suite entre 2 caractères, ils faut utiliser le caractère –  Exemple : [0-9]

24 Les expressions régulières  La multiplicité * : 0 à n fois le caractère précédent exemples : a* : 0 ou n fois le caractère a aa* : au moins une fois le caractère a.* : n’importe quelle chaîne de caractères  Début et fin de ligne Le caractère ^ détermine le début de la ligne Le caractètre $ indique la fin de ligne Exemples : ^a : ligne qui comment par a a$ : ligne qui se termine par a ^[a-z] : ligne qui commence par une minuscule  Attention : ne pas confondre [^] et ^[]

25 Les expressions régulières [abc] a, b ou c [a-z] une lettre minuscule [0-57] 0, 1, 2, 3, 4, 5 ou 7 [a-d5-8X] a, b, c, d, 5, 6, 7, 8 ou X [0-5-] 0, 1, 2, 3, 4, 5 ou – [^0-9] pas un chiffre [012^] 0, 1, 2 ou ^

26 Les expressions régulières  Exercice : définir l’expression régulière permettant la caractérisation d’une ligne qui ne contient que des chiffres et non vide. /^[0-9][0-9]*$/ Début de ligne Un chiffre Un autre chiffre 0 ou n fois Fin de ligne

27 La commande grep  GREP = General Regular Expression Parser, soit analyseur général d'expression régulière  Cette commande recherche dans des fichiers ou l’entrée standard les lignes qui correspondent à l’expression régulière.  Syntaxe grep [options] expreg [fichiers]  Exemples : grep "korn" fichier cat /etc/passwd | grep "user"

28 La commande grep  Quelques options utiles -c donne seulement le nombre de lignes trouvées obéissant au critère -l donne seulement le nom des fichiers où le critère a été trouvé -v donne les lignes où le critère n'a pas été trouvé -i ne pas tenir compte de la casse -n pour n'afficher que les numéros des lignes trouvées -w pour imposer que le motif corresponde à un mot entier d'une ligne

29 La commande sed  La commande sed permet d’éditer du texte de manière non-intéractive.  Elle permet d’exécuter un certain nombre de commandes sur du texte en entrée standard ou dans un fichier.  Il n’y a pas d’altération du texte d’origine, les modifications sont affichées sur la sortie standard.

30 La commande sed  Syntaxe sed [-n] [-e commande] [-f fichier de commandes] [fichier] -n écrit seulement les lignes spécifiées (par l'option /p) sur la sortie standard -e permet de spécifier les commandes à appliquer sur le fichier. Cette option est utile lorsque vous appliquez plusieurs commandes. Afin d'eviter que le shell interprette certains caracteres, il faut mieux encadrer la commande avec des ' ou des ". -f lecture des commandes à partir d'un fichier.

31 La commande sed  Fonctionnement Pour chaque ligne du fichier d’entrée, la commande est exécutée. La ligne, modifiée ou non, est affichée sur la sortie standard.  Syntaxe d’une commande “liste_des_adresses commande” Avec la liste_des_adresses : rienToutes les lignes NumLa ligne num (dernière ligne : $) Num1,Num2Les lignes entre num1 et num2

32 La commande sed  La substitution (commande s ) Syntaxe num1,num2s/RE/remplacement/flags Entre les lignes num1 et num2 : remplace les chaînes caractérisées par l’expression régulière RE par la chaîne de remplacement Flags :  g : toutes les occurences sur une même ligne  p : affiche la ligne traîtée (pratique avec –n)  w fichier : écrit la sortie dans le fichier spécifié Exemple : sed "s/[Cc]omputer/COMPUTER/g" fichier

33 La commande sed  Les tampons Ils permettent d’isoler des sous-chaînes afin de pouvoir les réutiliser. Isoler une chaîne : \( \) Réutiliser une chaîne : \1, \2, … Il est possible d’isoler des sous-chaînes récursivement  Exercice : que fait cette commande ? "s/\([0-9][0-9]*\)/**\1**/" Elle encadre les chiffres/nombres trouvés sur une ligne par les caractères ** Computer=599 euros -> Computer=**599** euros

34 La commande sed  La suppression (commande d ) Efface les lignes (au niveau de la sortie, le fichier d'origine n'est pas modifié) Exemple : sed "1,10d" fichier : sortie du fichier à partir de la onzième ligne

35 La commande sed  Autres commandes a,i : permettent d’insérer du texte dans le résultat q : quitte = : écrit les numéros de ligne  Exercice : Afficher le résultat numérique contenu dans cette chaîne sous la forme "resultat = xxx"  chaîne de départ : edtf fta 158k frd sed -e 's/[^0-9]*\([0-9][0-9]*\).*/resultat=\1/'

36 La commande awk (overview)  La commande awk permet d’effectuer un certain nombre d’action sur un fichier.  La syntaxe s’inspire du C.  Un programme awk est une suite de commandes de la forme : motif {action} Le motif permet de déterminer sur quel enregistrement doit s’effectuer l’action  Exemple : awk 'length($0)>75 {print}' fichier Imprime les lignes de plus de 75 caractères