Choisissez votre style :
colorisé,
impression
Série 1
Mise en place de l'environnement de travail
Buts
Le but de cette série d'exercices est de vous
- présenter le cours de Programmation
- offrir une première prise de contact avec l'environnement informatique de l'EPFL
- permettre de vous familiariser avec
votre compte informatique
- faire connaître des
principales manipulations de base pour évoluer dans un environnement
Unix que vous serez amenés à utiliser : manipulation et
édition de fichiers, commandes Unix, etc....
NOTE : Vous devez impérativement
réaliser tous les exercices (11) de cette série afin d'être
parfaitement à l'aise avec l'environnement informatique de ce cours.
Si ce n'est pas encore fait, merci
avant de commencer cette série d'exercices, de prendre connaissance du document suivant qui présente le cours dans son ensemble :
Prérequis pour la suite de la série
[ Pour plus de détails,
voir
le site http://studying.epfl.ch/bienvenueBachelor (en bas) ou sinon le guichet des étudiants].
Pré-requis :
-
Avoir son mot de passe Gaspar ;
-
Disposer d'une adresse e-mail à l'EPFL.
Ces prérequis sont remplis dès votre inscription à
l'École, et vous devriez normalement pouvoir passer directement
au premier exercice. En effet, en tant qu'étudiant inscrit à
l'EPFL,
vous avez dû recevoir
document/email contenant : votre adresse e-mail EPFL, un username et un mot
de passe. C'est de cela dont il s'agit ici.
Si ce n'est pas le cas, un support est assuré par le «Help-desk» (MA A0 388, téléphone interne : 1234, email : 1234@epfl.ch)
pour les problèmes techniques, par exemple liés au login et à GASPAR, ou sinon par le guichet des étudiants pour tous les problèmes administratifs ou d'inscription.
Rappel :
Le portail GASPAR
sert à gérer les accès aux ressources sécurisées du
Service Informatique Central. C'est le coffre fort pour vos données
d'authentification.
Vous pouvez par exemple y modifier votre mot de passe.
Exercice 1 : Se connecter (ou login)
Ce premier exercice va vous permettre de vous
« connecter » à l'environnement de travail utilisé pour ce cours.
Vous avez SEPT façons différentes de pratiquer pour ce cours ; du plus proche au plus loin du système que vous nous offrons dans les salles CO-020 :
- 1. soit venir vous connecter directement dans les salles CO-020 à CO-023 (c'est ce que vous ferez vraisembablement lors du premier TP) ;
- soit travailler sur votre propre machine
(mais attention la série notée aura lieu exclusivement sur les machine des salles CO)> :
- 2. en vous connectant à distance depuis votre machine sur les mêmes machines virtuelles (VM) que celles utilisées en CO ;
MAIS attention : nombre limité de machine dans le « pool » :
connectez vous sur vdi.epfl.ch/native et choisir la VM «IC_CO_IN-SC
» ;
(la documentation est ici)
- 3. en téléchargeant une VM EPFL et la faisant tourner en local sur votre propre machine ;
cf https://it.epfl.ch/backoffice/kb_view.do?sysparm_article=KB0012478 ; l'environnement sera strictement identique à celui des salles de TP, mais vous devez disposer d'une machine 64 bits et vous n'aurez pas de prérogatives administratives (pas de possibilité d'installer de nouveaux outils) ;
- 4. en installant un environnement de développement comme indiqué dans la première semaine du MOOC https://www.coursera.org/teach/init-prog-cpp/ (une telle installation n'est pas du tout obligatoire, ce n'est qu'une façon, parmi les autres citées ici, de travailler) ;
- 5. en installant une VM Linux : c'est presque comme le point 3 ci-dessus, mais allez télécharger une image à installer directement chez Ubuntu (http://ubuntu-fr.org/telechargement) au lieu de la prendre chez nous ; ceci est expliqué en détail sur cette page : http://wiki.epfl.ch/co02x/vmself ; Vous disposez alors d'une machine Linux avec toutes les prérogatives administratives;
- 6. en installant directement Linux sur votre machine (déconseillé aux débutants et pas forcément une voie simple pour le projet du second semestre, mais l'association GNU Generation organise des «Install Fest» chaque semestre). Voir aussi http://doc.ubuntu-fr.org/debutant ;
- 7. si vous programmez déjà, en utilisant votre propre environnement (XCode, Code::Blocks, Emacs, vi, ...) sur votre machine usuelle « comme d'habitude » (vérifiez cependant d'avoir une version à jour du compilateur: l'environnement des salles CO offre la version 7 de gcc et 3.4 de clang).
Vous pouvez suivant vos contraintes choisir l'une ou plusieurs des solutions ci-dessus.
Tout ceci est également décrit ici : http://wiki.epfl.ch/co02x/maison.
L'option 3 est d'ordinaire la plus simple et la plus utilisée par les étudiants de ce cours pour travailler sur leurs propres machines dans un environnement identique à celui des salles de TP.
Choisissez donc l'une des méthodes précédentes.
Si, pour une raison ou une autre vous n'arrivez
pas pour le moment à avoir accès à une machine similaire à celle du cours, vous pouvez continuer sur votre propre machine par l'exercice 7 et suivants, et reviendrez faire cette série une fois une machine accessible pour vous.
Pour vous connecter sur les machines fournies (soit directement, soit à distance, tapez votre nom d'utilisateur (username) puis tapez
sur la touche Return
et attendez que le
système vous demande votre mot de passe (password).
Remarques:
-
Les majuscules/minuscules sont significatives dans le username et dans
le password : 'a' n'est pas la même chose que 'A'.
-
Il faut faire attention à la différence entre '0' (zéro)
et 'O' (la lettre o majuscule) ainsi qu'entre'1'
(chiffre un) et 'l' (la lettre L minuscule).
- Certains caractères (tels que '@' ou '#') ne
semblent pas passer sur le login de la machine virtuelle. N'utilisez
donc pas de tels caractères dans votre mot de passe.
Vous arrivez ensuite sur un écran intermédiaire (écran bleu) ou vous devez choisir une «machine virtuelle»
Pour ce cours, il faut choisir la machine IC_CO_IN-SC.
Vous devriez normalement ensuite arriver
automatiquement sur une machine virtuelle. Si jamais vous avez encore un 2e écran bleu intermédiaire (ça ne devrait pas) : il ne faut RIEN FAIRE sur ce 2e écran bleu de login ; il faut juste attendre.
Si tout s'est bien passé, après quelques instants un écran qui ressemble
à
celui de la figure ci-dessous va apparaître. Sinon recommencez... Au bout de trois échecs, appelez un assistant.
Cette opération en deux étapes est nécessaire car
l'architecture est «un peu plus compliquée» que votre ordinateur
personnel habituel : vous êtes en effet connecté sur des clients
qui s'adressent à un serveur «chef d'orchestre» («load balancer»)
qui demande à un autre serveur de calcul
de vous créer (et ouvrir) une «machine virtuelle». C'est cette machine virtuelle que vous voyez finalement sur votre écran. Pour résumer :
C'est pour cela
que vous avez un login en deux étapes : une première pour accéder au
«chef d'orchestre», et une seconde sur la machine
virtuelle. Normalement, ce second login consiste à ne rien faire, le «chef d'orchestre» ayant passé vos paramètres à la
machine virtuelle.
A noter que la procédure de connexion aux machines virtuelles EPFL (depuis un client léger ou son propre ordinateur) est résumée ici.
Exercice 2 : Utiliser Firefox
Firefox est un navigateur Internet.
Pour le lancer, vous avez trois solutions :
-
soit en utilisant le menu général en haut à gauche (sous «Applications») :
-
soit en tapant la commande
firefox &
dans un terminal (voir exercice suivant).
Note : le caractère '&' après la commande
firefox permet au terminal de «reprendre la
main» (c'est-à-dire rester actif) sans attendre que Firefox se
soit terminé. On dit que la commande firefox «tourne en
tâche de fond».
Une fois Firefox lancé, il vous suffit de taper l'URL (adresse à laquelle
vous voulez vous connecter) dans le champ prévu à cet effet :
Connectez-vous à la page Moodle de ce cours :
http://moodle.epfl.ch/course/view.php?id=5981. Vous
pouvez aussi y accéder en vous connectant simplement sous
moodle.epfl.ch et en allant dans la liste de vos cours.
Cette page (ou celle principale de Moodle,
http://moodle.epfl.ch/) étant relativement importante, on peut vouloir la garder
(pour ne pas avoir à retaper à chaque fois son adresse) dans ses
bookmarks («signets» en français) :
-
Cliquez sur «Bookmarks» dans la barre de menu en haut,
puis sur «Bookmark This Page...», ce qui ouvre une fenêtre.
Sélectionnez l'endroit où sera stocké ce signet
(bookmark), par «Bookmarks Toolbar». Cliquez enfin sur le bouton «Done»
en bas
de la fenêtre qui vient d'être ouverte. La fenêtre de dialogue doit alors se fermer.
Vous pouvez alors ajouter «Bookmarks Toolbar» à votre barre de navigation View > Toolbars > cochez 'Bookmarks Toolbar'. Vous devriez voir un
nouvel onglet «Programmation I & II ...»
(juste au dessus de la fenêtre principale affichant le contenu).
Vous pouvez aussi plus simplement saisir (clic gauche de la
souris) la petite icône à coté de l'URL (au début de la barre
blanche précédemment citée, juste à coté de la petite maison) et la
glisser (en gardant le clic gauche de la souris enfoncé) sur la
barre des signets, c'est-à-dire la 3e barre en haut, celle juste au
dessus du contenu affiché.
Notez également que la page d'accueil des salles CO se trouve sous
ic-it.epfl.ch/co. Vous y trouverez
toutes les informations générales sur l'utilisation des salles
d'ordinateurs.
Si vous ne voyez pas la barre «Bookmarks», il faut aller au «View», puis «Toolbars», puis clickez sur «Bookmarks Toolbar». La barre doit apparaitre.
Cette série n'est en effet pas terminée ! Il reste encore 9 «exercices». Ne les ratez pas !
Exercice 3 : Ouvrir un terminal
Un «terminal» est une fenêtre qui vous permet de donner directement
des commandes au système.
Pour en ouvrir un (remarquez qu'on peut avoir plusieurs terminaux
ouverts à la fois), utilisez le menu en haut à gauche (sous «Applications»)
:
Un «terminal» doit alors s'ouvrir. Cliquez dessus/dedans pour l'activer
et taper la commande
ls
qui liste le contenu du répertoire courant (voir les exercices en bas pour plus de détails. ATTENTION ! le premier caractère est un L minuscule, pas le chiffre 1 !).
Pour l'instant aucun contenu créé par vous-même n'apparaît dans la liste (d'ailleurs si vous êtes dans myfiles
et que vous n'avez encore rien fait, la commande précédente ne liste rien du tout : il n'y a encore rien ! Vous pouvez alors essayer ls ..
(avec une espace). Ce sera expliqué plus tard).
Dans l'exercice suivant, nous allons justement voir comment créer des fichiers.
Exercice 4 : Premier contact avec un éditeur
Supposons que vous ayez envie d'écrire un message, juste en texte
(pas de formatage, ni gras, ni couleur, etc.) et de le stocker
sur votre compte.
Il vous faut pour cela utiliser un utilitaire particulier appelé
« éditeur » (plus simple qu'un
« traitement de texte »).
La première fonctionnalité d'un éditeur est justement de vous
permettre de saisir du texte et de le stocker sous la forme d'un
fichier.
Plusieurs éditeurs sont à votre disposition dans le cadre de ce
cours : Geany, Sublimetext, Emacs, GEdit, Vim, ...
Pour lancer l'un ou l'autre de ces éditeurs, il suffit de cliquer dans le menu «Applications» en haut à gauche, soit sous «Programming» pour les éditeurs les plus conseillés :
soit sous «Accessoires» pour l'éditeur de texte «de base» GEdit :
Ces éditeurs sont aussi accessibles via des commandes dans un terminal :
de taper son
nom (dans un terminal) suivi du symbole &. Par exemple :
- geany &,
- sublime-text &,
- emacs &,
- ou gedit &.
Note : le caractère '&' permet
au terminal de «reprendre la main» (c'est-à-dire rester
actif)
sans attendre que l'on ait quitté l'éditeur. On dit que l'éditeur
tourne «en tâche de fond».
Pour commencer, choisissez un éditeur particulier (par exemple geany) et
lancez le.
Pour ouvrir un nouveau fichier dans l'éditeur que vous avez choisi,
il suffit de sélectionner dans la barre menu l'option
File -> New ou File -> Open File (selon
l'éditeur. Dans Emacs, il faut donner un nom de fichier en bas
de la fenêtre, par exemple mon-1er-message.txt).
Saisissez ensuite un texte quelconque dans la zone de l'éditeur
dédiée à la saisie, puis sauvegardez-la au moyen de l'option File
-> Save. Un nom vous sera alors demandé pour désigner le fichier
dans lequel sera stocké votre document. Saisissez par exemple mon-1er-message.txt en guise de nom. Une fois que la
sauvegarde est effectuée, vous pouvez quitter l'éditeur.
Note : pour certains éditeurs (comme emacs par exemple), l'ouverture d'un nouveau fichier
vous demandera un nom de fichier avant même que vous ayez pu saisir
du texte.
A savoir : un nom de fichier est aussi bien un nom «simple», comme maphoto.jpg
, qu'un nom «complet» indiquant où le fichier est stocké sur le disque, comme /home/sam/Images/maphoto.jpg
.
On parle
de nom absolu pour le second, car où qu'il soit donné il désigne toujours l'emplacement précis du fichier ;
et de nom relatif pour le premier (simple) car il n'a de sens que par rapport à (=relativement à) l'endroit où il est effectivement stocké.
Quand on parle de «nom de fichier», on parle sans disctinction de l'un ou de l'autre. Si un nom relatif est donné, il sera toujours interprété PAR RAPPORT À l'endroit où la commande s'éxécute.
Placez-vous ensuite dans un terminal et tapez à nouveau la commande
ls
qui liste le contenu du répertoire courant.
Vous devriez alors voir apparaître le fichier mon-1er-message.txt que vous venez de créer via
l'éditeur.
Ce fichier peut maintenant être ouvert à nouveau et modifié par
n'importe quel éditeur (identique ou différent de celui qui l'a crée).
Il restera stocké sur votre compte d'une
session de travail à l'autre.
Essayez de l'ouvrir (option File -> Open), le modifier
et le sauvegarder à nouveau avec chacun des autres éditeurs à tour
de rôle (n'ouvrez pas plusieurs éditeurs en même temps !).
Ceci vous permettra de vous faire une première idée sur les différents
éditeurs mis à votre disposition et vous permettra de porter votre
choix par la suite sur celui qui vous semble le plus confortable. Nous
reviendrons plus en détail sur les fonctionnalités des éditeurs
dans les exercices suivants.
Note : Il est important de ne pas
ouvrir plusieurs fois le même fichier (via différents éditeurs par
exemple). La cohérence du fichier modifié par l'un ou l'autre des
éditeurs n'est alors plus garantie !
Concernant les fichiers et leur manipulation, nous en verrons plus
dans les exercices suivants, mais déjà une note importante (qui sera expliquée un peu plus en bas) :
Note
importante : les fichiers créés sur le disque local de
la machine virtuelles (i.e. hors myfiles) sont effacés (=
perdus !) en fin de connexion. Il est donc
impératif que vous stockiez sous
le répertoire myfiles tous les fichiers que vous souhaitez conserver.
Exercice 5 : Utilisation du gestionnaire de fichiers
Lorsque vous vous connectez sur votre compte, vous arrivez à la racine de votre
répertoire personnel, c'est-à-dire à l'endroit de l'arborescence Linux qui
vous appartient. Le chemin absolu de ce répertoire est /home/nom_utilisateur/. Il devient votre répertoire
courant, c'est-à-dire le répertoire utilisé par défaut par les commandes
Linux.
Pour ouvrir ce répertoire dans le le gestionnaire de fichiers,
sélectionnez l'icone «Home Folder» dans le menu «Places» en haut à gauche :
Vous verrez alors s'afficher une fenêtre telle que celle-ci :
Vous verrez que parmi les répertoires existants se trouve un répertoire nommé myfiles qui est extrêmement important.
C'est aussi celui que vous avez directement sur votre bureau, en haut à gauche.
Quelques explications :
A l'EPFL, toutes
les données liées aux utilisateurs sur un serveur central,
le service myNAS (http://mynas.epfl.ch). C'est un
service offert à tous les étudiants et collaborateurs de l'EPFL. Sauf erreur, le
quota y est de 5 Go pour les étudiants. Ce répertoire est global à
toute l'Ecole et suivra l'étudiant tout au long de ses études. Il est le
même sous Windows, Mac et Linux dans les différentes salles de
l'École.
Important :
Sur les machines virtuelles (VM) utiliseés ici, c'est ce répertoire myfiles qui vous donne l'accès à ces données.
Toutes les données stockées sur les VM en dehors de ce répertoire sont détruites à chaque fois que vous vous déconnectez!
Il est donc impératif de systématiquement tout stocker dans myfiles.
Pour ceux d'entre vous qui sont un peu plus avancés: cela signifie
aussi que les fichiers de configuration et de préférence situés
directement dans le répertoire principal («Home Directory») sont
perdus à chaque déconnexion. Il faut, pour le moment, veiller à les
archiver soi-même dans myfiles (et les restaurer
au bon endroit).
Revenons maintenant à la fenêtre que nous venons d'ouvrir. Vous pouvez entre autres :
-
parcourir simplement la structure des répertoires en double-cliquant
sur les dossiers qui sont présents dans la fenêtre.
- créer de nouveaux fichiers ou répertoires en
sélectionnant «File» puis «Create Document» ou «Create Folder», ou bien le menu qui apparaît avec le clic droit
de la souris ;
Note : pour créer un nouveau fichier, vous pourrez aussi bien sûr
utiliser un éditeur de texte, exactement comme vous l'avez fait dans
l'
exercice 4 et sur lequel
nous allons revenir.
- copier des fichiers ou des répertoires ;
- effacer des fichiers ou des répertoires en les sélectionnant avec
le bouton gauche de la souris, et en sélectionnant «Move to Trash» dans
le menu qui apparaît en cliquant sur la sélection avec le bouton droit
(ou alors dans la barre de menu «Edit»). Vous pouvez aussi plus simplement appuyer sur la touche «Del».
Note : Pensez à vider régulièrement votre poubelle !
Vous pouvez pour cela :
soit cliquer avec le bouton gauche sur le menu «File» du
gestionnaire de fichier, puis cliquer sur «Empty Trash» ;
soit cliquer avec le bouton droit sur l'icône de poubelle en
bas tout à
droite de l'écran (ce qui ouvre un menu) puis choisir «Empty
Trash».
Récupération de données perdues : dans myfiles (uniquement), il vous est
possible de retouver des données indûment effacées (pour peu qu'elles aient eu le temps d'être
archivées). Pour ce faire, il suffit d'aller dans le répertoire .snapshot à l'endroit de l'arborescence que vous
souhaitez. Ce répertoire contient des archivages périodiques du
contenu du répertoire courant.
Attention ! Ce répertoire n'est pas
automatiquement présent, mais chargé à la demande lorsque vous y
accéder. Il est donc normal que vous ne le voyez pas. Pour y accéder :
soit par la ligne de commande avec par exemple un cd .snapshot (ou autre, cp, etc.., voir l'exercice suivant pour les commandes unix)
soit depuis le gestionnaire fichier en tapant Ctrl-L et ajoutant .snapshot (puis 'Entrée') à la fin de la «Location».
Application : Mise en place d'une architecture de travail
Vous allez maintenant créer une architecture de travail utile pour le reste de ce cours de programmation.
Faîtes-le avec le gestionnaire de fichiers.
Dans votre répertoire myfiles,
créez le répertoire cpp.
Dans ce répertoire cpp, créez les
sous-répertoires serie01, serie02, serie03,
etc.
Note : on pourrait bien sûr le faire avec
l'interpréteur de commandes (i.e. dans un «terminal»), qui est
justement l'objet du prochain exercice.
Exercice 6 : Quelques commandes Unix
Remarque préalable : Il ne s'agit pas dans
cet exercice d'uniquement répondre aux questions ni d'effectuer
aveuglément les commandes données (ce qui est la plupart du temps
trivial), mais plutôt de bien comprendre ce qui se passe et
pourquoi on obtient tel résultat.
Pour gérer les fichiers, on peut soit utiliser le gestionnaire de
fichiers comme vu précédemment, soit utiliser un éditeur comme déjà vu (et sur lequel nous reviendrons dans le prochain
exercice), soit utiliser directement des
commandes du langage Shell d'UNIX dans une fenêtre
Terminal, ce qui est l'objet du présent exercice.
Les principales commandes (ls, cd, cp,...) sont présentées
dans la
mini-référence du cours.
Application 1 : copie de fichiers
Ouvrez un terminal (voir l'exercice 3), et allez dans le répertoire myfiles/cpp/serie01 créé à l'exercice précédent.
À l'aide des commandes Unix suivantes,
copiez dans ce répertoire les
fichiers poeme1.txt et
poeme2.txt :
wget http://progsv.epfl.ch/www/series/poeme1.txt
wget http://progsv.epfl.ch/www/series/poeme2.txt
Notes :
- Apprenez tout de suite à tirer avantage des fonctionnalités
de la souris et du clavier dans cet environnement :
-
pour recopier les commandes précédentes, au lieu d'essayer de le faire par vous même au clavier,
utilisez le «copier-coller» de la souris :
il suffit de sélectionner avec la souris ce que vous voulez
copier (par exemple avec un double clic gauche pour un mot, triple clic pour toute la ligne), puis de faire un clic-milieu (i.e. bouton du centre) là
où vous voulez copier ce qui à été sélectionné. Bref, en 4 clics vous avez cette commande compliquée qui est saisie !
[N'hésitez pas, si nécessaire, à demander à un assistant qu'il vous
fasse une petite démonstration]
pour la seconde commande vous pouvez aussi (au lieu du
«copier-coller») utiliser l'historique des commandes : dans le terminal,
tapez sur la flêche vers le haut. La commande précédente réapparait.
Modifiez alors le 1 de poeme1.txt en un 2 et appuyez sur 'Entrée'. Simple, non ?
Les fichiers ci-dessus sont codés (pour les accents) en
UTF-8. Si vous préférez un codage en latin-1 (ISO 8859-1), utilisez
alors :
wget http://progsv.epfl.ch/www/series/poeme1-latin.txt
wget http://progsv.epfl.ch/www/series/poeme2-latin.txt
Ceux qui font la série sur Mac, utilisez curl au lieu
de wget ; par exemple
curl http://progsv.epfl.ch/www/series/poeme1.txt -o poeme1.txt
curl http://progsv.epfl.ch/www/series/poeme2.txt -o poeme2.txt
Application 2 : commandes de base et diverses manipulations de fichiers
Créez, à l'aide de la commande Unix mkdir, un sous-répertoire
test (dans serie01 ou alors à la racine, hors de myfiles. Dans le premier cas le nom sera simplement test tout seul (ou ./test, ce qui est pareil). Dans le second cas, ce sera ~/test, avec le «tilde» devant. Ce «tilde» est un raccourcit pour dire «$HOME», i.e. votre répertoire personnel). Dans la suite nous utilisons test. Remplacez par ~/test si vous avez créé ce répertoire à votre racine.).
-
Quelle est la différence entre les deux commandes suivantes :
cp poeme1.txt test/f1.txt
et
mv poeme1.txt test/f1.txt
?
Quelle est l'information retournée par la commande which ls ? par which man ? Que représentent-t-elles ?
- Que vous donne la commande ls -l *.txt ?
-
Lors de l'utilisation de caractères spéciaux (*, ? ou [ ]),
il faut bien comprendre que c'est le Shell (i.e. l'interpréteur de commandes) qui fait le remplacement des arguments
avant d'envoyer la liste des arguments à la commande. Cela signifie que la commande ne
«voit» que des arguments déjà évalués par le Shell. Mais comment tester ?
Cette partie de l'exercice vous propose de
vous familiariser avec les commandes suivantes :
-
echo affiche simplement ses arguments. Le nom vient du fait que la
commande renvoie ses arguments comme un écho, sans modification :
echo 1 2 3
1 2 3
echo 'Bonjour tout le monde !'
Bonjour tout le monde !
echo SHELL
SHELL
echo $SHELL
/bin/bash
Dans ce dernier exemple, le Shell remplace la variable $SHELL
par son contenu. La commande echo ne fait aucune modification de ses arguments.
echo *.txt
poeme1.txt poeme2.txt
Dans ce dernier exemple, le Shell remplace *.txt
par tout les fichiers correspondant, puis lance la commande echo avec les arguments trouvés. La commande echo reçoit donc bien comme arguments «poeme1.txt poeme2.txt» et ne fait elle-même aucune modification de ses arguments.
-
touch modifie la date d'accès et la date de modification de chaque
fichier indiqué. Les fichiers qui n'existent pas sont créés. On peut se servir du dernier fait
pour créer des fichiers vides.
ls -l toto
ls: toto: No such file or directory
touch toto
ls -l toto
-rw-r--r-- 1 sam dilia 0 Sep 23 13:32 toto
rm toto
Dans cet exemple, on a créé et détruit le fichier toto.
À présent :
- Allez dans le répertoire test et créez plusieurs fichiers
commençant par f, et au moins les trois fichiers
(pas répertoires !)
f1,
f2 et
f4 (c'est bien un 4, ce n'est pas une
faute de frappe).
Pour que ce soit plus clair ensuite, mettez quelque chose de
différent dans chacun de ces fichiers (en utilisant par exemple un
éditeur).
Quel est le résultat de la commande ls ??
(ls suivi de deux points d'interrogation (??)) ?
Quel est le résultat de la commande ls f[123] ?
Quel est le résultat de la commande cat f[123] ?
- Créez quelques fichiers supplémentaires : albert, a.txt, zoulou, ...
- Testez les caractères de substitution :
- Affichez tous les noms de fichiers avec echo ;
- Afficher les noms qui commencent par un a ;
- Afficher tous les noms de longueur 6 ;
-
L'exécution de la commande ls -l produit, pour un certain utilisateur, quelque part,
le résultat suivant :
-rw-r--r-- 1 dupont dilia 75180 Mar 28 2003 divers
drwxr-x--x 2 dupont dilia 4096 Mar 14 2003 autchose
- Est-ce que divers est un fichier ou un
répertoire ? Même question pour autchose.
- À qui (utilisateur et groupe) appartient ce fichier ?
- Quelle commande le propriétaire doit-il exécuter pour
donner à tous le droit d'écrire dans divers ?
- Qu'est-ce que les utilisateurs du groupe dilia ne peuvent pas faire avec autchose ?
-
Qu'est-ce qu'un utilisateur quelconque (pas dans le groupe
dilia) a le droit de faire avec ce
fichier/répertoire ?
-
Quelle est la spécificité des fichiers dont
le nom commence par le caractère . ?
Exécutez les commandes suivantes (~ représente votre répertoire racine
(«home directory»)) :
ls ~ puis
ls -a ~
Quelle différence observez vous ?
- Pour finir, un petit exercice sur les noms de fichiers
(et leur raccourcis) :
- listez le contenu du répertoire /etc ;
-
listez tous les éléments de /etc commençant par o ou n et se terminant par i, e ou s
Exercice 7 : Utilisation d'un éditeur
Comme vu la précédemment, les
éditeurs utilisés pour ce cours seront Geany
ou Emacs selon votre choix. Les commandes essentielles de
chaque éditeur sont présentées dans une mini-référence :
Ceux d'entre vous qui le souhaitent peuvent néanmoins utiliser un autre
éditeur :
gedit,
vim, ...
Lancer Geany et ouvrez-y les fichiers poeme1.txt et poeme2.txt (faites-le dans le même éditeur, c'est-à-dire sans lancer plusieurs fois Geany). Exercez-vous à
modifier/manipuler le contenu de ces fichiers de différentes manières,
par exemple en recherchant une chaîne de caractères quelconque et en
la remplaçant par une autre. Essayez par exemple de supprimer tous les
é (E accent aigu) du texte, ou de sauvegarder un nouveau fichier qui contienne
les textes des deux fichiers. Apprenez aussi à annuler vos dernières modifications (Edit -> Undo).
Répéter cet exercice pour l'autre éditeur
(Emacs) en prenant garde de ne pas ouvrir le même fichier avec
deux éditeurs différents. Il est bien sûr possible d'ouvrir plusieurs
fichiers dans un même éditeur. Chaque fichier occupe alors un «buffer»
de l'éditeur. Assurez-vous donc d'ouvrir tous les fichiers
dans le même éditeur après avoir pris soin de fermer l'éditeur
précédent.
Comparer les fonctionnalités respectives des deux éditeurs :
- copier/coller
- chercher/remplacer
- ouverture, sauvegarde, fermeture d'un fichier
- fonctionnement des buffers (ouverture, fermeture, navigation)
- visualiser en même temps le contenu de deux fichiers différents
Pour les utilisateurs de Emacs, nous vous conseillons également de
suivre le didacticiel, en le lançant avec la commande C-h t (ce qui veut dire presser la touche Control en même temps que la touche h, puis la touche t mais
sans la touche Control cette fois).
Exercice 8 : Utiliser le «Forum de discussion»
Le forum de discussion du cours est accessible depuis la page
Moodle du cours sous le lien «Forum (sur le cours ou
C++)». C'est un outil important de ce cours et vous devez
régulièrement le lire.
Accédez à ce forum et lisez le message de bienvenue que j'y ai
posté. Ce n'est pas nécessaire d'y répondre ;-)
Tout
commentaire constructif ou toute question est évidemment déjà le/la bienvenu(e) !
N'hésitez donc pas à utiliser cet outil à bon escient : poster
tous les messages qui vous semblent pertinents
(questions, commentaires, ...) en relation avec le cours, le C++, Unix
ou la programmation.
Exercice 9 : Navigation
Commencez par vous inscrire au cours d'introduction à la programmation en C++ sur le site de Coursera.
Vous pouvez ensuite explorer les sites Web du cours et celui des salles CO :
Exercice 10 : Quelques compléments utiles
Complément 1 : Utiliser le mail
Pour pouvoir accéder à votre compte e-mail, vous devez répondre aux pré-requis mentionnés au départ de cette série.
Voir ensuite la la page
générale du DIT sur le courrier électronique.
Pour lire votre email dans les salles CO, vous pouvez soit passer par une interface
Web (accessible de partout au travers d'un navigateur Internet tel
que firefox vu précédemment), soit par un outils spécifique appelé
ici «Thunderbird». Le plus simple si vous débutez, est d'utiliser
l'interface Web proposée par webmail.epfl.ch ( A ouvrir dans
Firefox donc !).
Pour tester, essayez de vous envoyer un mail à vous-même.
Complément 2 : Impression
Visualisation des documents
Pour visualiser un document au format PDF, cet environnement utilise le logiciel
evince.
Pour un fichier sur le Net,
il suffit depuis votre navigateur
Internet (firefox) de cliquer sur le lien vers un tel document. Un «
plug-in» (une portion d'evince insérée dans le navigateur)
se charge d'effectuer la visualisation.
Pour un fichier local, il suffit aussi de cliquer sur l'image dans le gestionnaire de fichiers.
Depuis la ligne de
commande, on lance ce programme ainsi :
evince [document]
où document est un nom de fichier (absolu ou relatif) ; par exemple :
evince ~/myfiles/exemple.pdf &
voire carrément une URL (adresse Internet) :
evince http://progsv.epfl.ch/www/slides/cours01.pdf &
Impression des documents
Pour imprimer un document autre que PDF, vous devez au préalable le
rapatrier sur votre système (pour les PDF votre navigateur le fera
pour vous). Lorsqu'il s'agit de document que vous ne voulez pas
conserver, utiliser le répertoire /tmp pour les stocker
temporairement, ce qui permettra d'économiser votre quota disque.
(Pensez tout de même à le nettoyer quand vous avez fini !)
Pour imprimer un fichier PDF utiliser le bouton
d'impression
dans acroread. De même pour imprimer une page Web, utilisez le bouton
d'impression du navigateur (Firefox).
Pour plus de détails voir le site myprint.
Exercice 11 : Se déconnecter (ou logout)
Pour vous déconnecter de votre session de travail, il vous suffit
le sélectionner l'option Log Out du menu System :
Dernière mise à jour :
$Date: 2017/09/15 15:39:05 $
($Revision: 1.19 $)