Upload
noah
View
21
Download
0
Embed Size (px)
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, grep Su, passwd, who, whoami Whatis, whereis, find Adduser, deluser, chmod, chown. - PowerPoint PPT Presentation
Citation preview
Utilisation avancée de linux
Rappel des commandes et scripts shell
2UTILISATION 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
3UTILISATION 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
4UTILISATION DE LINUX
•Cat, Grep, cutLe fichier toto
Tutu:1:2:BonjourTurllttuti:3:9:Hello
Cat toto|grep tutu|cut –d’:’ –f2 1
Commandes et tubes
5UTILISATION DE LINUX
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’:’ –f4 Bonjour
6UTILISATION 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
7UTILISATION 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
8UTILISATION 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
9UTILISATION 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
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/bashi=3If [ $i -lt 3 ]
then echo " i < 3 "
else echo " i >= 3 "fi
!PENSER AUX
ESPACES
UTILISATION 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
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 fichierif [ -f /etc/passwd ]EXEMPLE
then cat /etc/passwdelse if [ -d /etc/passwd ]
then ls /etc/passwdelse echo "Erreur : type inconnu"
fifi
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
UTILISATION 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"
UTILISATION 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
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
UTILISATION 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 avez fait une erreur"exit 1esac
17
Exemple du test case
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.shuser@toto:~$./test.sh rep1 toto1 cat
$# : nombre de paramètres : ici 3$0 $1 $2 $3
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
20UTILISATION DE LINUX
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