Introduction aux Systèmes et aux Réseaux



Documents pareils
TP1 - Prise en main de l environnement Unix.

Aide-Mémoire unix. 9 février 2009

Introduction au Système d Exploitation Unix/Linux

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

Unix/Linux I. 1 ere année DUT. Université marne la vallée

C.M. 1 & 2 : Prise en main de Linux

Outils pour la pratique

TP 1 Prise en main de l environnement Unix

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix


Année Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

Environnements informatiques

Premiers pas en Linux

La mémoire. Un ordinateur. L'octet. Le bit

(Langage de commandes) Les commandes sont données par l'utilisateur grâce au clavier, à partir d'une "invite" ou "prompt" (par exemple "c:\>" )

sshgate Patrick Guiran Chef de projet support

Bon ben voilà c est fait!

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Polycopié Cours Système d Exploitation I. Programme : Filière SMI S3

Module : Informatique Générale 1. Les commandes MS-DOS

Shell Bash Niveau débutant

Contents. 1 Premiers pas en Linux. 1.2 Généralités. 1.1 Bref historique Linux

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Programmation C. Apprendre à développer des programmes simples dans le langage C

TP 1. Prise en main du langage Python

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

SSH, le shell sécurisé

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Les Boitiers de Vote Electroniques (Clickers)

TP1 : Initiation à l algorithmique (1 séance)

Installation et mise en œuvre de OpenSSH sous AIX 5L

Programmation système I Les entrées/sorties

Introduction aux Systèmes et aux Réseaux

Initiation à la programmation en Python

Algorithmique et Programmation, IMA

Cours Unix 1. Présentation d UNIX. Plan du cours 1

TP 4 de familiarisation avec Unix

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Plan du cours. Historique du langage Nouveautés de Java 7

Premiers pas. Shell? Les processus vu comme des filtres. commandes

INFO-F-404 : Techniques avancées de systèmes d exploitation

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Formation Unix et GNU/Linux

Client windows Nagios Event Log

Tutoriel Création d une source Cydia et compilation des packages sous Linux

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

SSH. Romain Vimont. 7 juin Ubuntu-Party

Projet Administration Réseaux

Le langage C. Séance n 4

Licence Sciences et Technologies Examen janvier 2010

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

UNIX DÉBUTANTS. Olivier Collin CNRS Station Biologique de Roscoff

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

Introduction à MATLAB R

Algorithmique et programmation : les bases (VBA) Corrigé

Exercice sur les Dockers

Cours Programmation Système

Atelier La notion de session utilisateur sous Linux

Programmation système de commandes en C

Cours Shell Unix Commandes & Programmation. Révision corrigée du 31/01/2003

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Environnement Informatique EMSE Linux

Architecture de la plateforme SBC

ftp & sftp : transférer des fichiers

Automatisation de l administration système


Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Le prototype de la fonction main()

Initiation à la Programmation en Logique avec SISCtus Prolog

I. Présentation du serveur Samba

FusionInventory. Guillaume Rousse Journées francophones de Perl 2011

Installation de Zabbix

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Sauvegardes par Internet avec Rsync

Introduction au langage C

Table des matières Hakim Benameurlaine 1

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Formation. Module WEB 4.1. Support de cours

Pratique et administration des systèmes

Introduction à l Administration Systèmes et Réseaux

La sécurité avec SSH. Atelier cctld Dakar, Sénégal. Hervey Allen

INF 321 : mémento de la syntaxe de Java

TP Bases de données réparties

Serveurs de noms Protocoles HTTP et FTP

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Couche application. La couche application est la plus élevée du modèle de référence.

Programmer en JAVA. par Tama

TP, première séquence d exercices.

Personnes ressources Tice. Académie de Rouen

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/

Transcription:

Introduction aux Systèmes et aux Réseaux Cours 2 : Language de commandes, Scripts Shell D après un cours de Julien Forget (Univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI - Université Lyon 1 - FST

Plan 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 2 / 99

Plan Langages de commandes Objectif : Apprendre à se servir efficacement d un terminal de commandes (Shell) : Utilisation de la ligne de commande ; Commandes classiques ; Scripts. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 3 / 99

L interpréteur de commandes 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 4 / 99

L interpréteur de commandes Rôle de l interpréteur de commandes Interface (textuelle) entre l utilisateur et le système : Exécution de programmes et de commandes ; Contrôle de l environnement ; Redirection des entrées/sorties ; Gestion de variables ; Traitement des caractères spéciaux ; Fournit un langage de programmation (script shell). Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 5 / 99

L interpréteur de commandes Choix d un interpréteur de commandes Bourne Shell et dérivés (UNIX) : sh : bourne shell (shell original) bash : bourne again shell ksh : korn shell zsh : Z shell C Shell et dérivés (UNIX) : csh : C shell, développé par Berkeley tcsh : C shell amélioré Microsoft : DOS : command.com ; Windows : cmd.exe. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 6 / 99

L interpréteur de commandes Format d une commande Format général d une commande (UNIX) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 7 / 99

L interpréteur de commandes Format d une commande Format général d une commande (DOS) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 8 / 99

L interpréteur de commandes Quelques exemples avant de passer à la suite laure@meert : ~ / Documents/1314 work / enseignement / SystemeCCI$ Cours p l a n _ i n d i c a t i f. t x t ProgSyst SystJF TP l s laure@meert : ~ / Documents/1314 work / enseignement / SystemeCCI$ echo coucou coucou laure@meert : ~ / Documents/1314 work / enseignement / SystemeCCI$ cd TP laure@meert : ~ / Documents/1314 work / enseignement / SystemeCCI / TP$. pdf h i e r a r c h i e. pdf tp1. pdf tp2. pdf tp3 4. pdf l s Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 9 / 99

L interpréteur de commandes Les caractères spéciaux Les jokers ou wildcards :? 1 caractère quelconque (UNIX & DOS) * 0, un ou plusieurs caractères (UNIX & DOS) [ ] caractère parmi un ensemble (UNIX) [ ] caractère en dehors d un ensemble (UNIX) désigne le répertoire home de l utilisateur Gestion des jokers : UNIX : expansion avant l exécution (le processus fils du shell reçoit une commande préalablement traitée par le shell) ; DOS : utilisation par la commande (c est le programme lui-même qui remplace le joker ou non). Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 10 / 99

L interpréteur de commandes Les caractères spéciaux : exemple jokers laure@meert : ~ / $ l s / usr / bin / z / usr / bin / zdump / usr / bin / z i p c l o a k / usr / bin / z i p s p l i t / usr / bin / z e i t g e i s t daemon / usr / bin / zipgrep / usr / bin / zsoelim / usr / bin / z e n i t y / usr / bin / z i p i n f o / usr / bin / zxpdf / usr / bin / z i p / usr / bin / zipnote laure@meert : ~ / $ l s / usr / bin / z [ a g ] / usr / bin / zdump / usr / bin / z e i t g e i s t daemon / usr / bin / z e n i t y laure@meert : ~ / $ l s / usr / bin / z [ ^ a g ] / usr / bin / z i p / usr / bin / zipgrep / usr / bin / zipnote / usr / bin / zsoelim / usr / bin / z i p c l o a k / usr / bin / z i p i n f o / usr / bin / z i p s p l i t / usr / bin / zxpdf Exo : Qu affiche la commande suivante? laure@meert : ~ / tmp$ l s / usr / bin / z [ a g ]??? [ a z ] Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 11 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 12 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier Création/renommage de fichier/répertoire Renommer un fichier UNIX : mv <fich1> <fich2> DOS : rename <fich1> <fich2> Création de répertoire(s) UNIX : mkdir [-p] <rep>[/<rep>] -p : crée les répertoires parents si besoin DOS : mkdir <rep>[\ <rep>] Renommer un répertoire UNIX : mv <rep1> <rep2> DOS : move <rep1> <rep2> Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 13 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier Déplacement de fichiers UNIX : mv [-fiu] <fic1>... <fic2> -u (update) : seulement si le fichier source est plus récent que la destination DOS : move [/Y/-Y] <fic1>... <fic2> /Y : supprime la demande de confirmation /-Y : impose la confirmation Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 14 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier Diverses commandes sur les fichiers Destruction de répertoires UNIX : rmdir [-if] -r <rep1>... <repn> UNIX : rm -rf <rep1>... <repn> DOS : del [/s/p] <rep1>... <repn> /s : dans tous les répertoires /p : confirmation Copie de plusieurs fichiers vers 1 repertoire UNIX : cp [-if] <fich1>... <fichn> <rep> DOS : copy <fich> <rep> Copie récursive de répertoire UNIX : cp [-if] -r <rep1>... <repn> <rep> DOS : xcopy [/p] /e <rep1> <rep2> /e : copie répertoire et sous répertoires Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 15 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier Suppression de fichier UNIX : rm [-if] <fich1>... <fichn> -i : confirmation avant destruction -f : force la destruction des fichiers sans autorisation d écriture -R : récursif DOS : del <fich> [/p] /p : confirmation avant destruction Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 16 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier Suppression de fichier : exemple UNIX : rm [-if] <fich1>... <fichn> laure@meert : ~ / tmp$ l s a i l t o t a l 16 3548989 drwxrwxr x 2 l a u r e l a u r e 4096 Aug 19 15:17. 3545532 drwxrwxr x 4 l a u r e l a u r e 4096 Aug 19 15:15.. 3549043 rw rw r 1 l a u r e l a u r e 7 Aug 19 15:16 add. t x t 3549044 rw rw r 1 l a u r e l a u r e 172 Aug 19 15:17 atagada. t x t laure@meert : ~ / tmp$ rm i add. t x t rm : remove r e g u l a r f i l e add. t x t? n laure@meert : ~ / tmp$ rm i f add. t x t laure@meert : ~ / tmp$ l s atagada. t x t laure@meert : ~ / tmp$ Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 17 / 99

L interpréteur de commandes Commandes pour l arborescence de fichier Déplacement / suppression de rep : exemple laure@meert : ~ / tmp2$ mkdir d i r e s s a i laure@meert : ~ / tmp2$ mkdir d i r e s s a i mkdir : cannot create d i r e c t o r y d i r e s s a i : F i l e e x i s t s laure@meert : ~ / tmp2$ l s a f i l e. t x t d i r e s s a i laure@meert : ~ / tmp2$ l s l t o t a l 8 rw rw r 1 l a u r e l a u r e 7 août 20 09:34 a f i l e. t x t drwxrwxr x 2 l a u r e l a u r e 4096 août 20 09:34 d i r e s s a i laure@meert : ~ / tmp2$ l s d i r e s s a i laure@meert : ~ / tmp2$ mv a f i l e. t x t d i r e s s a i laure@meert : ~ / tmp2$ l s d i r e s s a i a f i l e. t x t laure@meert : ~ / tmp2$ rmdir d i r e s s a i rmdir : f a i l e d to remove d i r e s s a i : D i r e c t o r y not empty laure@meert : ~ / tmp2$ rm r f d i r e s s a i laure@meert : ~ / tmp2$ l s Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 18 / 99

L interpréteur de commandes Notions sur les I/O 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 19 / 99

L interpréteur de commandes Notions sur les I/O Flux d entrée/sortie Sous UNIX un processus est créé avec 3 flux ( canal de communication) : Entrée standard (stdin, flux numéro 0) : lecture des données d entrée. Utilisé par exemple par scanf ; Sortie standard (stdout, flux numéro 1) : écriture des données de sortie. Utilisé par exemple par printf ; Sortie erreur (stderr, flux numéro 2) : écriture des données d erreur. Utilisé par exemple par perror. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 20 / 99

L interpréteur de commandes Notions sur les I/O Flux d entrée/sortie - exemples Démos : stdout avec la commande ls stdin/stdout avec la commande cat stderr avec la commande ls (avec un répertoire inexistant) laure@meert : ~ / tmp$ l s / bin / x Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 21 / 99

L interpréteur de commandes Notions sur les I/O Redirection des entrées/sorties Il est possible de changer la destination des flux d entrée/sortie : sh csh effet < < redirige stdin > > redirige stdout 2 > _ redirige stderr >> >> ajoute stdin (en fin de fichier) 2 >> 2 >> ajoute stderr (en fin de fichier) > & > & redirige stdout et stderr 2 > &1 redirige stderr sur stdout NB : Tout ceci fonctionne aussi sous DOS, à l exception de la redirection > &. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 22 / 99

L interpréteur de commandes Notions sur les I/O Redirection : exemple laure@meert : ~ / tmp$ l s / bin / y > bin_ycommands laure@meert : ~ / tmp$ cat bin_ycommands / bin / ypdomainname laure@meert : ~ / tmp$ l s / bin / x > bin_xcommands l s : cannot access / bin / x : No such f i l e or d i r e c t o r y laure@meert : ~ / tmp$ l s / bin / x 2> bin_xcommands laure@meert : ~ / tmp$ cat bin_xcommands l s : cannot access / bin / x : No such f i l e or d i r e c t o r y laure@meert : ~ / tmp$ l s / bin / k >> bin_ycommands laure@meert : ~ / tmp$ cat bin_ycommands / bin / ypdomainname / bin / kbd_mode / bin / k e y c t l / bin / k i l l Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 23 / 99

L interpréteur de commandes Vers les scripts 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 24 / 99

L interpréteur de commandes Vers les scripts Séquence de commandes Séquence simple, le ;. Ex : laure@meert : ~ / tmp$ echo "Commandes en k : " ; l s / bin / k Commandes en k : / bin / kbd_mode / bin / k e y c t l / bin / k i l l Séquence avec redirection, le (pipe). La sortie d une commande est redirigée vers l entrée de la suivante. Ex 1 : laure@meert : ~ / tmp$ l s / bin / k wc l 3 Possible d enchaîner plusieurs séquences : ls -la /usr/bin sort more 1. wc -l compte le nombre de lignes d un texte Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 25 / 99

L interpréteur de commandes Vers les scripts Les variables des Shells Affectation : UNIX (Bourne Shell) : <var>=<valeur> UNIX (C Shell) : set <var>=<valeur> DOS : set <var>=<valeur> Désigner la valeur d une variable : UNIX : ${<var>} ou $<var> DOS : %<var>% Affecter une variable d environnement : UNIX (Bourne Shell) : export <var>=<valeur> UNIX (C Shell) : setenv <var>=<valeur> DOS : set <var>=<valeur> Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 26 / 99

L interpréteur de commandes Vers les scripts Les variables des Shells Quelques variables d environnement UNIX HOME répertoire racine de l utilisateur SHELL nom du shell utilisé par l utilisateur PATH répertoire des commandes UID, USER identité de l utilisateur MANPATH chemin pour trouver les pages du manuel PS1, PS2 invites utilisées par le shell... DOS COMSPEC chemin d accès à l interpréteur de commandes PATH chemin de recherche des commandes PROMPT invite Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 27 / 99

L interpréteur de commandes Vers les scripts Démos laure@meert : ~ / tmp$ a=3 ; echo $a 3 laure@meert : ~ / tmp$ echo $USER l a u r e (export sera vu en tp) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 28 / 99

L interpréteur de commandes Vers les scripts La variable PATH UNIX : Exécution d une commande : recherche dans les répertoires spécifiés par la variable PATH. Si commande trouvée, alors exécution ; Si la commande n est pas dans un répertoire du PATH, alors on doit spécifier le chemin où elle se trouve. Ex : /chemin/commande ou./commande DOS : Recherche d abord dans le répertoire courant (.), puis dans les répertoires spécifiés par PATH ; Si la commande n est pas dans un répertoire du PATH, alors on doit spécifier le chemin où elle se trouve. Ex : \chemin\commande ou.\commande Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 29 / 99

L interpréteur de commandes Vers les scripts Démo PATH laure@meert : ~ / $ echo $PATH / home / l a u r e / bin : / usr / l o c a l / sbin : / usr / l o c a l / bin : / usr / sbin : / usr / bin : / sbin : / bin : / usr / games : / home / l a u r e / bin : / usr / l o c a l / java / jdk1. 7. 0 _09 / bin : / home / l a u r e / bin (sans les saut de ligne) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 30 / 99

L interpréteur de commandes Vers les scripts Autres fonctionnalités notoires du shell Complétion : Appuyer sur (tabulation) pendant la saisie d une commande ; Appuyer deux fois si plusieurs complétions possibles. Historique : remonter, redescendre dans l historique ; Chercher une commande dans l historique : Ctrl + R <chaine> : une commande contenant <chaine> ; A nouveau Ctrl + R : cherche la commande précédente ; Entrée : exécute la commande sélectionnée ; Ctrl + G : interrompt la recherche. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 31 / 99

Commandes utiles 1 L interpréteur de commandes 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 32 / 99

Commandes utiles Manuel d une commande UNIX : man [section] <commande> Section 1 : commandes utilisateur Section 2 : appels système Section 3 : fonctions diverses Section 4 : format de fichiers Section 5 : divers UNIX : man -k <mot>. Donne la description courte des commandes liées à <mot> ; Le man décrit (entre autre) : La manière d appeler la commande (Synopsis) ; Le rôle de la commande et toutes ses options. DOS : <commande> /? Vous ne connaissez pas une commande? Vous ne connaissez pas une option? Utilisez le man!! Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 33 / 99

Commandes utiles touch touch [-option] [-r référence -t date] fichier touch modifie la date d accès et la date de modification d un fichier ; les fichiers n existant pas sont créés, leur contenu est vide souvent utilisé pour créer des fichiers vides. laure@meert :~ $ l s a l touch_essai l s : cannot access touch_essai : No such f i l e or d i r e c t o r y laure@meert : ~ $ touch touch_ essai laure@meert :~ $ l s l a touch_essai rw rw r 1 l a u r e l a u r e 0 Aug 19 14:53 touch_essai Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 34 / 99

Commandes utiles Renommer un ensemble de fichiers DOS : rename *.<exten1> <*.exten2> Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 35 / 99

Commandes utiles Renommer un ensemble de fichiers UNIX : mv [-if] *.<exten1> <*.exten2>??? laure@meert : ~ / tmp$ l s. jpg unalias_csh. jpg unalias_sh. jpg uniq. jpg unite_disque. jpg laure@meert : ~ / tmp$ mv. jpg. png mv: t a r g e t. png i s not a d i r e c t o r y Voir ce qui a été dit à propos de l expansion des caractères génériques Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 36 / 99

Commandes utiles Le retour des fichiers 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 37 / 99

Commandes utiles Le retour des fichiers Saisie d un fichier au clavier UNIX : cat > <fich> <texte frappé au clavier> Ctrl + D DOS : copy con: <fich> <texte frappé au clavier> Ctrl + Z Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 38 / 99

Commandes utiles Le retour des fichiers Affichage Afficher le contenu d un fichier cat <fich> (UNIX) type <fich> (DOS) ; Afficher page par page : more <fich> (UNIX) ; Afficher le contenu de plusieurs fichiers : UNIX : cat <fich1>... <fichn> DOS : type <fich1>... <fichn> Afficher un texte : echo <chaine> Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 39 / 99

Commandes utiles Le retour des fichiers Manipulation de nom de fichier basename permet d éliminer le chemin d accès et le suffixe d un nom de fichier basename <chemin> [ chaîne ] dirname permet d éliminer le dernier composant délimité par un slash du nom_de_fichier dirname <chemin> laure@meert : ~ / tmp$ basename s t d i o. h / usr / i n c l u d e / s t d i o. h laure@meert : ~ / tmp$ basename / usr / i n c l u d e / s t d i o. h. h s t d i o laure@meert : ~ / tmp$ dirname / usr / i n c l u d e / usr / i n c l u d e / s t d i o. h Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 40 / 99

Commandes utiles Autres 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 41 / 99

Commandes utiles Autres ssh (remote login) ssh [-l username] host login sur un ordinateur hôte (distant) de manière sécurisée laure@meert :~ $ ssh e u l e r. l o c a l The a u t h e n t i c i t y of host e u l e r. l o c a l ( 1 9 2. 1 6 8. 1. 4 3 ) can t be e s t a b l i s h e d. RSA key f i n g e r p r i n t i s df : 5 4 : 0 6 : 5 5 : f2 : 8 6 : 4 8 : ef : ac : 3 4 : 2 6 : 7 2 : 6 9 : 8 7 : 6 5 : 8 5. Are you sure you want to continue connecting ( yes / no )? yes Warning : Permanently added e u l e r. l o c a l, 1 9 2. 1 6 8. 1. 4 3 (RSA) to the l i s t of known hosts. laure@euler. l o c a l s password : laure@euler :~ $ e x i t logo ut Connection to e u l e r. l o c a l closed. laure@meert :~ $ ssh e u l e r. l o c a l laure@euler. l o c a l s password : Welcome to Ubuntu 12. 04. 2 LTS [... ] Last l o g i n : Tue Aug 20 09:42:26 2013 from meert. l o c a l laure@euler :~ $ Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 42 / 99

Commandes utiles Autres at at (UNIX) at [-option] [-f fichier] HEURE Lance les commandes indiquées à une heure précise ; Les fichiers /etc/at.allow et /etc/at.deny définissent les utilisateurs ayant le droit d invoquer at ; Si aucun de ces deux fichiers n existe, seul le super-utilisateur a le droit d appeler at. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 43 / 99

Commandes utiles Autres at at (WinNT) at [\\nom_ordinateur][[id][/delete[/yes]]] at [\\nom_ordinateur] heure [/every:date[,...] /next:date[,...]] "commande" la commande at programme l exécution de commandes et de programmes sur un ordinateur à une date et une heure précise. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 44 / 99

Commandes utiles Les filtres 1 L interpréteur de commandes Commandes pour l arborescence de fichier Notions sur les I/O Vers les scripts 2 Quelques commandes utiles Le retour des fichiers Autres Les filtres 3 Fichiers de commandes (scripts) Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 45 / 99

Commandes utiles Les filtres Principe Lecture d une entrée (texte) ; Filtrage (ex : supprimer des lignes, supprimer des colonnes, remplacer des mots, etc.) ; Production d une sortie (texte) ; Souvent utilisés en série à l aide du. Très utile pour automatiser des traitements textuels répétitifs. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 46 / 99

Commandes utiles Les filtres tail tail [-n number] [filename...] donne les dernières lignes d un fichier laure@meert : ~ / t a i l n 5 / var / log / cups / access_log 192.168.1.43 [ 2 0 / Aug/2013:12:48:51 +0200] "POST / p r i n t e r s / SamsungNoireLyon HTTP/ 1. 1 " 200 278 Validate Job successful ok 192.168.1.43 [ 2 0 / Aug/2013:12:48:51 +0200] "POST / p r i n t e r s / SamsungNoireLyon HTTP/ 1. 1 " 200 278 Create Job successful ok 192.168.1.43 [ 2 0 / Aug/2013:12:48:51 +0200] "POST / p r i n t e r s / SamsungNoireLyon HTTP/ 1. 1 " 200 593519 Send Document successful ok l o c a l h o s t [ 2 0 / Aug/2013:14:08:35 +0200] "POST / p r i n t e r s / SamsungNoireLyon HTTP/ 1. 1 " 200 320 Create Job successful ok l o c a l h o s t [ 2 0 / Aug/2013:14:08:35 +0200] "POST / p r i n t e r s / SamsungNoireLyon HTTP/ 1. 1 " 200 296 Send Document successful ok Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 47 / 99

Commandes utiles Les filtres head head [-number -n number] [filename...] donne les n premières lignes du fichier. Par défaut, n = 10 laure@meert :~ $ head n 3 / etc / passwd r o o t : x : 0 : 0 : r o o t : / r o o t : / bin / bash daemon : x : 1 : 1 : daemon : / usr / sbin : / bin / sh bin : x : 2 : 2 : bin : / bin : / bin / sh Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 48 / 99

Commandes utiles Les filtres wc wc [options] [<fichier>...] Compte le nombre de lignes, de mots et de caractères des fichiers. Voir les options -w,-l,-c laure@meert :~ $ wc / etc / passwd 36 51 1675 / etc / passwd laure@meert :~ $ wc l / etc / pass 36 / etc / passwd 37 / etc / passwd 73 t o t a l Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 49 / 99

Commandes utiles Les filtres cut cut -f<liste> [-d<caractère>] Permet de découper les lignes d un fichier en champs et d extraire des champs particuliers. laure@meert :~ $ cat colonnes. t x t Du : t e x t e : en : colonnes Et : sur : deux : l i g n e s laure@meert :~ $ cut f2,3 d : colonnes. t x t t e x t e : en sur : deux Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 50 / 99

Commandes utiles Les filtres grep ou egrep egrep [options] <expression> [<fichier>] Permet de sélectionner des lignes de fichier contenant un texte ou motif (cf expressions régulières) donné ; egrep permet d utiliser des expressions régulières plus détaillés (egrep "none aborted") Quelques options (voir man pour d autres options) : -i pas de différence entre majuscule et minuscule -c compte le nombre de lignes -v inverse le résultat Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 51 / 99

Commandes utiles Les filtres Quelques exemples laure@meert : ~ $ egrep bash / etc / passwd r o o t : x : 0 : 0 : r o o t : / r o o t : / bin / bash l a u r e : x :1000:1000: laure,,, : / home / l a u r e : / bin / bash stephane : x :1001:1001: Stephane Gonnord,,, : / home / stephane : / bin / bash laure@meert : ~ $ egrep c bash / etc / passwd 3 laure@meert : ~ $ egrep c BASH / etc / passwd 0 laure@meert : ~ $ egrep c i BASH / etc / passwd 3 laure@meert :~ $ egrep c i v BASH / etc / passwd 33 laure@meert :~ $ wc l / etc / passwd 36 / etc / passwd Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 52 / 99

Commandes utiles Les filtres Quelques exemples - 2 laure@meert :~ $ egrep " ba sa " / etc / passwd r o o t : x : 0 : 0 : r o o t : / r o o t : / bin / ba sh backup : x : 3 4 : 3 4 : backup : / var / backups : / bin / sh messagebus : x : 1 0 2 : 1 0 5 : : / var / run / dbus : / bin / f a l s e l a u r e : x :1000:1000: laure,,, : / home / l a u r e : / bin / bash saned : x : 1 1 3 : 1 2 2 : : / home / saned : / bin / f a l s e stephane : x :1001:1001: Stephane Gonnord,,, : / home / stephane : / bin / bash debian spamd : x : 1 1 5 : 1 2 4 : : / var / l i b / spamassassin : / bin / sh Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 53 / 99

Commandes utiles Les filtres findstr (sous DOS) findstr [option] [chaîne] [NomFichier[...]] permet de sélectionner des lignes de fichier contenant un motif Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 54 / 99

Commandes utiles Les filtres tr tr [option] set1 [set2] transpose ou supprime des caractères laure@meert :~ $ a=" essai " laure@meert : ~ $ echo " $a : tagada " essai : tagada laure@meert : ~ $ echo " $a : tagada " t r a z A Z ESSAI : TAGADA laure@meert :~ $ echo " $a : tagada " t r [ : lower : ] [ : upper : ] ESSAI : TAGADA laure@meert : ~ $ echo " $a : blu " t r s " " essai : blu Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 55 / 99

Commandes utiles Les filtres sort sort [options] [fichier] sort trie les lignes d un fichier texte principales options : -n numérique -r reverse -t séparateur -k champ laure@meert :~ $ cat / etc / passwd s o r t t : k 3 nr head n 5 nobody : x :65534:65534: nobody : / nonexistent : / bin / sh stephane : x :1001:1001: Stephane Gonnord,,, : / home / stephane : / bin / bash l a u r e : x :1000:1000: laure,,, : / home / l a u r e : / bin / bash spampd : x : 1 1 6 : 1 2 5 : : / nonexistent : / bin / f a l s e debian spamd : x : 1 1 5 : 1 2 4 : : / var / l i b / spamassassin : / bin / sh Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 56 / 99

Commandes utiles Les filtres find find [chemin] [expression...] rechercher des fichiers dans une hiérarchie de répertoires ++ autres options laure@meert :~ $ f i n d / etc / type d group r o o t p r i n t 2> / dev / n u l l t a i l n 5 / etc / network / i f post down. d / etc / network / i f down. d / etc / rc6. d / etc / ssh / etc / sudoers. d laure@meert :~ $ f i n d. mtime 0 type f. /. procmail / log. / i r c l o g s / freenode /# l a u t r e. net. log. /. lbdb / m_inmail. l i s t. /. lbdb / m_inmail. l i s t. d i r t y. /. spamassassin / bayes_toks. /. spamassassin / bayes_seen. / MailLaure /. mbox / cur /1376994860.30985_0. meert : 2,S Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 57 / 99

Commandes utiles Les filtres find (suite) find [chemin] [expression...] [commande] rechercher des fichiers dans une hiérarchie de répertoires et exécuter la commande. Attention à l espace avant dans l exemple suivant laure@meert : ~ / f i n d. type f mtime 0 exec l s l a { } \ ; more rw 1 l a u r e l a u r e 331776 août 20 12:34. /. spamassassin / bayes_toks rw 1 l a u r e l a u r e 24576 août 20 12:34. /. spamassassin / bayes_seen [... ] Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 58 / 99

Commandes utiles Les filtres join join [options] fichier1 fichier2 affiche sur la sortie standard une ligne pour chaque paire de lignes d entrée, l une provenant de fichier1 et l autre de fichier2, qui disposent de champs de fusion identiques. laure@meert :~ $ sudo cat / etc / shadow grep sy sys : : 1 5 8 1 8 : 0 : 9 9 9 9 9 : 7 : : : sync : : 1 5 8 1 8 : 0 : 9 9 9 9 9 : 7 : : : syslog : : 1 5 8 1 8 : 0 : 9 9 9 9 9 : 7 : : : laure@meert :~ $ cat / etc / passwd grep sy sys : x : 3 : 3 : sys : / dev : / bin / sh sync : x :4:65534: sync : / bin : / bin / sync syslog : x : 1 0 1 : 1 0 3 : : / home / syslog : / bin / f a l s e laure@meert :~ $ j o i n j 1 t : / etc / passwd / etc / shadow grep sy sys : x : 3 : 3 : sys : / dev : / bin / sh : : 1 5 8 1 8 : 0 : 9 9 9 9 9 : 7 : : : sync : x :4:65534: sync : / bin : / bin / sync : : 1 5 8 1 8 : 0 : 9 9 9 9 9 : 7 : : : syslog : x : 1 0 1 : 1 0 3 : : / home / syslog : / bin / f a l s e : : 1 5 8 1 8 : 0 : 9 9 9 9 9 : 7 : : : Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 59 / 99

Commandes utiles Les filtres Expressions régulières (regexp) Permet de désigner des ensembles de chaînes de caractères sous la forme de motifs généraux ; Utilisées par de nombreuses commandes UNIX (en particulier les filtres, ex : egrep et sed) ; NB : les jokers sont une forme de regexp traitées directement par le Shell. D autres commandes traitent directement leurs regexp (filtres par exemple). Les syntaxes varient. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 60 / 99

Commandes utiles Les filtres Expressions régulières Exemples :. caractérise n importe quel caractère [ ] un des caractères entre crochets ou si le premier caractère est ˆ, alors caractérise ceux qui ne correspondent pas avec ceux entre crochet [abc] a, b ou c [a-z] une lettre minuscule [a-d5-8w-z] a, b, c, d, 5, 6, 7, 8, w, x, y, z [ˆ0-9] pas un chiffre [ˆa-zA-Z] pas une lettre ˆ début de ligne $ fin de ligne, [ab$] ligne finissant par ab Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 61 / 99

Commandes utiles Les filtres Expressions régulières Exemples : * signifie de 0 à n fois le caractère qui précède a* aa* 0 à n fois a au moins un a.* n importe quelle chaîne de caractères (y compris la chaîne vide) ˆ[0-9][0-9]*$ ligne qui ne contient que des chiffres \( \) isoler des sous-chaînes. On peut les réutiliser grâce à \1 \2 Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 62 / 99

Commandes utiles Les filtres Filtre-éditeur sed Commande très puissante (presque un mini-langage de script) ; A la fois un filtre et un éditeur ; Utilisation courante : Recevoir, en entrée chaque ligne d un fichier ; Lui faire subir des modifications ; L envoyer sur la sortie standard. Laure Gonnord (CCI/Univ Lyon1) SystCCI Cours 2 : commandes/scripts 2013 63 / 99