1 / 20

Utilisation avancée de linux

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.

noah
Download Presentation

Utilisation avancée de linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 1 2 Bonjour Turllttuti 3 9 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 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 for i in $(ls /) do echo "$j" "$i" ((j++)) done Echo "$j objets" #!/bin/bash For i in 1 2 3 Do echo $i done • #!/bin/bash For i in * Do echo $i done

  15. Exemples de boucle WHILE • #!/bin/bash j=1 cat toto|while read ligne do ((j++)) done echo "$j ligne dans toto" #!/bin/bash i=0 While [ $i –lt 3 ] Do echo $i ((i++)) done #!/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 user@toto:~$./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 Sortie standard TERMINAL Entrée standard 0 Sortie d'erreur 2 • Utilisation des redirections : • ls –l > toto.txt == ls –l 1>toto.txt • Cat /etc/passwd| grep user 2 > error.log

More Related