1 / 44

Projet informatique 2A Séances de soutien

Projet informatique 2A Séances de soutien. Ces transparents s’inspirent largement des cours 1A PET (M. Desvignes) et PMP (R Bressoux, E Moisan, N Castagne) Ainsi que des cours de Guillaume Allègre (silecs.info) Merci à eux. Planning prévisionnel. Séance I. L’environnement LINUX

crete
Download Presentation

Projet informatique 2A Séances de soutien

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. Projet informatique 2A Séances de soutien Ces transparents s’inspirent largement des cours 1A PET (M. Desvignes) et PMP (R Bressoux, E Moisan, N Castagne) Ainsi que des cours de Guillaume Allègre (silecs.info) Merci à eux

  2. Planning prévisionnel Séance I. L’environnement LINUX Premier programme de l'année scolaire Compilation et exécution Types de base Rappel sur les E/S, Structures de contrôle, fonctions Séance II. Compilation séparée et Makefile Types structurés, tableaux et chaînes de caractères Entrées sorties fichier Séance III Allocation dynamique Types abstraits ; exemple des listes Récursivité Séance IV Débogueur (DDD, Valgrind) Arbres et graphes

  3. L’environnement informatique à Phelma Matériel et environnement Le minimum en Unix et GNU/Linux

  4. Matériel et environnement

  5. Matériel et environnement Phelma Polygone : 6 salles de TDs informatisées (140 PCs)‏ 2 salles libre-service (70 PCs, 2 imprimantes)‏ Phelma Minatec : 4 salles de TDs informatisées (100 PCs)‏ 2 salles libre-service (52 PCs, 3 imprimantes)‏ Phelma campus : 2 salles de TDs informatisées (50 PCs)‏ 2 salles libre-service (40 PCs, 2 imprimantes)‏ Quotas espace disque : 150 Mo pour le stockage des emails. 200 Mo dans votre répertoire personnel. Quotas d’impression : 50 pages recto/verso par mois cumulables. Non limité en salle de TDs.

  6. Matériel et environnement Première connection sous GNU/Linux GNU/Linux = GNU is Not UniX un système d'exploitation libre, multi-tâche, multi-plateformes, multi-utilisateurs. http://www.debian.org Distributions : http://www.fr.redhat.com http://www.centos.org CentOS 5 Interfaces graphiques conviviales : GNOME KDE Afterstep …

  7. Matériel et environnement ! Première connection sous GNU/Linux • Compte personnel Identifiant (username) : ______ Mot de passe (password) : ______ À changer immédiatement

  8. Matériel et environnement Première connection sous GNU/Linux • Le Bureau

  9. Matériel et environnement Première connection sous GNU/Linux • Quelques applications utiles Outils généraux : • OpenOffice : Outil bureautique complet, gratuit et compatible avec Microsoft Office • Firefox : navigateur Web gratuit • Evince : « document viewer » (fichiers pdf, etc.) • Gimp : éditeur d’images • Outils essentiels pour le développement • Editeurs de code, en particulier Gedit • le Terminal : accès à tout l’ordinateur en « ligne de commande » Toutes les applications peuvent être lancées soient depuis le bureau (menu), soit depuis un Terminal (suite du cours)

  10. Matériel et environnement ! Liens Internet utiles • avec un navigateur internet (par exemple Firefox) À faire immédiatement ! http://login.minatec.grenoble-inp.fr - Pour changer son mot de passe (non modifiable directement depuis les machines)‏. http://webmail.minatec.grenoble-inp.fr - Site mails pour consulter sa messagerie hors de Phelma. http://phelma.grenoble-inp.fr - Site web de l’école. http://intranet.phelma.fr - Intranet de l’école accessible avec votre compte personnel et mot de passe. http://prism.minatec.inpg.fr - Site d’informations et de support du service informatique (Webmail, Wifi…).‏ http://tdinfo.phelma.grenoble-inp.fr/2Aproj/ - Site du Projet Informatique 2A SEI / SICOM http://tdinfo.phelma.grenoble-inp.fr/ - Cours C 1ere année PET : bonne référence !

  11. Matériel et environnement ! Messagerie et Webmail Adresse mail : Prenom.Nom@phelma.grenoble-inp.fr - Consultation locale sur Phelma en utilisant le logiciel Mozilla. • Consultation avec un navigateur internet (par exemple Firefox) : Webmail : https://webmail.minatec.grenoble-inp.fr help@phelma.grenoble-inp.fr Adresse mail à utiliser en cas de problème informatique  envoyer un message avec une description précise de la situation.

  12. Le minimum en Unix / Linux Répertoires et fichiers L’espace de stockage du disque dur est organisé sous la forme de Répertoires et de Fichiers. Répertoires= dossier contenant des fichiers et d’autres répertoires (directory en anglais) Fichiers= fichier texte, image, exécutable (applications) .... Les répertoires et fichiers sont organisés sous la forme d’une arborescence à partir du répertoire racine / (cf. diapo suivante).

  13. Différences avec Windows I Pas de notion de lecteur C: D: etc. I Tout est dans une même arborescence, de racine / I Les répertoires sont séparés par des / et non des \ I Existence de liens symboliques ln -s fichier lien Sous windows, les liens sont de simples fichiers .link I Des permissions explicites

  14. / = racine /stk /tmp ... /users /bin /lib ... phelma ens ... ... phelma2011 phelma2010 ... toto titi ... info1 info2 truc.txt /users/phelma/phelma2011/toto/info1/ /users/phelma/phelma2011/toto/info2/ /users/phelma/phelma2011/toto/truc.txt Le minimum en Unix / Linux Répertoires et fichiers

  15. ! Le minimum en Unix / Linux Répertoires et fichiers • Dénomination des fichiers : nomFichier.ext Extension ext nomFichier Utiliser leslettres de l’alphabet, les chiffres, le tiret - et le souligné _ Pensez à mettre une extensionsignificative à vos fichiers : .txt = fichier de texte .c = fichier source en langage C .h = fichier en tête en langage C .exe (ou rien) = fichier exécutable .doc = fichier Word .odg = fichier OpenOffice .tar .tar.gz .tgz .zip : archives majuscules et minuscules non-équivalentes sous Unix. Ne pas utiliserd’espace, d’accent, de signes de ponctuation, d’accolades ou de signes tels que @, $, %, &, etc … Utilisez des noms significatifs.

  16. Le minimum en Unix / Linux Le Terminal • Fonctions du terminal Tout faire avec l’ordinateur à l’aide de commandes textuellesexprimées dans un langage (le langage « Shell ») Naviguer dans les fichiers, créer un fichier, lancer un programme, un logiciel, … Outil essentiel de tout utilisateur décent de Linux (et notamment tout programmeur) • Accès au terminal : - menu déroulant : Applications > Outils de système > Terminal - bouton droit de la souris : Ouvrir un terminal en tapant la commande Unix pwd (cf. ci après), on obtient le chemin du répertoire courant : /users/phelma/phelma2010/toto • Exemple :

  17. Ligne de commande vs interface graphique Inconvénients de la ligne de commande apprentissage plus long efficacité moindre (utilisateur débutant) mémorisation nécessaire (partiellement) domaine d'application limité (mais pas tant que ça...) Avantages de la ligne de commande automatisation aisée efficacité (rapidité) supérieure (utilisateur aguerri) ressources négligeables (CPU, réseau...) expressivité plus forte (options) modularité et extensibilité (une tâche, un outil) compréhension et contrôle des actions G.

  18. Découverte du shell Le prompt (invite de commandes) I utilisateur courant I nom de machine I répertoire courant I $ ou # : terminateur I ... configurable à l'extrême I un curseur ! G

  19. Découverte du shell - quelques commandes id Qui suis-je ? pwd Où suis-je ? uname -a À qui ai-je l'honneur ? lsb_release -a Mais encore ? ls Liste les fichiers cd Changement du répertoire courant man Page de manuel d'une commande cat Affichage du contenu d'un fichier

  20. Commandes : syntaxe générale Syntaxe : commande [options] [- -] [paramètres] Exemples : I ls --help I ls -a I ls --all I ls -al I ls -l .bashrc I ls -w 60 I ls -w60 I ls --width=60 Remarques : quelques exceptions I find . -name '*.tex' -print I dd if=/dev/hda1 of=hda.img bs=512 G.

  21. Commandes internes et externes Commandes d'identification I which : commandes externes (fichiers) I type (-a) : commandes connues du shell I whereis : binaire et page de man d'une commande Les principaux types de commandes I commande externe (fichier exécutable) - hashed I commande interne ou primitive shell (builtin) I mot-clé du shell, ex. if, for I Exo : déterminer le type des commandes suivantes cd, cp, ls, which, type, echo

  22. Documentation - formats et logiciels aide en ligne de commande ls --help I aide de bash : help (commandes internes) I pages de manuel : man I info : la documentation GNU (voir aussi pinfo, tkinfo) I et encore : des pages .html, des fichiers README, .chm... voir /usr/share/doc/ I navigateurs d'aide (Gnome, KDE...) : interne, man, info...

  23. Documentation - manpages I man ls, man man I Neuf sections 1. commandes util. 4. périphériques 7. conventions 2. appels noyau (C) 5. fichiers conf. 8. commandes admin. 3. appels bibli. (C) 6. jeux 9. routines noyau man (1) man, man 7 man I Parties génériques : Nom, Synopsis, Description, Auteurs, Voir aussi... Pager less intégré : recherche : /motif, n, N, . . . quitter : q G.

  24. Gestion des fichiers et répertoires Commandes courantes I informatives : ls, cat I modificatrices : touch, cp, mv, rm I répertoires (informatives) : pwd, cd, du, tree I répertoires (modificatrices) : mkdir, rmdir Spécificités Unix I infos détaillées : stat I permissions : chmod, chown,chgrp I liens : ln (-s), readlink

  25. Récapitulatif : chemins relatifs et absolus I Chemins absolus : exemples I ls /home/toto/Linux I ls ~toto/Linux I ls ~/Linux I Chemins relatifs : exemples I ls Linux I ls ./Linux I ls ../AutreRepertoire

  26. Chemin relatif et absolu "chemin absolucommence par « / » , se lit depuis la racine. Exemple : /users/phelma/phelma2012/toto/info1/ désigne le répertoire info1 de l’étudiant toto, arrivé en 2012 chemin relatif, ne commence pas par « / » se lit à partir du « répertoire courant » dans lequel on est. Exemples : on suppose que le « répertoire courant » est /users/phelma/phelma2012 titi désigne le répertoire /users/phelma/phelma2010/titi toto/truc.txt désigne le fichier /users/phelma/phelma2011/toto/info1/truc.txt <un point>désigne le répertoire courant /users/phelma/phelma2010 <deux points> désigne le répertoire “du dessus” /users/phelma désigne le répertoire /users/phelma/phelma2010 ••/ •/ ••/ ••/phelma2010

  27. Le minimum en Unix / Linux Commandes de base – suite : cd ..: remonter d ’un cran dans l ’arborescence cd ../..: remonter de deux crans dans l ’arborescence cd ./nomRep: descendre dans nomRep depuis le répertoire courant cd /chemin:se positionner dans chemin depuis la racine (chemin absolu) cd ~: retourner directement dans son répertoire principal Impression de fichiers texte lp –d nomImprimante nomFichier.ext

  28. Session utilisateur Comptes utilisateurs : I session : login/mot de passe (username/password) I homedir : répertoire personnel I permissions d'accès aux ressources (fichiers, processus) : I utilisateur I groupe I autres Un compte unique d'administrateur (super-utilisateur) : root Des comptes services I pour les tâches système : mail, impressions, . . . I des droits restreints (par rapport à root) I sécurité accrue en cas de bug ou compromission

  29. Permissions sur les entrées de répertoires Trois cibles de permissions I u=user : utilisateur propriétaire I g=group : groupe propriétaire I o=other : tous les autres I (a=all : tout le monde) Trois types de droits sur fichier sur répertoire r=read lecture listage w=write écriture ajout/suppression chier x=exec exécution traversée X=exec conditionnelle traversée G.

  30. Gestion des permissions ls -l   file.txt - rw- r- - r- -    1 toto   users    2736 Sep 16 16:10 file.txt ( r = read , w = write , x = exécuter )‏ propriétaire (u) groupe (g) autres (o) tous (a)‏ pour modifier ces permissions : chmod [ugoa] [+-] [rwx] chmod a+w   file.txt ls -l   file.txt -rw-rw-rw-    1 toto    users    2736 Sep 16 16:14 file.txt

  31. Exo Session utilisateur Connectez vous sur un terminal de votre voisin : su monlogin Essayez de créer un fichier sur le home du voisin : touch ~sonlogin/bidon Créez un répertoire partage sur votre home et modifier les droits : mkdir ~/partage chmod a+rw ~/partage Essayer maintenant de créer un fichier dans le répertoire partage de votre voisin

  32. Globbing (expansion des noms de fichiers) But Ne pas avoir à taper le nom de tous les fichiers en argument. Exemple ls *.rc Caractères spéciaux I * Tout I ? Un caractère quelconque I [a-z] Un caractère parmi ceux listés Protections contre l'interprétation par le shell I ". . . " Protège partiellement . . . de l'interprétation par le shell I '. . .' Aucune interprétation de . . . I \. . . Aucune interprétation du caractère suivant

  33. Exo Globbing - listez tous les fichiers commençant par « . » dans votre home Dans votre répertoire courant, créez en une commande les fichiers suivants: annee1 Annee2 annee4 annee45 annee41 annee510 annee_saucisse banane Créer le répertoire Year dans votre répertoire courant, en une commande déplacez les fichiers précédemment créés dans le répertoire Year. Lister tous les fichiers se terminant par 5 commençant par annee4 commençant par annee4 et de 7 lettres maximum commençant par annee avec aucun chiffre numérique contenant la chaîne ana commençant par a ou A Copier les fichiers dont l'avant dernier caractère est un 4 ou 1 dans le répertoire /tmp en une seule commande.

  34. Recap Commandes de base du terminal Toutes ces commandes sont à taper dans un terminal. Syntaxe des commandes Unix commande –options arguments Commandes de base : pwd donne le répertoire courant (« Print Working Directory ») cd changer de répertoire courant (« Change Directory ») ls listing des fichiers et répertoires du répertoire courant (« list ») rm détruire un fichier (« remove ») mv déplacer ou renommer un fichier (« move ») cp copier un fichier (« copy ») mkdir créer un répertoire (« Make Directory ») rmdir détruire un répertoire (« Remove Directory ») tar Créer / extraire une archive .tar ou .tar.gz ou .tgz zip Créer une archive .zip unzip Extraire une archive .zip

  35. I.2. Le minimum en Unix / Linux I.2.2. Commande de base du terminal Astuces dans le Terminal Complétion automatique Utilisez la « complétion automatique » avec la touche tabulation ! Le terminal ajoute tout seul le reste des commandes et des chemins ! Historique Les anciennes commandes sont accessibles avec la flèche « haut » Également avec la commande history Copier / coller Le copier se fait automatiquement via une sélection du texte (clic gauche)‏ Le coller se fait grâce au bouton du milieu de la souris Aide en ligne Des détails sur une commande ? Utilisez man <command> !

  36. I.2. Le minimum en Unix / Linux I.2.2. Commande de base du terminal Commandes de base – exemples : ls -l: liste détaillée des fichiers et répertoires du rep courant ; ls -l fich.ext : détails sur le fichier fich.ext ; ls *.c: donne la liste des fichiers .c ; ls ~castagnn: liste des fichiers à la racine du compte de l’utilisateur castagnn more fich.ext: donne la liste des fichiers .c ; mkdir nomRep: créer un répertoire nomRep ; rmdir nomRep:détruire le répertoire nomRep(si vide)‏. rm nomFich.ext: détruit nomFichier.ext définitivement. mv chemin1/nom1.ext chemin1/nom2.ext : déplace et renomme un fichier ; mv chemin1/*.c chemin2/. : déplace tous les fichiers .c. cp : copie de fichiers

  37. Redirections - canaux 103.4 Le shell définit 3 canaux STDIN (0) entrée standard - clavier par défaut STDOUT (1) sortie standard - écran (terminal) par défaut STDERR (2) sortie d'erreur - écran (terminal) par défaut Redirection ls -1 > liste.txt La sortie du programme ls est redirigée vers un fichier. Pour ajouter au fichier (sans écraser l'ancien contenu) : ls -1 >> liste.txt 2> redirection de la sortie d'erreur &> redirection des deux sorties < redirection d'entrée, ex. cat < liste.txt G.

  38. Pipes et filtres ls -1 | wc sortie de ls canalisée vers l'entrée du filtre wc. find /etc |& wc StdOut et StdErr fusionnées puis canalisées Exemples 1. ls ~/ >> liste.txt 1. cat taper du texte puis Ctrl+D 2. cat liste.txt | wc -l 3. wc -l liste.txt 4. wc -l < liste.txt 5. cat < liste.txt | wc -l 6. wc -l liste.txt l2.txt l3.txt 7. cat liste.txt l2.txt l3.txt | wc -l

  39. Exo Pipes et filtres Copiez le fichier /etc/passwd dans votre home en ne conservant que les quatre premières colonnes Utilisez cut et cat pour cela Triez le fichier sur le nom de login puis sur l'UID Utilisez sort Calculez le nombre de login Avec head et tail affichez les 5 premières puis 5 dernières lignes du fichier. Conserver ses résultats dans un autre fichier.

  40. Pipes et filtres ls -1 | wc sortie de ls canalisée vers l'entrée du filtre wc. find /etc |& wc StdOut et StdErr fusionnées puis canalisées Exemples 1. ls ~/ >> liste.txt 1. cat taper du texte puis Ctrl+D 2. cat liste.txt | wc -l 3. wc -l liste.txt 4. wc -l < liste.txt 5. cat < liste.txt | wc -l 6. wc -l liste.txt l2.txt l3.txt 7. cat liste.txt l2.txt l3.txt | wc -l

  41. Processus et tâches Gestion des tâches (jobs) commande & : lancer en arrière-plan Ctrl-Z : met en pause Ctrl-C : arrête bg : redémarre en arrière-plan le processus en pause fg : remet en avant-plan Affichage des processus I top : affiche les ressources consommées par les processus I ps : Process Show I pstree : arbre des processus 􀀀! init

  42. Contrôle des processus et signaux Rechercher un processus ps : rapport sur les processus en cours Arrêter un processus kill [options] PID kill -TERM 1955 killall commande killall gimp pkill [-signal] Les principaux signaux I SIGTERM (15) : terminer normalement (proprement) I SIGKILL (9) : terminaison forcée (non ignoré) I SIGSTOP (19) : arrêt temporaire (pause) (non ignoré) I SIGCONT (18) : reprise d'un processus arrêté I SIGINT (2) : terminaison interactive (Ctrl-C) I SIGTSTP (20) : arrêt temporaire interactif (Ctrl-Z) Exo : Lancer ls -R / dans un terminal et stoppez le à partir d'un autre terminal

  43. Exo : Processus et tâches Démarrez gedit et mettez le en tâche de fond Avec la commande top, trouvez le processus gedit et terminez le Démarrez gedit directement en tâche de fond avec « & ». remettez le en foreground et stoppez le avec Ctrl+C Lancez ls -R / dans un terminal. Dans un autre terminal trouver le processus avec la commande PS et stoppez le, redemarrez le, puis terminez le.

  44. Exemple d’utilisation. A vous de jouer ! $ pwd . . . . . . . . . . . . . . . . . . . . . $ man pwd . . . . . . . . . . . . . . . . . . . . . $ cd Desktop . . . . . . . . . . . . . . . . . . . . . $ pwd . . . . . . . . . . . . . . . . . . . . . $ mkdir info2A . . . . . . . . . . . . . . . . . . . . . $ cd ./info2A . . . . . . . . . . . . . . . . . . . . . $ mkdir soutien . . . . . . . . . . . . . . . . . . . . . $ ls . . . . . . . . . . . . . . . . . . . . . $ ls ~castagnn/soutien. . . . . . . . . . . . . . . . . . . . $ cp ~castagnn/soutien/part1.tgz ./soutien $ cd soutien . . . . . . . . . . . . . . . . . . . . . $ ls . . . . . . . . . . . . . . . . . . . . . $ tar –zxvf part1.tgz . . . . . . . . . . . . . . . . . . . . . $ ls . . . . . . . . . . . . . . . . . . . . . $ cd part1 . . . . . . . . . . . . . . . . . . . . . $ more README.txt . . . . . . . . . . . . . . . . . . . . . $cp README.txt tmp.txt . . . . . . . . . . . . . . . . . $ mv tmp.c monfichierc.txt . . . . . . . . . . . . . . . $ gedit monfichier.txt . . . . . . . . . . . . . . . . . . . . . $ gedit monfichier.txt & . . . . . . . . . . . . . . . . . . . $ rm monfichier.txt . . . . . . . . . . . . . . . . . . . . . Affiche le répertoire courant (votre « home ») Affiche l’aide de la commande pwd Entre dans le répertoire Desktop Affiche le répertoire courant Crée le répertoire info2A. Il apparaît sur votre bureau ! Entre dans le répertoire info Crée le répertoire ‘soutien’ dans info Liste le contenu du répertoire courant Liste le rép « soutien » de l’utilisateur castagnn Copie un fichier dans le répertoire seance01 Entre dans votre repertoire « soutien » Liste le contenu du répertoire courant Extrait les fichiers de l’archive part1.tgz Un répertoire part1 est apparu ! Entre dans le répertoire part1 Affiche le contenu du ficher texte README.txt Copie le fichier README.txt dans tmp.txt Renomme le fichier tmp.txt dans monfichier.txt Permet d’éditer le contenu de monfichier.txt Liste le contenu du répertoire courant Supprime le fichier monfichier.txt

More Related