La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Séances de soutien Projet informatique 2A

Présentations similaires


Présentation au sujet: "Séances de soutien Projet informatique 2A"— Transcription de la présentation:

1 Séances de soutien Projet informatique 2A
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 1

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 s. 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. Distributions : CentOS 6 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 Éditeurs 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 ! - Pour changer son mot de passe (non modifiable directement depuis les machines)‏. - Site mails pour consulter sa messagerie hors de Phelma. - Site web de l’école. - Intranet de l’école accessible avec votre compte personnel et mot de passe. - Site d’informations et de support du service informatique (Webmail, Wifi…).‏ - Site du Projet Informatique 2A SEI / SICOM - Cours C 1ere année PET : bonne référence !

11 ! Matériel et environnement Messagerie et Webmail
Adresse mail : - Consultation locale sur Phelma en utilisant le logiciel Mozilla. Consultation avec un navigateur internet (par exemple Firefox) : Webmail : ! 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 Le minimum en Unix / Linux
Répertoires et fichiers /users/phelma/phelma2014/toto/truc.txt / /bin /lib /users /tmp ... ens phelma info1 info2 /stk /users/phelma/phelma2014/toto/info1/ /users/phelma/phelma2014/toto/info2/ titi phelma2013 = racine toto truc.txt phelma2014

15 Le minimum en Unix / Linux
Répertoires et fichiers Dénomination des fichiers : nomFichier.ext nomFichier Extension ext Utiliser les lettres de l’alphabet, les chiffres, le tiret - et le souligné _ Pensez à mettre une extension significative à vos fichiers : ! majuscules et minuscules non-équivalentes sous Unix. .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 Ne pas utiliser d’espace, d’accent, de signes de ponctuation, d’accolades ou de signes tels $, %, &, etc … Utilisez des noms significatifs.

16 Le minimum en Unix / Linux
Le Terminal Terminal ? Historiquement :Ensemble Outils servant à communiquer avec l’ordinateur (clavier/écran/imprimante) Sous Unix : désigne souvent l'émulateur de terminal textuel (term, xterm, tty, ...) Interpréteur de commandes les terminaux lancent un interpréteur de commandes (Command Line Interpreteur ou Shell) Acquière (interprète) les commandes de l'utilisateur en texte Exécute les commandes (lien avec l'OS) Retourne le résultat (en texte) Commandes entrées par l'utilisateur Interpréteur de Commandes Système d'exploitation Exemple : cp fichier1.txt fichier2.txt Vérification de syntaxe puis demande d’exécution de la copie Copie effectuée si possible et retour d'erreurs ou succès au terminal

17 Le minimum en Unix / Linux
Le Terminal Fonctions du terminal Tout faire avec le système d’exploitation à l’aide de commandes textuelles exprimé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 Exemple : en tapant la commande Unix pwd (cf. ci après), on obtient le chemin du répertoire courant : /users/phelma/phelma2014/toto

18 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 Seule méthode d'administration des stations sans serveur graphique (serveur notamment) G.

19 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

20 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

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

22 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

23 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...

24 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, Pager less intégré à la commande man : recherche : /motif, n (next), N (previous), . . . quitter : q G.

25 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

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

27 Chemin relatif et absolu
"chemin absolu commence 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 et que l’utilisateur est toto titi désigne le répertoire /users/phelma/phelma2010/titi ~/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 ••/ •/toto/truc.txt ••/ ••/phelma2010

28 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

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

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

31 Gestion des permissions
ls -l   file.txt - rw- r- - r- -    1 toto   users     Sep :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    Sep :14 file.txt

32 Exo Session utilisateur
1 - Créez un fichier sur le home du voisin dont le login est « sonlogin » : touch ~sonlogin/bidon 2 - Créez un répertoire partage sur votre home et modifier les droits : mkdir ~/partage chmod a+rw ~/partage 3- Essayer maintenant de créer un fichier dans le répertoire partage de votre voisin 4- Connectez vous la machine de votre voisin ssh machine 5- Essayez de créer dans le répertoire /tmp de la machine du voisin : touch /tmp/fichier_bidon_monlogin.txt

33 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 * N’importe quelle chaine de caractères ? Un caractère quelconque [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

34 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éez 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. Dans le réperoire Year, listez 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 Copiez les fichiers dont l'avant-dernier caractère est un 4 ou 1 dans le répertoire /tmp en une seule commande. More on

35 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

36 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> !

37 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

38 Redirections - canaux Le shell définit 3 canaux Redirection
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.

39 Pipes et filtres Exemples
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

40 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 Calculez le nombre de login Avec head et tail affichez les 5 premières puis 5 dernières lignes du fichier. Conserver ces résultats dans un autre fichier. Triez le fichier sur le nom de login puis sur l'UID Utilisez sort More on

41 Processus et tâches Gestion des tâches (jobs) Affichage des processus
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 top : affiche les ressources consommées par les processus ps : Process Show 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 SIGTERM (15) : terminer normalement (proprement) SIGKILL (9) : terminaison forcée (non ignoré) SIGSTOP (19) : arrêt temporaire (pause) (non ignoré) SIGCONT (18) : reprise d'un processus arrêté SIGINT (2) : terminaison interactive (Ctrl-C) SIGTSTP (20) : arrêt temporaire interactif (Ctrl-Z)

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 $ mkdir info2A $ cd ./info2A $ mkdir soutien $ ls $ ls ~castagnn/soutien $ cp ~castagnn/soutien/part1.tgz ./soutien $ cd soutien $ tar –zxvf part1.tgz $ cd part $ 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 » 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 Supprime le fichier monfichier.txt


Télécharger ppt "Séances de soutien Projet informatique 2A"

Présentations similaires


Annonces Google