utilisation avancée de linux

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

Upload: lorretta-santana

Post on 01-Jan-2016

34 views

Category:

Documents


0 download

DESCRIPTION

Utilisation avancée de linux. Rappel des commandes et scripts shell. Quelques commandes linux. Touch , cp , mv , rm Mkdir , rmdir , rm Cat, ls , tail , head , nano, vi, wc Su, passwd , who , whoami Whatis , whereis , find Adduser , deluser , chmod, chown. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Utilisation avancée de linux

Utilisation avancée de linux

Rappel des commandes et scripts shell

Page 2: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

2

Quelques commandes linux

•Touch, cp, mv, rm

•Mkdir, rmdir, rm

•Cat, ls, tail, head, nano, vi, wc

•Su, passwd, who, whoami

•Whatis, whereis, find

•Adduser, deluser, chmod, chown

Page 3: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

3

Quelques fichiers et répertoires de configuration

• Le répertoire /var

• Le répertoire /etc

• Le répertoire skel

• Le répertoire initX.d

• Le fichier passwd

• Le répertoire /home

• Le fichier .bashrc

Page 4: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

4

•Cat, Grep, cutLe fichier toto

Tutu:1:2:BonjourTurllttuti:3:9:Hello

Cat toto|grep tutu|cut –d’:’ –f2Tutu:1:2:BonjourTurllttuti:3:9:Hello

Commandes et tubes

Page 5: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

5

Commandes et tubes

•Cat, Grep, cut, tr –sLe fichier toto

Tutu 1 2 BonjourTurllttuti 3 9 Hello

Cat toto|grep tutu|tr –s ‘ ‘ ‘:‘|cut –d’:’ –f4Tutu 1 2 BonjourTurllttuti 3 9 Hello

Tutu:1:2:Bonjour

Page 6: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

6

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

Page 7: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

7

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

Page 8: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

8

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

Page 9: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

9

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

Page 10: Utilisation avancée de linux

UTILISATION AVANCEE 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/bashi=3If [ $i -lt 3 ]

then echo " i < 3 "

else echo " i >= 3 "fi

Mon test est défini par

!PENSER AUX

ESPACES

Page 11: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

Les tests en Shell

•Test sur variable numérique

< lt = eq> gt != ne

>= ge <= le

11

•Test sur chaine de caractere

-z vide= identique!= différent

Page 12: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

Les tests en Shell

12

•Test sur fichier-e existe -r/w/x a le droit r/w/x-d est repertoire -s non vide

-f est un fichier

if [ -f /etc/passwd ]EXEMPLE

then cat /etc/passwdelse if [ -d /etc/passwd ]

then ls /etc/passwdelse echo "Erreur : type inconnu"

fifi

Page 13: Utilisation avancée de linux

UTILISATION AVANCEE 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

Page 14: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

#!/bin/bashFor i in *Do

echo $idone

Exemples de boucle FOR#!/bin/bashFor i in 1 2 3Do

echo $idone

14

#!/bin/bash#compte les rep.

dans /j=1for i in $(ls /)do

echo "$j" "$i"((j++))

doneEcho "$j objets"

Page 15: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

Exemples de boucle WHILE#!/bin/bashi=0While [ $i –lt 3 ]Do

echo $i((i++))

done

15

#!/bin/bashj=1cat toto|while read ligne

do((j++))

doneecho "$j ligne dans toto"

#!/bin/bashFor i in 0 1 2Do

echo $idone

Page 16: Utilisation avancée de linux

UTILISATION AVANCEE 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

Page 17: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

Les tests en Shell ( suite )

•Le test CASE•En fonction de la valeur, on execute tel

programme

17

Page 18: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

#!/bin/bashEcho "entrez un chiffre entre 0 et 99"read testcase $test in

[0-9])echo "vous avez écrit un chiffre";;

[1-9][0-9]) echo "vous avez écrit un nombre";;*)echo "vous n'avez fait une erreur"esac

18

Page 19: Utilisation avancée de linux

UTILISATION AVANCEE 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 …

19

Exemple: appel du programme test.shuser@toto:~$./test.sh rep1 toto1 cat

$# : nombre de paramètres : ici 3

$0 $1 $2 $3

Page 20: Utilisation avancée de linux

UTILISATION AVANCEE 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

20

Page 21: Utilisation avancée de linux

UTILISATION AVANCEE DE LINUX

21

02

1

Les redirections

TERMINALEntrée standard

Sortie sta

ndard

Sortie d'erreur

Utilisation des redirections :− ls –l > toto.txt == ls –l 1>toto.txt−Cat /etc/passwd| grep user 2 > error.log