Formation Linux - Initiation

  • 5,253 views
Uploaded on

Initiation à Linux et Unix

Initiation à Linux et Unix

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
5,253
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
313
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introduction à Linux Genève
  • 2. Introduction à Linux Plan du cours 1er jour Présentation générale Arborescence de Linux Définition des utilisateurs et des groupes Connexion au système et premières commandes Autorisation d'accès des fichiers et des répertoires Shell bash
  • 3. Introduction à Linux Plan du cours 2ème jour Shell bash Redirections d'entrée / sortie Editeur de texte L'aide en ligne Le service d'impression Expression régulière
  • 4. Introduction à Linux Plan du cours 3ème jour Manipulation des fichiers et des répertoires Principales commandes Linux Notions de réseau X Window System
  • 5. Les origines Tout a commencé en 1991  avec un étudiant Finlandais Linus Torvalds  DOS sur son PC, c'est trop simple  il étudie Minix mais c'est trop limité  micro­noyau  contre  noyau monolithique mini­guerre Torvalds/Tanenbaum  il décide d'écrire un système d'exploitation de type Unix sur PC ProLibre                                                        Présentation Générale
  • 6. Le Noyau Linux S'insère dans le projet GNU Noyau Unix sur PC Publié sous la licence Publique GNU (GPL)  Applications   Programmes GNU   Shell  Noyau ­ Moteur  Matériel ProLibre                                                        Présentation Générale
  • 7. Caractéristiques Principales ● Système ouvert ● Multi­tâches ● Multi­utilisateurs ● Multi­processeurs ● Multi­plateformes  ● Versions 32 bits et 64 bits ● Norme POSIX ProLibre                                                        Présentation Générale
  • 8. Les utilisateurs ●  Nom de connexion ●  Mot de passe ●  UID­ identifiant utilisateur  ●  GID­ identifiant de groupe primaire ●  Répertoire principal (home directory) ●  Programme de connexion ●  Super­Utilisateur:  root ProLibre                                                       Utilisateurs & groupes
  • 9. Groupes ● Groupe primaire ou de connexion ● Groupes secondaires ProLibre                                                       Utilisateurs & groupes
  • 10. Connexion ● Login ● Prompt      Shell ● Shell     Système ProLibre                         Connexion au système et premières  commandes
  • 11. Commandes Commande    =    Nom   +      [argument(s)] Exemples: # cat   /etc/passwd # cat   /etc/passwd   |   cut   ­f1,5  ­d:   |   sort Enchainement inconditionnel # date ; whoami Enchainement conditionnel # date   &&  whoami # date   ||   whoami ProLibre                         Connexion au système et premières  commandes
  • 12. Compte utilisateur Nom de l'utilisateur:  logname, whoami Infos complètes sur l'utilisateur: id Interface terminal : tty Infos sur le système d'exploitation : uname Liste des utilisateurs sur la machine: who Modification de son mot de passe: passwd Page de manuel:  man ProLibre                         Connexion au système et premières  commandes
  • 13. Exercices (1) Affichez le calendrier de l'année 1997 (2) Affichez la date avec le format jj­mm­aa (Exemple 07­07­97) (3) Que fait la commande « touch »? (4) Affichez les noms de login des utilisateurs connectés (5) Essayez chacune des commandes: date, who, whoami, id, cal, uname ProLibre                         Connexion au système et premières  commandes
  • 14. Le système de fichier  root /           mnt   etc    usr    var    home    tmp    sbin     lib    dev    proc       doc src bin lib     local                    robert                    bin lib    Usr                              mail project tmp       mail  linux  gull Swap                diving.html    /home/robert/project/diving.html   Home ProLibre                                                        Le système de fichier
  • 15. Propriétés  Sensible à la casse:  Document =/= document   Noms longs  Fichiers dans des répertoires  Structure arborescente, cycles possibles   Répertoires spéciaux:      /   .    ..   Chemin d'accès absolu ou relatif   Fichiers invisibles   Fichiers spéciaux   Liens (hard et soft)  Gestion de disques : système de fichiers  ProLibre                                                        Le système de fichier
  • 16. Manipulation de fichiers et de répertoires Création d'un répertoire mkdir <nom du répertoire> mkdir ­p rep1/rep2/rep3 mkdir tient compte du mask:  umask 077 Suppresion d'un répertoire rmdir <nom du répertoire> supprime le répertoire uniquement s'il est vide ProLibre                                  Manipulation de fichiers et de répertoires
  • 17. Manipulation de fichiers et de répertoires Copie de fichiers et de répertoires cp   <fichier source>     <fichier destination> cp   <fichier source>     <répertoire destination> cp   <liste de fichiers>    <répertoire destination> options: ­i interactif ­p conserve les attributs ­r récursif Déplacement de fichiers et  de répertoires mv   <fichier source>      <fichier destination> mv   <fichier source>      <répertoire destination> mv   <liste de fichiers>   <répertoire destination> options: ­i interactif ProLibre                                  Manipulation de fichiers et de répertoires ­f force
  • 18. Manipulation de fichiers et de répertoires Suppression de fichiers et  de répertoires rm <fichier(s)> options: ­i interactif ­f force ­r  récursif Visualisation de fichiers ou de répertoires ls   [option]   [fichiers/répertoires] options: ­l affiche les informations  ­a liste tous les fichiers ­r ordre inverse ­t tri par date ­d liste le nom du répertoire ­i liste les inodes ProLibre                                  Manipulation de fichiers et de répertoires
  • 19. Manipulation de fichiers et de répertoires Nature des fichiers file   <fichier> Création de fichiers ou modification touch [option] <fichier> options: ­a modification de la date de dernier accès ­c ne crée pas le fichier s'il n'existe pas ­m change la date de modification par la date courante ­t change la date au lieu de la date courante format de la date : MMDDhhmm[YY] exemple: touch   ­t 04010000    ~/test.txt   ProLibre                                  Manipulation de fichiers et de répertoires
  • 20. Manipulation de fichiers et de répertoires Recherche de fichiers ou de répertoire find <répertoire de recherche> <options> <actions> options: ­type nature de l'objet (f=fichier, d=directory,l=lien) ­name nom de l'objet ­size taille de l'objet ­perm permission de l'objet ­atime date de création ­ctime date de modification des attributs ­mtime date de dernière modification actions ­print affiche le résultat de la commande ­exec effectue une commande Unix sur les fichiers ­ok = exec mais demande confirmation  ProLibre                                  Manipulation de fichiers et de répertoires
  • 21. Exercices (1) Dans votre répertoire de connexion, créez le répertoire « exercices » et dans ce  dernier les sous répertoires « serie_1 » et « serie_2 » (2) Affichez l'arborescence créée précédemment. (3) Copiez le ficher /etc/passwd dans votre répertoire en le nommant fic_pass (4) Renommez le fichier fic_pass en password (5) Déplacer le fichier password dans le répertoire serie_1 (6) Copiez les fichiers /etc/passwd et /etc/group dans le répertoire serie_2 en étant dans le répertoire /etc  et  ensuite dans le répertoire serie_2 (7) Sélectionnez le répertoire serie_1 comme répertoire de travail et listez depuis  ce dernier les fichiers de serie_2 (8) Créer le fichier « document » avec la commande touch. (9) Affichez ses caractéristiques avec la commande ls et file  (10) Positionnez vous dans le répertoire de connexion et affichez tous les attributs  des fichiers ainsi que ceux commençant par un « . » (11) Supprimez le répertoire exercices avec une seule commande et sans demande  de confirmation ProLibre                         Connexion au système et premières  commandes
  • 22. Le shell Bourne­shell (1976)  contre       C­shell (BSD) Korn­shell tcsh bash  ProLibre                                                                    Le shell bash
  • 23. Edition d'une commande Mode d'édition:  emacs ou vi par défaut: emacs Commandes de base de emacs: Crtl a début de la ligne Ctrl e fin de la ligne Ctrl d supprime le caractère sous le curseur Ctrl k supprime les caractères jusqu'à la fin de la ligne Ctrl r recherche vers le début du fichier Ctrl s recherche vers la fin du fichier Ctrl y copie le buffer  Ctrl space marque le début d'un buffer Ctrl w marque la fin d'un buffer et le supprime Esc w marque la fin d'un buffer et le copie Esc x commande ligne Ctrl x Ctrl s sauve le fichier Ctrl x Ctrl w sauve le fichier sous un autre nom Ctrl g annule la commande en cours ProLibre                                                                    Le shell bash
  • 24. Méta­caractères/Jokers ?   remplace n'importe quel caractère *   remplace entre 0 et n caractères quelconques [liste]   remplace un caractère qui figure dans la liste [^liste]   remplace n'importe quel caractère sauf ceux de la liste {chaîne}   remplace un mot qui figure dans la chaîne exemples:   ls   ­l     *.{new,bak,ha?k} ls   ­l     *.[0­9] ls   ­l     *.[^p­w][a­z][a­z] ProLibre                                                                    Le shell bash
  • 25. Caractères spéciaux ' empêche l'évaluation des méta­caractères " empêche l'expansion  des méta­caractères sauf     ` et $ ` évalue et fournit le résultat de la commande   ­  $(cmd) empêche l'interprétation du caractère spécial $ préfixe une variable exemples: ls ­l    `which netscape` ls ­l    $HOME echo   nom de la connexion:   $USER echo   nom de la connexion:   `whoami` echo   nom de la connexion:   $(whoami) echo  'nom de la connexion:   $USER '  ProLibre                                                                    Le shell bash
  • 26. Redirection d'entrée/sortie Flux d'une commande Canal 0 Canal 1 Entrée Commande Sortie Canal 2 Erreur ProLibre                                                   Redirection d'entrée/sortie
  • 27. Gestion des flux de données Entrée Commande Sortie Entrée Commande Sortie Erreur Erreur ProLibre                                                   Redirection d'entrée/sortie
  • 28. Redirection d'une commande Redirection de sortie: ls   ­l   1>   fichier        ou      ls   ­l   >   fichier ls   ­l   2>   /tmp/test Ajout à la fin d'un fichier (concatener): ls   ­l    1>>   fichier  Redirection de l'entrée wc   <   /tmp/test   >   /tmp/test1 ProLibre                                                   Redirection d'entrée/sortie
  • 29. Exercices (1) Déplacez vous dans le répertoire /usr/bin et affichez la liste des fichiers dont le  nom comporte exactement 4 cacractères (2) Affichez la liste des fichiers dont le nom commence par une lettre comprise  entre a et e (3) Affichez la liste des fichiers dont le nom possède la lettre t en deuxième  caractère (4) Utilisez la commande echo pour afficher le message suivant sur le terminal: il fait beau aujourd'hui (5) Créez un fichier de nom info.txt contenant la date et l'heure (6) Visualisez le fichier (7) Envoyez la commande ls dans le fichier info.txt. Que constatez vous ? (8) Refaites l'exercice 5 et ajoutez au contenu le résultat de la commande ls. ProLibre                                                                  Le shell bash
  • 30. Groupes et utilisateurs A qui appartient le fichier que l'on crée? directory  (admin,admin) tux (tux,pingoo)  crée le fichier toto.txt Redirections d'entrée /  sortie BSD:  toto.txt   user:tux  group:admin Linux: toto.txt  user:tux group:pingoo  ProLibre                             Utilisateur propriétaire et groupe propriétaire
  • 31. Droits d'accès des fichiers Droits: [rwx] lecture (r) écriture (w) execution (x) [rwx] utilisateur (u) groupe (g)  [rwx] autre (o) ProLibre                       Autorisation d'accès des fichiers et des répertoires
  • 32. Modifications des droits d'accès La commande: chmod <droits> <fichier(s)> qui u(ser) g(roup) o(ther) Comment =  force les droits +  ajoute les droits ­  retire les droits quoi r(ead) w(rite) x(execute) ProLibre                       Autorisation d'accès des fichiers et des répertoires
  • 33. Modifications des droits d'accès Commandes: Change le owner du fichier chown <user> <fichier(s)> ex: chown billou  /tmp/windows ex: chown billou.gates /tmp/winnt Change le groupe du fichier chgrp <group> <fichier(s)> ex: chgrp gates /tmp/win2000 Change le mask de création des fichiers umask <droits> ex: umask 037 ProLibre                       Autorisation d'accès des fichiers et des répertoires
  • 34. Droits d'accès étendus SUID (s) execute une commande sous l'id du propriétaire SGID (s) execute une commande sous le groupe du propriétaire le répertoire créé appartiendra au groupe du répertoire  principal Sticky Bit (t) présence en mémoire droit de n'effacer des fichiers que si on en est propriétaire  (/tmp) ProLibre                       Autorisation d'accès des fichiers et des répertoires
  • 35. Exercices (1)  Créez un répertoire privé et protégez le contre tout accès des autres  utilisateurs (2) Rendez le répertoire prive accessible en lecture aux utilisateurs membres du  groupe de ce répertoire (3) Quelle valeur du umask utiliser pour que lors d'une création les droits soient: drwxr­x­­­   pour un répertoire ­rw­r­­­­­ pour un fichier (4) Pierre peut­il changer le groupe du fichier qui se trouve dans son répertoire? (5) Quelles informations fournissent les commandes suivantes whoami id (6) Vérifiez si sur votre système, vous pouvez écrire sur la console opérateur  « /dev/console » ProLibre                       Autorisation d'accès des fichiers et des répertoires
  • 36. Exercices Ajouter des utilisateurs le password sera identique:  courslinux  toto1  avec    webmin toto2   avec    drakconf toto3   avec    adduser ProLibre                       Autorisation d'accès des fichiers et des répertoires
  • 37. Le Shell ++ Redirection d'une commande Réunion de canaux n>&m grep   'linux'   /usr/doc/*  >  /tmp/result   2>&1   Redirection des erreurs       grep   'linux'   /usr/doc/*  >  /tmp/result   2> /dev/null ProLibre                                                   Redirection d'entrée/sortie
  • 38. Commandes  alias  unalias  history  c­shell !!  réexecution de la dernière commande !n  réexecution de la commande numéro n !­n réexecution de la nième dernière commande !chaîne réexecution de la dernière commande commençant  par la chaîne !?chaîne réexecution de la dernière commande contenant  la chaîne ProLibre                                                                  Le shell bash
  • 39. Initialisation de l'environnement Cela est dépendant du shell utilisé. Pour le bash shell connexion global  /etc/profile utilisateur .bash_profile     .bash_login    .profile shell de commande .bashrc ProLibre                                                                  Le shell bash
  • 40. Personnalisation du prompt Par défault le prompt fini par le caractère $ (# pour root). Le prompt par défaut:  'sv$'  d Affichage de la date  h  Nom de la machine  n   Saut de ligne  s   Nom du shell  t   Heure  u   Nom de l'utilisateur  w  Répertoire courant  #  Numéro de commande depuis la connexion  !   Numéro de commande (historique) exemple: $  PS1= "[#]­u(h)w: " ProLibre                                                                  Le shell bash
  • 41. Variables d'environnement Les variables d'environnement donnent des informations sur la  session en cours (set)  PATH  USER  HOME  HOST  PWD  SHELL  PS1  DISPLAY  TERM  LANG ProLibre                                                                  Le shell bash
  • 42. Commandes internes  Echo   set ( set ­o / set )  pwd  cd   pushd / popd ProLibre                                                                  Le shell bash
  • 43. Exercices (1) Exécutez la commande cp sans argument et en éliminant les messages  d'erreurs (2) Créez un alias taille qui affiche la taille d'une arborescence. Testez  l'alias sur le répertoire /etc (3) Quelle est la valeur de la variable d'environnement TERM  ProLibre                                                                  Le shell bash
  • 44. Le service d'impression  les commandes de lancement d'impression (job) ● les files d'attentes ● les répertoires de files d'attente ● les processus serveur ● commandes d'administration ProLibre                                                      Le service d'impression
  • 45. Les commandes  lpr commande d'impression  lpq affiche la liste des demandes d'impression  lprm supprime la requête   lpc informations / status des imprimantes exemples: # lpr ­Psp /etc/motd # lpq ­Psp # lprm ­Psp 96 ProLibre                                                      Le service d'impression
  • 46. Installer une imprimante Installer le service d'impression standard sous Linux:   CUPS Gérer depuis le WEB ce service:  http://localhost:631 Configuration via  CUPS ProLibre                                                      Le service d'impression
  • 47. Traitement du contenu des fichiers  cat affiche sur le canal de sortie, des octets lus sur le canal  d'entrée ­ concaténation de fichiers  head affiche les premières lignes d'un fichier  tail affiche les dernières lignes d'un fichier  more affiche des octets lus sur l'entrée standard  wc affiche le nombre de lignes, de mots, de caractères  split division d'un fichier en plusieurs fichiers  sort tri des lignes d'un fichier  grep recherche d'occurence   ProLibre                                           Principales commandes de Linux
  • 48. Traitement du contenu des fichiers    cut  extraction de colonnes ou de champs  diff comparaison de fichiers  comm comparaison ligne à ligne de 2 fichiers triés  uniq rend unique les ligne trié d'un fichier  tr traitement des caractères d'un fichier  sed substitution de caractères  pr mise en page ProLibre                                           Principales commandes de Linux
  • 49. Exercices (1) Affichez la liste des utilisateurs triés par ordre des noms (2) Affichez les attributs du plus gros fichier de votre répertoire (3) Recherchez dans votre répertoire tous les fichiers modifiés dans la journée (4) Affichez uniquement les noms des utilisateurs connectés sur votre système ProLibre                                                                        L'éditeur vi
  • 50. Gestion du temps  date affiche la date  cal affiche le calendrier pour le mois en cours  time temps d'exécution d'une commande  at diffère l'exécution d'une commande  crontab exécution cyclique d'une commande ProLibre                                           Principales commandes de Linux
  • 51. Compression des fichiers ●  gzip,   gunzip,    zcat,   zless,    zgrep exemple: cat   file1   file2   |    gzip   >    foo.gz gzip ­cr IMG > IMG.gz ●  Bzip2,    bunzip2,    bzcat ProLibre                                           Principales commandes de Linux
  • 52. Archivage  La commande standard est : tar Exemples: archive le répertoire /home/robert tar   czvf      robert.tar.gz       /home/robert extrait le contenu de l'archive tar   xzvf      robert.tar.gz tar   xyvf      robert.tar.bz2 liste le contenu de l'archive tar    tzvf     robert.tar.gz ProLibre                                           Principales commandes de Linux
  • 53. Archivage  Installer un logiciel depuis les sources A lire:  ● REAME  ou  readme.txt ● INSTALL Installation standard: ● ./configure ­­help ● Make ● make install   (en tant que root) ProLibre                                           Principales commandes de Linux
  • 54. Archivage  Installation d'un logiciel depuis les sources cherchez sur Internet les sources d'un programme nomé minicom compilez et installez le programme!   ProLibre                                           Principales commandes de Linux
  • 55. Gestion des processus États des processus en cours d'exécution           suspendu      stoppé     zombie ProLibre                                           Principales commandes de Linux
  • 56. Gestion du temps  ps liste les processus en cours   Ctrl z stoppe l'execution du processus en cours  kill envoie un signal à un processus (TERM,  HUP, KILL, INT )  jobs liste les processus en arrière plan  bg l'execution du processus est placé en background  fg relance l'exécution d'un processus stoppé  stty configuration du terminal ProLibre                                           Principales commandes de Linux
  • 57. L'éditeur vi ­ Présentation   l'éditeur par défaut des systèmes Unix   installé sur tous les systèmes (single user)  très utilisé pour l'administration   puissant, configurable et rapide  mais aussi rustique et complexe trois modes de fonctionnement: ● mode saisie ● mode de commande ● mode de commande ligne ● switch entre mode par la touche Esc ProLibre                                                                   L'éditeur   vi
  • 58. Principales commandes i insertion devant le curseur a insertion après la position courante du curseur I insertion en début de ligne courante o création d'une ligne après la ligne courante (saisie) O création d'une ligne avant la ligne courante (saisie)  0 début de la ligne $ fin de la ligne Ctrl F remonter d'un écran Ctrl B descendre d'un écran x supprime le caractère sous le curseur X supprime le caractère devant le curseur rc remplace le caractère sous le curseur par « c » dd supprime la ligne courante D supprime le reste de la ligne courante ProLibre                                                                   L'éditeur   vi
  • 59. Principales commandes ● cw remplacement du mot actif ● c$ remplacement jusquà la fin de la ligne ● /xy recherche de la chaîne « xy » vers la fin du fichier ● ?xy recherche de la chaîne « xy » vers le début du  fichier ● :q quitte l'éditeur (:q!)  ● :x enregistre et quitte ● :w  file enregistre dans un fichier « file » ● :f affiche le nom du fichier et le numéro de la ligne ProLibre                                                                   L'éditeur   vi
  • 60. Alternatives à vi  ● L'éditeur pico ou nano  aussi rapide, mode pseudo graphique. Mais n'est pas toujours installé  en standard (p.e. sur une debian) et dans le cas d'un boot en single  user pico n'est pas disponible (usr/bin/pico). ● L'éditeur emacs, xemacs ultra puissant (écrit en Lisp par R. Stallman), configurable à souhait,  ne fait pas le café! plus lourd que les autres (on peut lire le mail, les  news, web, calendrier, cvs, jeux, etc..). N'est pas disponible dans le  cas d'un boot en single­user. Très utilisé dans la programmation.  ●  L'universel dans le monde Unix: cat et ed  ProLibre                                                          Les alternatives à vi
  • 61. Exercices (1) Exécutez la commande ps et donnez la signification de chacune des colonnes (2) Créez un script  bonjour  dans un fichier en utilisant l'éditeur vi  while true do echo bonjour sleep 30 done (3) Lancer ce script en arrière plan. Affichez son PID  (4) Tuez ce processus (5) Créez un fichier contenant la liste des utilisateurs connectés et ajoutez ensuite avec  l'éditeur vi la phrase « liste des utilisateurs connectés » (6) Ajoutez une série d'étoile à la fin du fichier (7) Sauvegardez le fichier sous le nom essai2.txt ProLibre                                                   gestion des processus
  • 62. Les expressions régulières ProLibre                                                   Les expressions régulières
  • 63. Les expressions régulières Expression régulière = reconnaissance d'expression Caractères spéciaux:   Méta­caractères  Facteurs d'occurence Les méta­caractères: . Caractère quelconque sauf fin de ligne.  $ Fin de ligne.  ^  Début de ligne, sauf dans [], négation [] Un des caractères contenus dans les crochets. ­ Intervalle de caractères dans []  ProLibre                                                   Les expressions régulières
  • 64. Les expressions régulières Les facteurs d'occurences: ? Expression régulière précédente optionnelle  * Répétition 0, 1 ou plusieurs fois  + Répétition 1 ou plusieurs fois  {n} Répétition de exactement n fois {n,} Répétition de au moins n fois {n,m} Répétition de au moins n mais au plus m fois | Alternative  c  Suppression de la spécificité du caractère 'c'  ()  Groupement d'expressions ProLibre                                                   Les expressions régulières
  • 65. Exemples   ab(cd)*ef abcdef,    abcdcdef,    abcdefg, abef  ab[c|d]ef abcef,      abdef  ab[^a­z]ef  ab1ef,      abCef  ^From: .*.com$  From: robert@prolibre.com  grep  ­i '^ro*bash$'    /etc/passwd grep     '05/Feb[^:]*:23.*scripts.*+dir'     /var/log/apache/access.log 62.195.62.11 ­ ­ [05/Feb/2002:23:30:50 +0100] "GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 312 "­" "­" 62.195.62.11 ­ ­ [05/Feb/2002:23:30:50 +0100] "GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 312 "­" "­" 62.195.62.11 ­ ­ [05/Feb/2002:23:30:50 +0100] "GET /scripts/..%%35%63../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 400 296 "­" "­" 62.195.62.11 ­ ­ [05/Feb/2002:23:30:51 +0100] "GET /scripts/..%%35c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 400 296 "­" "­" ProLibre                                                   Les expressions régulières
  • 66. Les expressions régulières ProLibre                                                   Les expressions régulières
  • 67. Manipulation de fichiers et de répertoires Recherche de fichiers ou de répertoire find <répertoire de recherche> <options> <actions> options: ­type nature de l'objet (f=fichier, d=directory,l=lien) ­name nom de l'objet ­size taille de l'objet ­perm permission de l'objet ­atime date de création ­ctime date de modification des attributs ­mtimedate de dernière modification actions ­print affiche le résultat de la commande ­exec effectue une commande Unix sur les fichiers ­ok = exec mais demande confirmation  ProLibre                                  Manipulation de fichiers et de répertoires
  • 68. Manipulation de fichiers et de répertoires Exemple de commande find Pour afficher tous les fichiers se terminant par   ''.c'' :   find   .   ­name   "*.c"   ­print Pour afficher tous les répertoires dont le nom se termine par ''s'' :  find   .   ­type d   ­name   ''*s''   ­print Pour éxecuter la commande ls ­l pour chaque fichier trouvé :   find  .   ­type f   ­exec   ls   ­l   {}    ;      et pour demander confirmation avant chaque action :  find   .   ­type f   ­ok    rm {}   ; Pour associer plusieurs critères avec ­a pour et, ­o pour ou, ! pour négation. find   .   !   ­user root   ­print ProLibre                                  Manipulation de fichiers et de répertoires
  • 69. Manipulation de fichiers et de répertoires Exemple de commande find Affiche tous les fichiers se terminant par  ''.tex'' ou ''.dvi''   find   .    ( ­name   '*.tex'   ­o   ­name   '*.dvi'   )    ­print Copier tous les fichiers finissant par  .htm(l) vers le même nom auquel on  ajoute .bak:    find   .   ­name   "*.htm*"   ­exec   cp   {}   {}.bak   ;  Comment effacer tous les fichier *.tmp dans un répertoire et ses sous­ répertoires ?    find   .   ­name   "*.tmp"   ­exec   rm   ­f {}   ;  Comment effacer un fichier avec un nom impossible à supprimer ?    find   .   ­inum   12903   ­exec   rm   ­f {}    ;  ProLibre                                  Manipulation de fichiers et de répertoires
  • 70. Exercices (1) Affichez la liste des utilisateurs défini par l'UID 0 (2) Affichez les attributs de tous vos sous répertoires (3) Recherchez tous les fichiers qui ont plus d'un lien dans /usr/bin (4) Supprimez tous vos fichiers de taille nulle avec une double demande de  confirmation   ProLibre                                                   Les expressions régulières
  • 71. Self­Help Le "self­help" ou "s'aider soi­même" dans le communauté Linux  peut se résumer par deux pratiques: RTFM et l'entraide. Comment réagir face à un problème avec Linux?  Ça ne marche pas, donc: ● je lance une poursuite contre Linux S.A.  ● je demande à quelqu'un de m'aider.  ● je regarde les documentations d'abord pour voir si je peux régler le  problème.  ● je vais résoudre ce problème ou mourir dans l'effort.  ● j'engage un consultant.                   Morale: toutes ces réponses sont correctes selon les  circonstances, sauf la première. (Duh.) ProLibre                                                                 L'aide en ligne
  • 72. Pages de manuels Conseil: Si vous avez de la place sur votre système, n'hésitez pas à  installer toute la documentation! Les pages "man" estimation du nombre de pages man dans une Mandrake :            # locate   /man/   |   wc   ­l Les pages man sont: ● disponibles en français (et d'autres langues), mais les versions  anglaises sont les plus à jour.  ● résumées, manquent souvent d'exemples, mais sont universelles.  ProLibre                                                                 L'aide en ligne
  • 73. Pages de manuels Les pages de manuels sont divisées en sections.  1   Executable programs or shell commands 2   System calls (functions provided by the kernel) 3   Library calls (functions within system libraries) 4   Special files (usually found in /dev) 5   File formats and conventions eg /etc/passwd 6   Games 7   Macro packages and conventions eg man(7) 8   System administration commands (usually only for root) 9   Kernel routines [Non standard] n   new [obsolete] l    local [obsolete] p   public [obsolete] o   old [obsolete] ProLibre                                                                 L'aide en ligne
  • 74. La commande help help, l'aide en­ligne du shell bash(1) exemple:                 # help   echo Les commandes Unix ont souvent l'argument ­­help et ­­version exemple # sed   ­­help ProLibre                                                                 L'aide en ligne
  • 75. Les HOWTOs ● descriptions des tâches typiques, gérés par le Linux  Documentation Project (LDP) . ● écrits en SGML (DTD LinuxDoc ou DocBook) et formatés en  texte, HTML, LaTeX. ● on peut retrouver plus facilement les versions textes par grep(1). ● disponibles en plusieurs langues.  ● voir aussi les sous­répertoires mini/ et unmaintained/ . ● voir /usr/doc/howto  ou   /usr/share/doc/ ou http://www.linuxdoc.org/HOWTO/HOWTO­INDEX­3.html . ● probablement les documentations les plus utiles pour savoir  comment faire quelque chose de pratique. ProLibre                                                                 L'aide en ligne
  • 76. Les FAQs FAQ == Frequently Asked Questions               pas d'organisation centrale, mais le LDP en produit beaucoup  souvent utile, résume l'ensemble des problèmes des utilisateurs. centralise les questions et les réponses synthétisées. http://www.linux­gull.ch/liens.html ProLibre                                                                 L'aide en ligne
  • 77. /usr/doc et /usr/share/doc  Contient tous les READMEs et autres documentations de tous les  packages d'un système Linux standard.               contient d'autres documentations:                 # ls   /usr/share/doc                Changes     faq         mico        rfc         support                    LDP         howto       packages  LDP/  ­ les Guides du Linux Documentation Project  packages/ ­ documentations de chaque logiciels, sauf les pages man  rfc/  ­ les Requests For Comments (standards de l'Internet)  regarder dans /usr/share/doc pour les tutoriels et les documentations  supplémentaires des packages (READMEs, etc.) ProLibre                                                                 L'aide en ligne
  • 78. Documentation sur Internet Le Linux Documentation Project (LDP ­ www.linuxdoc.org)  est le regroupement de Guides, HOWTOs, FAQs, pages man, Linux  Gazette, traductions.  miroirs en Suisse:                     http://sunsite.cnlab­switch.ch/LDP/                     http://zaphod.ethz.ch/linux/LDP/    les Guides:                     Installation and Getting Started Guide                     The Linux Kernel                     The Linux Kernel Hackers' Guide                     The Linux Network Administrators' Guide                     The Linux Programmer's Guide                     The Linux System Administrators' Guide                     The Linux Users' Guide  ProLibre                                                                 L'aide en ligne
  • 79. USENET Le débit d'articles dans USENET est trop grand pour lire beaucoup de  newsgroups, donc il vaut mieux "subscriber" à quelques­uns  seulement, et chercher dans les autres avec un moteur de recherche  (p.ex. groups.google.com ). Il y a beaucoup de newsgroups qui s'occupent de Linux.  Les différents types: ● Les généraux ● Les modérés ● Les spécifiques à une distribution ­ un hardware ­ un outil ­ une langue ● Les annonces ● Les commerciaux ● ProLibre                                                                 L'aide en ligne
  • 80. Les moteurs de recherche Google, pages indexées par mot­clef et ordonnées par nombre de  liens vers ces pages. http://www.google.com/linux Freshmeat, les nouveautés de software, recherche par mot­clef  http://www.freshmeat.net Tuxfinder, packages spécifiques (.tar.gz, .rpm, .deb, etc.)   http://www.tuxfinder.com  les sites des distributions, Debian, SuSE, Redhat, Slackware, etc.,  bons pour trouver des packages spécifiques et les mises à jour de  chaque distribution  Voir aussi la liste du GULL à http://www.linux­gull.ch/liens.html. ProLibre                                                                 L'aide en ligne
  • 81. Les LUGs Les LUGs sont une bonne source d'appui ­   liens ­ news ­ mailing­lists ­ manifestations. Les utilisateurs de Linux francophones sont soutenu par L'Association  Francophone des Utilisateurs de Linux et des Logiciels Libres  (AFUL)  http://www.aful.org En Suisse: LUGS  ­ Suisse allemand ­  http://www.lugs.ch Groupe romand des Utilisateurs de Linux et de Logiciels libres  (GULL) à http://www.linux­gull.ch mailing list du GULL: linux­leman  ­   linux­leman­admin ­  linux­leman­annonces ProLibre                                                                 L'aide en ligne
  • 82. Comment poser une question? Quelques rêgles: ● récolter toutes les informations nécessaires (version du kernel,  distribution et version, version exacte du programme posant  problème, nom de la carte, détails sur le chip de la carte (nom, etc), et  éventuellement le contenu édité de /proc/pci si c'est une carte PCI)  ●  consulter les bases de données de support et les archives  ●  consulter une des FAQs Linux ● si après toutes ces étapes, vous n'avez pas trouvé de réponse valable,  postez votre question, en ajoutant p.ex. une liste des démarches  effectuées ou des points de la documentation qui sont peu clairs pour  vous.  ProLibre                                                                 L'aide en ligne
  • 83. Trouver une commande  Marche à suivre: (1)  man  ­k   gif (2)  locate   2gif (3)  man   convert (4)  convert   ­­help (5)  grep ou zgrep dans les répertoires de documentations (6)  chercher sur internet http://www.google.com/linux ProLibre                                                                  L'aide en ligne
  • 84. Exemples (1) Les fonts de Netscape sont illisibles. Comment les changer? 1. Regardez dans les FAQs et HOWTOs.  2. # cd /usr/doc/howto/en ou /usr/share/doc/HOWTO/HTML/{en,fr} 3. # ls  4. Hmm...Font­HOWTO.gz peut­être intéressante...               # zgrep ­1 Netscape Font­HOWTO.gz 5. Ca a l'air d'être intéressant, donc je lis en détail et j'apprends non  seulement comment régler Netscape, mais comment on peut aussi  utiliser les fonts True­Type sous Linux(!).   6. Je fais le changement dans mon ~/.Xdefaults et je fais une petite  note du changement dans mon fichier ~/notes (au cas où...).   Morale: Peut­être que vous avez la réponse à votre question qui est  déjà stockée sur votre disque dur. Regardez avec votre fidèle ami  grep(1) et RTFM. ProLibre                                                                 L'aide en ligne
  • 85. Exemples (2) Comment lire un fichier .DVF? caméscope numérique Panasonic NV­EX3EG avec un soft qui stocke  ces images dans un format .DVF (Digital Video Frame?). Comment  les lire sous Linux? 1. Lire les documentations du software. Aucun indice de ce que DVF  veut dire. Possible que ce soit propriétaire. :­(  2. Peut­être qu'il y a un utilitaire DVF , un pilote DVF, ou des images  DVF déjà sur mon système GNU/Linux?  # locate dvf ­ locate DVF rien  3. Essayer les pages man: $ man ­k dvf ­ rien  4. Chercher sous /usr/doc:  # locate /usr/doc | xargs zgrep ­i dvf  ­ rien d'intéressant  5. Chercher sur www.google.com/linux "dvf" ­ rien d'intéressant  ProLibre                                                                 L'aide en ligne
  • 86. Exemples (2)    6.Chercher sur groups.google.com pour "Linux" ET "dvf". ­ rien   7.Chercher sur Freshmeat.net pour "dvf" ­  rien   8.Peut­être les gens qui font de la vidéo numérique savent ce que  c'est .DVF? Chercher sur Freshmeat.net pour IEEE1394. Trouvé le  projet "IEEE 1394  for Linux" à http://linux1394.sourceforge.net   9.Chercher dans les archives du projet LINUX1394 pour "dvf" ­ rien   10.Vu une référence dans les archives. Il y a un site  www.DVCentral.org. Chercher dans leurs archives ­ rien   11.Souscrire à DV­L (http://www.DVCentral.org/thelist.html et  poster un message ­ rien   12.Attendre une réponse et continuer à chercher des gens qui font de  la DV sous Linux.  Morale: Des fois, la réponse n'est pas immédiate. ProLibre                                                                 L'aide en ligne
  • 87. Exercices   1. Trouver l'information qui vous permettra de piloter une cafetière  avec un ordinateur sous Linux?  ProLibre                                                                 L'aide en ligne
  • 88. "The X Window System" Un systèmes de fenêtrage =  découper un écran physique en plusieurs  zones logiques, appelées fenêtres.  L'architecture générale du système de type Client­Serveur.  ProLibre                                                                            X11
  • 89. "The X Window System" ● Le client X, est une application qui a besoin d'afficher des  informations sur un écran.  ● Le serveur X est un programme, exécuté sur une machine ("machine  hôte") connectée habituellement à un écran, un clavier et une souris. Il offre des services d'affichage aux clients qui en ont besoin. Le serveur X n'offre que des services de très bas niveau. D'autres  systèmes tels que MS­Windows permettent de créer d'un seul appel  un bouton ou un menu. Le serveur X, lui, ne sait qu'ouvrir et fermer  des fenêtres, sans décoration.  On ajoute alors un Window Manager qui sera chargé de  l'environnement graphique: gnome, kde, windowmaker, xfce etc... ProLibre                                                                            X11
  • 90. "The X Window System" On peut afficher une application sur un autre serveur en utilisant  l'option display. Par exemple :  xclock   ­display   murmure:0    & On peut aussi définir la variable d'environnement: DISPLAY. Par  exemple:  export    DISPLAY=murmure:0 Error:Can't open display: murmure:0 sur la machine murmure, il faut autoriser l'accès à la machine locale xhost     +souffle On peut tuer le serveur X par la combinaison de touche Ctrl­Alt­Backspace   ProLibre                                                                            X11
  • 91. Exercices ●  Afficher le programme  xeyes sur l'ordinateur voisin. ProLibre                                                                            X11
  • 92. Quelques notions de réseau (1) Adresse IP: exemple:  192.168.1.2 Netmask:  exemple: 255.255.255.0 DNS ­ Domain name server exemple: 192.168.1.1 Gateway: exemple: 192.168.1.1 DHCP: les informations réseau sont assignés dynamiquement par  un serveur ­ (provider Internet lors d'une connexion par modem) Informations sur le hostname  hostname ­i   hostname ­d getent hosts /sbin/ifconfig ­a /sbin/route ­n ProLibre                                                              beaba du réseau
  • 93. Quelques notions de réseau (2)  Quelques fichiers importants /etc/hosts /etc/resolv.conf /etc/network/*  ou  /etc/sysconfig/* /etc/init.d/* Quelques programmes importants drakconf linuxconf yast2 webmin  Connexion à distance rsh, telnet, ssh ftp, ncftp, scp ProLibre                                                              beaba du réseau
  • 94. http://www.prolibre.com