La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Utilisation avancée de linux Rappel des commandes et scripts shell.

Présentations similaires


Présentation au sujet: "Utilisation avancée de linux Rappel des commandes et scripts shell."— Transcription de la présentation:

1 Utilisation avancée de linux Rappel des commandes et scripts shell

2 UTILISATION DE LINUX Quelques commandes linux Touch, cp, mv, rm Mkdir, rmdir, rm Cat, ls, tail, head, nano, vi, wc, grep Su, passwd, who, whoami Whatis, whereis, find Adduser, deluser, chmod, chown 2

3 UTILISATION DE LINUX Quelques fichiers et répertoires de configuration Le répertoire /var Le répertoire /etc Le répertoire skel Le fichier passwd Le répertoire /home Le fichier.bashrc 3

4 UTILISATION DE LINUX Cat, Grep, cut LLe fichier toto Tutu:1:2:Bonjour Turllttuti:3:9:Hello CCat toto|grep tutu|cut –d’:’ –f2 1 Commandes et tubes 4

5 UTILISATION DE LINUX Commandes et tubes Cat, Grep, cut, tr –s  Le fichier toto Tutu 1 2 Bonjour Turllttuti 3 9 Hello  Cat toto|grep tutu|tr –s ‘ ‘ ‘:‘|cut –d’:’ –f4 Bonjour 5

6 UTILISATION DE LINUX Le Script Shell Permet de lancer une succession de commandes Peut être lancé au démarrage de la machine ou par une tâche planifier Permet d’automatiser des procédures en fonction de l’utilisateur qui lance le script 6

7 UTILISATION DE LINUX Faire un script shell Commencez par le type de shell ▫#!/bin/bash Puis expliquer par un commentaire ce que fait le script ▫# --- Script renvoyant le login d’un utilisateur en fonction de son UID Ecrire le script en ajoutant un maximum de commentaires 7

8 UTILISATION DE LINUX Faire un script shell Pensez à ajouter le droit d'exécution ! Ne jamais oublier de deboguer le script ▫/bin/bash –x monscript Bien vérifier tous les cas de bogues possible par un autre collègue 8

9 UTILISATION DE LINUX Exemples de script #!/bin/bash #-- script permettant de connaitre la liste des fichiers m’appartenant dans le repertoire #Nb : variable qui recupere le nombre de fichiers Nb=$(ls –l|grep –e "^-.{9} [0-9]+ $USER "|wc –l) Echo "$USER a $Nb fichiers dans le repertoire $PWD : " ls –l|grep –e "^-.{9} [0-9]+ $USER" Exit 1 9

10 UTILISATION DE LINUX Les tests en Shell La commande IF permet de tester une variable Elle a deux réponse possible : Oui ou Non Exemple : 10 #!/bin/bash i=3 If [ $i -lt 3 ] then echo " i < 3 " else echo " i >= 3 " fi #!/bin/bash i=3 If [ $i -lt 3 ] then echo " i < 3 " else echo " i >= 3 " fi ! ! PENSER AUX ESPACES

11 UTILISATION DE LINUX Les tests en Shell Test sur variable numérique < -lt= -eq > -gt!= -ne >= -ge<= -le < -lt= -eq > -gt!= -ne >= -ge<= -le 11 Test sur chaine de caractere -z vide = identique != différent -z vide = identique != différent

12 UTILISATION DE LINUX Les tests en Shell 12 Test sur fichier -e existe-r/w/x a le droit r/w/x -d est répertoire-s non vide -f est un fichier -e existe-r/w/x a le droit r/w/x -d est répertoire-s non vide -f est un fichier if [ -f /etc/passwd ]EXEMPLE then cat /etc/passwd else if [ -d /etc/passwd ] then ls /etc/passwd else echo "Erreur : type inconnu" fi if [ -f /etc/passwd ]EXEMPLE then cat /etc/passwd else if [ -d /etc/passwd ] then ls /etc/passwd else echo "Erreur : type inconnu" fi

13 UTILISATION DE LINUX Les boucles Une boucle permet d'exécuter une action sur un ensemble de données Il existe plusieurs types de boucles, en fonction du type d'éléments ▫For -> début et fin connu ▫While -> fin défini par un test ▫Until -> fin défini par la fin d'une condition 13

14 UTILISATION DE LINUX #!/bin/bash For i in * Do echo $i done #!/bin/bash For i in * Do echo $i done Exemples de boucle FOR #!/bin/bash For i in Do echo $i done #!/bin/bash For i in Do echo $i done 14 #!/bin/bash #compte les rep. dans / j=1 for i in $(ls /) do echo "$j" "$i" ((j++)) done Echo "$j objets" #!/bin/bash #compte les rep. dans / j=1 for i in $(ls /) dodo echo "$j" "$i" ((j++)) done Echo "$j objets"

15 UTILISATION DE LINUX Exemples de boucle WHILE #!/bin/bash i=0 While [ $i –lt 3 ] Do echo $i ((i++)) done #!/bin/bash i=0 While [ $i –lt 3 ] Do echo $i ((i++)) done 15 #!/bin/bash j=1 cat toto|while read ligne do ((j++)) done echo "$j ligne dans toto" #!/bin/bash j=1 cat toto|while read ligne dodo ((j++)) done echo "$j ligne dans toto" #!/bin/bash For i in Do echo $i done #!/bin/bash For i in Do echo $i done

16 UTILISATION DE LINUX Les tests en Shell ( suite ) Permettre de tester plusieurs conditions sur une variable Pour chaque condition, on exécute un programme différent Exemple de cas : ▫Le programme permet de :  Sauvegarder ses données  Récupérer ses données  Supprimer une sauvegarde  Lister ses données  Quitter sa session 16

17 UTILISATION DE LINUX #!/bin/bash Echo "entrez un chiffre entre 0 et 99" read test case $test in [0-9])echo "vous avez écrit un chiffre" ;; [1-9][0-9]) echo "vous avez écrit un nombre" ;; *)echo "vous avez fait une erreur" exit 1 esac #!/bin/bash Echo "entrez un chiffre entre 0 et 99" read test case $test in [0-9])echo "vous avez écrit un chiffre" ;; [1-9][0-9]) echo "vous avez écrit un nombre" ;; *)echo "vous avez fait une erreur" exit 1 esac 17 Exemple du test case

18 UTILISATION DE LINUX Les paramètres des scripts Un script peut prendre des paramètres d'entrée On récupère ses paramètres avec $1, $2 etc … 18 Exemple: appel du programme test.sh rep1 toto1 cat $# : nombre de paramètres : ici 3 $0$1$2$3

19 UTILISATION DE LINUX A quoi servent les redirections ? A éviter d'avoir des messages lors de l'exécution du script A créer un fichier de log au fur et à mesure des informations A sauvegarder le résultat d'une commande et d'une succession de tubes 19

20 UTILISATION DE LINUX Les redirections 20 TERMINAL Entrée standard Sortie standard Sortie d'erreur Utilisation des redirections : − ls –l > toto.txt == ls –l 1>toto.txt −Cat /etc/passwd| grep user 2 > error.log Utilisation des redirections : − ls –l > toto.txt == ls –l 1>toto.txt −Cat /etc/passwd| grep user 2 > error.log


Télécharger ppt "Utilisation avancée de linux Rappel des commandes et scripts shell."

Présentations similaires


Annonces Google