Commandes Unix avancées

Embed Size (px)

Citation preview

  • 7/30/2019 Commandes Unix avances

    1/19

    Des commandes plus avances

    I. Les processusLister des processus : ps & top

    Arrter des processus : kill

    II. Recherche

    Rechercher des fichiers : find & locate

    III. Filtrer les donnes

    Afficher le dbut ou la fin d'un fichier : head & tail

    Rechercher des mots cls : grep & sed

    Dcouper en colonnes : cut

    Trier des donnes : sort

    Compter des occurrences : wc

  • 7/30/2019 Commandes Unix avances

    2/19

    Des commandes plus avances

    IntroductionCe document est accompagn d'une vido disponible sur leblog www.tutoriels-video.fr

    Par consquent, il est fortement recommand de regarder

    la vido qui donne des indications et des pistessupplmentaires qui ne sont pas crites dans ce guide.

    De plus, ce document est la suite d'un tutoriel consacr auxcommandes Unix. Je vous recommande donc de lire les

    documents prcdent avant d'entamer celui-ci.

    N'oubliez pas que chaque commande possde un manuelaccessible via :

    nom_commande

    http://www.tutoriels-video.fr/http://www.tutoriels-video.fr/
  • 7/30/2019 Commandes Unix avances

    3/19

    Des commandes plus avances

    Quelques gnralits sur les processus

    Unix est un systme multi-tche et multi-utilisateur. Le noyaugre l'ensemble des processus grce l'ordonnanceur . Ceprogramme sert attribuer aux processus du temps-cpu etceci en fonction des priorits. Les processus ont donc 3 tatsprincipaux : lu (en cours d'excution), prt (suspenduprovisoirement), bloqu (en attente de rsultat).

    L'ordonnancement des processus, gr par l'OS consiste

    slectionner les processus disposant du processeur.

    Chaque processus est identifi par son PID (process identifier).

    Un processus qui se termine gnre une valeur de retour, parconvention 0 veut dire que le processus s'est terminnormalement, toutes autres valeurs indique un problme.

  • 7/30/2019 Commandes Unix avances

    4/19

    Des commandes plus avances

    Lister des processus

    psSignification Processes snapshot

    But Permet d'afficher les processus en cours

    Options frquentes

    -u : affiche les processus d'un utilisateur particulier-ef : affiche les processus de tous les utilisateurs.-ejH : affiche les processus sous forme d'arbre-l : long format affiche plus d'informations-o : personnaliser l'affichage

    Exemples d'utilisation

    ps -u alexis : affiche les processus de l'utilisateur alexis

    ps -elf : affiche les processus de tous le monde avec unaffichage exhaustif

    ps -eo uid,pid,time,cmd: affiche tous les processusavec un affichage particulier

  • 7/30/2019 Commandes Unix avances

    5/19

    Des commandes plus avances

    Lister des processus

    topSignification top

    But Affiche les processus en cours en temps-rel

    Options frquentes -u : affiche les processus d'un utilisateur particulier

    Exemples d'utilisation

    top : affiche les processus en cours d'excution entemps rel

    top -u alexis : la mme chose mais seulement pourl'utilisateur alexis

  • 7/30/2019 Commandes Unix avances

    6/19

    Des commandes plus avances

    Notion de signal

    Un signal est adress un processus pour l'avertir d'unvnement. L'metteur peut tre le systme, un autreprocessus ou l'utilisateur. Lorsqu'un processus reoit un signal,il interrompt le cours normal de son excution. Voici la listedes principaux signaux utiliss :

    Numro Nom du signal Signification

    9* SIGKILL Tue le processus

    19* SIGSTOP Demande de suspension (pause)

    18 SIGCONT Demande de reprise

    2 SIGINT Signal d'interruption (ce qui se cache derrire leraccourcis CTRL+C)

    * signaux qui ne peuvent pas tre intercepter (via trap par exemple)

  • 7/30/2019 Commandes Unix avances

    7/19

    Des commandes plus avances

    Arrter les processus

    killSignification kill

    But Envoie un signal un processus

    Options frquentes -l : affiche la liste de tous les signaux connus

    Exemples d'utilisation

    kill 2985 : tue (gentiment) le processus portant l'id 2985kill -KILL 2985: force le processus 2985 s'arrter

    kill -9 2985: fait la mme chose que prcdemment

    kill -19 2985 : stop le processus 2985 (pause)

    kill -18 2985 : demande la reprise de 2985

    killall firefox : tue le processus firefox ce qui a pour effet

    de le fermer

  • 7/30/2019 Commandes Unix avances

    8/19

    Des commandes plus avances

    Rechercher des fichiers

    locateSignification locate

    But Permet de rechercher des fichiers (rapide)

    Options frquentes

    -i : rendre locate insensible la casse(majuscule/minuscule)-n: pour limiter le nombre de rsultat-c : compte le nombre d'occurrences trouves

    Exemples d'utilisation

    locate test1 : recherche tous les fichiers test1 partir dela racine /

    locate -i TeSt2: recherche tous les fichiers test2 sanstenir compte de majuscule/minuscule

    locate -n 10 .mp3: recherche les fichiers se terminantpar .mp3 et limite les rsultats 10 entrs

    locate -c .pdf : renvoie le nombre de fichiers .pdf quelocate a trouv

  • 7/30/2019 Commandes Unix avances

    9/19

    Des commandes plus avances

    Rechercher des fichiers

    findSignification find

    But Permet de rechercher des fichiers (lent mais puissant)

    Options frquentes

    -name : recherche un fichier par son nom (-iname pourrendre insensible la casse)-type : rechercher certain type de fichier-atime : recherche par date de dernier accs (-mtime

    pour date de dernire modification)-exec : excute la commande donne aux fichier trouvs

    Exemples d'utilisation

    find ~ -name fichier1 : recherche fichier1 dansle rpertoire personnel

    find ~ -type d -name test : recherche un dossier testdans le rpertoire personnel find ~ -name *.pdf -exec cp -v {} ~/pdf \;:recherche

    tous les fichiers pdf du dossier personnel et les copies dans ~/pdf

  • 7/30/2019 Commandes Unix avances

    10/19

    Des commandes plus avances

    Afficher le dbut d'un fichier

    headSignification head

    But Affiche les premires lignes d'un fichier

    Options frquentes

    -n : spcifie le nombre de lignes que l'on souhaite (pardfaut, sans option, 10 lignes)-v : affiche les enttes du fichier

    Exemples d'utilisation

    head -n 2 fichier.txt : affiche les 2 premires lignes dufichier

    head -v -n 2 fichier.txt : la mme chose queprcdemment avec le nom du fichier qui s'affiche enpremier

  • 7/30/2019 Commandes Unix avances

    11/19

    Des commandes plus avances

    Afficher la fin d'un fichier

    tailSignification tail

    But Affiche les dernire lignes d'un fichier

    Options frquentes

    -n : spcifie le nombre de lignes que l'on souhaite (pardfaut, sans option, 10 lignes)-v : affiche les enttes du fichier-f : affiche les dernires lignes du fichier en temps-rel -s : spcifier la priode de MAJ de l'option -f(par dfaut1 seconde)

    Exemples d'utilisation

    tail -n 2 fichier.txt : affiche les 2 dernires lignes defichier.txt

    tail -f /var/log/syslog : affiche les 10 dernires lignes dufichier syslog et se met jour toutes les secondes

  • 7/30/2019 Commandes Unix avances

    12/19

    Des commandes plus avances

    Expression rgulire

    Une expression rgulire est un motif qui dcrit un ensemblede chaines de caractre possible selon une syntaxe prcise.

    Motif Description

    . Reprsente n'importe quel caractre

    * Zro ou plusieurs fois l'lment prcdent

    ? Zro ou une fois l'lment prcdent

    + Une ou plusieurs fois l'lment prcdent

    {n} Exactement n fois l'lment prcdent

    {n,m} Au moins n fois et au plus m fois l'lment prcdent

    [abc] Un caractre parmi abc

    [^abc] Tout caractre sauf a, b ou c

    ^ Dbut de ligne (commence par ...)

    $ Fin de ligne (termine par ...)

  • 7/30/2019 Commandes Unix avances

    13/19

    Des commandes plus avances

    Rechercher des mots cls

    grepSignification Global Regular Expression Print

    But Recherche une chaine de caractre dans un fichier

    Options frquentes

    -E : activer les expressions rgulires tendues (c'est dire quasiment tout le temps, quivalent egrep)-i : insensible la casse-v : inverse le sens de la correspondance

    Exemples d'utilisation

    grep -E mot fichier :renvoie toutes les lignes

    contenant la chaine mot dans fichier grep -E ^begin fichier :renvoie les lignes quicommence par begin dans le fichier

    egrep .*[0-9]+.* fichier :renvoie les lignes contenantau moins un chiffre

    egrep ([a-zA-Z]{1,3})\1 fic :renvoie les lignes

    contenant 2 motifs identiques conscutif constitu d'aumoins 1 et au plus 3 caractres alphabtique

  • 7/30/2019 Commandes Unix avances

    14/19

    Des commandes plus avances

    Rechercher & remplacer des mots cls

    sedSignification Stream Editor

    But Permet de faire des transformations sur des chaines de caractres

    Options frquentes

    -r : activer les expressions rgulires tendues-i.bak : sauvegarder les modifications dans le fichier et crer unfichier de sauvegarde (.bak) -e :permet de passer plusieurs commandes d'ditions

    Exemples d'utilisation

    sed -i 's/mot1/mot2/' fichier :remplace la premire occurrencede mot1 par mot2, ligne par ligne, dans fichier

    sed -i 's/mot1/mot2/g' fic :remplace toutes les occurrences demot1 par mot2 dans fic

    sed '5,7s/m1/m2/g' fichier: remplacer m1 par m2 seulementaux lignes 5 et 12 du fichier

    sed '2!s/m1/m2/g' fic: remplacer m1 par m2 sauf la ligne 2

    sed -r 's/user([0-9])/toto\1/g' fic : remplacer user suivi d'un

    chiffre par toto suivi de ce mme chiffre

  • 7/30/2019 Commandes Unix avances

    15/19

    Des commandes plus avances

    Dcouper en colonnes

    cutSignification Cut

    But Affiche une ou plusieurs colonnes d'un flux de donns

    Options frquentes-d :prcise le dlimiteur (sparateur)-f : prcise les colonnes que l'on souhaites rcuprer

    Exemples d'utilisation

    cut -d ' ' -f1,4 fichier: rcupre les colonnes 1 et 4 dufichier en utilisant l'espace comme sparateur

    cut -d ' ' -f5- fichier : rcupre toutes les colonnes

    partir de la 5me cut -d ' ' -f5-9 fichier : rcupre de la 5me jusqu' la9me colonnes (incluse)

    cut -d ' ' -f-10 fichier : rcupre toutes les colonnesjusqu' la 10me

    Astuce Parfois il y des espaces en trop empchant de trouver

    un dlimiteur. Dans ce cas, la commande tr -s ' ' est utile.

  • 7/30/2019 Commandes Unix avances

    16/19

    Des commandes plus avances

    Trier des donnes

    sortSignification Sort

    But Permet de trier des donnes

    Options frquentes

    -n : trier des nombres (diffrents de trier des chiffres)-f : insensible la casse-r : inverse le sens de trie-k : trier partir des donnes de la colonne X-t : prcise le dlimiteur des colonnes

    Exemples d'utilisation

    sort fichier : trie avec la premire colonne par ordrecroissant (ou alphabtique si c'est des lettres)

    sort -n -t ' ' -k2 : trie avec la deuxime colonne denombres, spar par des espaces, par ordre croissant

    sort -r -n fichier :trie avec la premire colonnes denombres par ordre dcroissant

  • 7/30/2019 Commandes Unix avances

    17/19

    Des commandes plus avances

    Compter des occurrences

    wcSignification Word Count

    But Permet de compter diffrents type de donnes

    Options frquentes

    -w : compter des mots-m : compter des caractres-l : compter des lignes

    Exemples d'utilisation

    wc -w fichier : compte le nombre de mot du fichier

    wc -m fichier : compte le nombre de caractres dufichier

    wc -l fichier : compte le nombre de lignes du fichier

  • 7/30/2019 Commandes Unix avances

    18/19

    Quelques commandes de base

    Conclusion

    Si une erreur s'est gliss dans cette prsentation oudans la vido, merci de me le signaler par email l'adresse suivante :

    bvek1.prof [at] gmail.com

    La formation vido est disponible sur le site suivant :

    http://www.tutoriels-video.fr

    Et videmment tout est disponible sous licencecreative commons 2.0 ;).

    Si vous avez des questions, nhsitez pas laisser un

    commentaire sur le site ou consulter le manuel.

    http://www.tutoriels-video.fr/http://www.tutoriels-video.fr/
  • 7/30/2019 Commandes Unix avances

    19/19

    Quelques commandes de base

    Sources

    Voici les diffrentes sources utilises pour la cration de cedocument :

    http://www.ubuntu-fr.org/

    http://www.siteduzero.com/

    Le livre UNIX. Pour aller plus loin avec la ligne decommande que je recommande fortement. Il estdisponible gratuitement sur :

    http://www.framabook.org/

    Et bien videment le manuel des commandes ;)

    http://www.ubuntu-fr.org/http://www.siteduzero.com/http://www.framabook.org/http://www.framabook.org/http://www.siteduzero.com/http://www.ubuntu-fr.org/