Télécharger la présentation
1
Utilisation avancée de linux
Rappel des commandes et scripts shell
2
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
3
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
4
Commandes et tubes Cat, Grep, cut Le fichier toto
Tutu:1:2:Bonjour Turllttuti:3:9:Hello Cat toto|grep tutu|cut –d’:’ –f2 1
5
Commandes et tubes Cat, Grep, cut, tr –s Le fichier toto
Tutu Bonjour Turllttuti Hello Cat toto|grep tutu|tr –s ‘ ‘ ‘:‘|cut –d’:’ –f4 Bonjour
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
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
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
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
10
! Les tests en Shell La commande IF permet de tester une variable
Elle a deux réponse possible : Oui ou Non Exemple : #!/bin/bash i=3 If [ $i -lt 3 ] then echo " i < 3 " else echo " i >= 3 " fi ! PENSER AUX ESPACES
11
Les tests en Shell Test sur variable numérique < -lt = -eq
> -gt != -ne >= -ge <= -le Test sur chaine de caractere -z vide = identique != différent
12
Les tests en Shell 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 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
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
14
Exemples de boucle FOR #!/bin/bash #compte les rep. dans / j=1
#!/bin/bash For i in Do echo $i done #!/bin/bash #compte les rep. dans / j=1 for i in $(ls /) do echo "$j" "$i" ((j++)) done Echo "$j objets" #!/bin/bash For i in * Do echo $i done
15
Exemples de boucle WHILE
#!/bin/bash i=0 While [ $i –lt 3 ] Do echo $i ((i++)) done #!/bin/bash j=1 cat toto|while read ligne do ((j++)) done echo "$j ligne dans toto" #!/bin/bash For i in 0 1 2 Do echo $i done
16
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
17
Exemple du test case #!/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
18
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 … Exemple: appel du programme test.sh rep1 toto1 cat $# : nombre de paramètres : ici 3 $0 $1 $2 $3
19
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
Les redirections 1 2 TERMINAL Sortie standard Entrée standard
Sortie d'erreur 2 Utilisation des redirections : ls –l > toto.txt == ls –l 1>toto.txt Cat /etc/passwd| grep user 2 > error.log
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.