Le but de cette série d'exercices est de mettre en place votre environnement de travail pour ce cours que vous travailliez sur les machines de l'EPFL ou les votres. Les machines de l'EPFL vous permettront de vous familiariser avec le monde Unix si vous le souhaitez (Linux Ubuntu, 22.04), mais cela n'est pas une obligation pour ce cours. Certains exercices ne peuvent être faits que sur les machines de l'EPFL auxquelles vous pouvez d'ailleurs vous connecter à distance (des explications seront fournies). Vous serez aussi sans doute familier avec certaines manipulations, ce qui allégera d'autant la série. Profitez du temps qu'il vous reste pour explorer les ressources du site du cours (lecture des mini-références associées, familiarisation avec quelques éditeurs etc... ).
Pour pouvoir bénéficier des vidéos, quizzes et devoirs des MOOCs associés au cours, il faut vous inscrire aux adresses suivantes:
Pour travailler pour ce cours, vous aurez pour l'essentiel besoin d'un compilateur Java et d'un environnement de développement intégré (EDI), comme IntelliJ ou Eclipse (un simple éditeur de texte peut remplacer l'EDI dans un premier temps). Il est conseillé d'utiliser votre propre machine et y installer le matériel nécessaire. Si vous n'avez pas de machine, vous pouvez utiliser les machines à dispositions sur le campus (notamment la salle INF3 pendant les TPs). Ces machines mettent à votre disposition le compilateur Java, divers éditeurs et les EDI IntelliJ et Eclipse. Vous ne pouvez évidemment pas y installer du matériel par vous même.
Pour travailler avec votre propre machine, vous aurez donc besoin d'installer un compilateur Java et un environnement de développement intégré.
Si vous êtes déjà familier avec tout cela et que vous avez déjà fait vos choix quant aux éditeurs/EDI, libre à vous de continuer ainsi. Pour ce cours d'introduction, la version 21 de Java est cependant suggérée : il s'agit d'une «LTS» (version stable à plus long terme). Si vous avez déjà installé une version ultérieure (21+), cela ne pose aucun problème de continuer avec (il n'est pas nécessaire de retrograder à Java 21). Notez que plusieurs versions de Java peuvent cohabiter sur votre machine.
Pour installer ce matériel sur votre machine (Java 21 et IntelliJ/ou éventuellement Eclipse), il vous suffira de suivre les consignes d'installation suivantes~:
À noter que la variante de Java choisie est celle de OpenJDK (notamment celle de Adoptium), préférée à la variante de Oracle, pour sa gratuité et le fait qu'elle soit «open-source».
Les assistants sont à votre disposition pour vous aider dans les procédures d'installation.
Si vous travaillez sur votre propre machine et que vous n'êtes pas sous Linux, il demeure intéressant de vous familisariser un peu avec ce type de systèmes d'exploitation. Vous avez alors pour cela les options décrites ci-dessous.
MAIS attention :
Il y a un «pool» limité de machines disponibles et s'il y a trop de personnes qui se connectent, il peut ne plus rester de VM pour vous.
Depuis cette rentrée, l’accès à ce service (VDI) depuis l’extérieur du campus nécessite un code de sécurité EPFL en plus de votre nom d’utilisateur et mot de passe ; à noter que vous n'êtes pas du tout obligé(e) d'utiliser Google Authenticator, mais que n'importe quelle application de One Time Password (OTP) fait l'affaire, comme, par exemple, FreeOTP+ ou autres.
Si vous voulez vous connecter à distance depuis chez vous, il sera nécessaire de vous connecter via VPN (voir "depuis le domicile" sous https://www.epfl.ch/campus/services/ressources-informatiques/network-services-reseau/acces-intranet-a-distance/).
[ Pour plus de détails, voir le site http://studying.epfl.ch/bienvenueBachelor (en bas) ainsi que le https://studying.epfl.ch/].
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 à l'exercice suivant. 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.
Pour 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.
Vos identifiants GASPAR vous permettront de vous connecter aux machines de l'EPFL. Si vous travaillez sur vos propres machines, ils vous seront aussi utiles pour accéder à votre espace de stockage si vous le souhaitez. Vous disposez en tant qu'étudiant d'un espace de stockage pour vos fichiers (voir mynas.epfl.ch).
Pour vous connecter sur les machines de l'EPFL (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).
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-MA-2023-Fall ou IC-CO-IN-SC-INJ-2023-Fall
.
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 :
Vous pouvez aussi faire une recherche en tapant quelques lettres du nom de l'application dans l'invite de commande. Notez qu'il existe encore d'autres façons de lancer les programmes, comme expliqué dans ce qui suit.
Un «terminal» doit s'ouvrir. Cliquez dessus/dedans pour l'activer et taper la commande
ls
qui liste le contenu du répertoire courant (voir cours).
Gardez ce terminal en réserve pour l'exercice sur les commandes UNIX (un peu plus loin dans la série).
Pour le lancer le navigateur Firefox, vous avez plusieurs options :
soit en cliquant sur l'icône «firefox» («renard enroulé») en haut vers la gauche de votre écran :
soit en utilisant le menu général en haut à gauche («Activities») :
en en tapant firefox dans l'invite de commande. vous verrez apparaître l'icône avec le renard enroulé et il faudra cliquer dessus;soit enfin en tapant la commande
firefox &
dans un terminal.
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 :
Allez par exemple consulter la page Moodle du cours à l'adresse :
https://moodle.epfl.ch/course/view.php?id=14847
Cette page é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.
Sous «Folder:», sélectionnez l'endroit où vous choisissez de stocker ce bookmark. Vous pouvez par exemple le mettre sous «Bookmarks Toolbar». Cliquez enfin sur le bouton «Done» en bas
de la fenêtre qui vient d'être ouverte.
Pour rendre visible la «Bookmarks Toolbar» comme barre de menu, procédez à la manipulation suivante : View-> Toolbars-> cochez 'Bookmarks Toolbar'
Vous devriez voir un nouvel onglet «Cours : Introduction à ...» dans votre barre de navigation (juste au dessus de la fenêtre principale affichant le contenu).
Vous pouvez aussi plus simplement saisir (clic droit 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 droit de la souris enfoncé) sur la barre des signets, c'est-à-dire la 3e barre en haut, celle juste au dessus du contenu affiché.
Pour continuer la série, allez en chercher la suite à partir de cette page !
Toutes les annonces importantes du cours se font par le biais du forum «Annonces du cours» de la page Moodle du cours. Vous recevrez automatiquement une copie de ces messages par email. Il est impératif de consulter régulièrement ces annonces afin de ne pas passer à côté de consignes importantes.
Par ailleurs, le forum de discussion du cours est accessible depuis la page Moodle du cours sous le lien « Fora ». C'est un outil très important pour ce cours. Il vous permet de poser toute question sur le cours, les exercices et mini-projets, en tout temps. Prenez dès le début l'habitude de le consulter régulièrement. Nous y assurons une présence régulière et attentive.
Accédez maintenant au forum de discussion du cours et
lisez le message de bienvenue qui y est
posté. Ce n'est pas nécessaire d'y répondre : inutile de poster d'emblée
400 messages sans réelle substance sur le forum ;-)
Par contre tout
commentaire constructif ou toute question est déjà le/la bienvenu(e) !
N'hésitez pas à utiliser cet outil à bon escient : poster tous les messages qui vous semblent pertinents (questions, commentaires, ...) en relation avec le cours, les exercices, les mini-projets etc.
IMPORTANT:
Ce forum de discussion peut générer un traffic élevé. Afin de ne pas être noyé.e par l'envoi de trop nombreux emails (à chaque fois qu'un.e de vos collègues poste une question!), il est très important de le configurer de sorte à désactiver la réception automatique d'emails. Pour cela
Nous allons voir ici comment naviguer dans ses fichiers avec une interface graphique :
Sous Unix/Linux, lorsque vous vous connectez sur votre compte, vous arrivez dans votre répertoire d'accueil, c'est à dire l'endroit de l'arborescence Linux qui vous appartient. 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 le gestionnaire de fichiers (à ce niveau de l'arborescence), sélectionnez l'icône "Home Folder" dans le bandeau latéral gauche :
Vous verrez alors s'afficher une fenêtre telle que celle-ci :
En vous rendant dans le répertoire Desktop, vous trouverez un dossier myfiles qui est extrêmement important.
A l'EPFL, toutes les données liées aux utilisateurs sont 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 :
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..)
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 java.
Dans ce répertoire myfiles/java, créez les sous-répertoires cours01, cours02, cours03, etc. où vous pourrez classer, par exemple, vos notes personnelles sur chaque cours.
Note : Vous pourriez bien sûr le faire avec l'interpréteur de commande (i.e. dans un «terminal»), mais ceci est l'objectif d'un prochain exercice.
Vous disposez d'un compte mail EPFL. Pour y accéder, vous devez répondre au pré-requis mentionnés ci-dessus.
Voir alors la page d'accès à votre courrier électronique.
Pour lire votre email dans les salles CO, BC ou INF3, vous pouvez soit passer par l' interface Web précédente, soit par un outil spécifique comme par exemple «Thunderbird» ou «Evolution» (configuration : mot de passe GASPAR ; entrant : IMAP SSL/TLS sur imap.epfl.ch, port 993 ; sortant : STARTTLS sur mail.epfl.ch, port 587). Voir ceci à ce propos.
En guise de test, essayez de vous envoyer un mail à vous-même.
Pour visualiser un document au format PDF, vous pouvez utiliser Document viewwe (evince).
Depuis votre navigateur Internet (firefox), il suffit de cliquer sur le lien vers un tel document. Un « plug-in» se charge d'effectuer la visualisation.
Depuis la ligne de commande, on lance Document viewwe ainsi :
evince [document]
où document est un paramètre optionnel, spécifiant un chemin vers un document pdf ; par exemple :
evince ~/Desktop/myfiles/exemple.pdf &
voire carrément une URL (adresse Internet) :
evince https://proginsc.epfl.ch/wwwhiver/documents/IP-en-bref.pdf &
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 Document Viewer (File > print ou Ctrl-P). 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.
Nous utiliserons IntelliJ (ou Eclipse) pour programmer nos applications Java.
Il n'est cependant pas indispensable de posséder cet outil pour coder et exécuter un programme Java (surtout lorsque l'on débute).
On peut à défaut, utiliser un simple éditeur de texte afin de saisir nos programmes et les stocker dans des fichiers. Il faudra alors invoquer le compilateur (en ligne de commande par exemple) sur ces fichiers pour les compiler et produire des exécutables. Des indications vous seront fournies dans la série de la semaine prochaine si vous vous intéressez à cette approche.
Un éditeur peut aussi être utile bien sûr pour créer n'importe quel fichier contenant du texte (des notes personnelles, des guides d'utilisation de programmes etc.)
Plusieurs éditeurs sont à votre disposition sur les machines de l'EPFL : Emacs, Geany, Sublime Text, gedit, ...
Si vous avez votre propre machine, libre à vous d'installer l'éditeur de votre choix.
Sur une machine de l'EPFL (ou une machine Linux), pour lancer l'un ou l'autre de ces éditeurs, il suffit de taper son nom dans un terminal suivi du symbole &. Par exemple :
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 lancer l'un ou l'autre de ces éditeurs, il suffit de taper son nom dans une invite de commande:
ou plus généralement en tapant «text editor» :
Les commandes essentielles de Emacs et de Geany sont présentées dans la mini-référence.
Copiez dans le répertoire ~/Desktop/myfiles/java/cours01 que vous avez créé précédemment les fichiers poeme1.txt et poeme2.txt fournis.
Lancez Emacs et ouvrez ces fichiers (vous pouvez les ouvrir dans deux fenêtres différentes, ou dans la même fenêtre). Exercez-vous à éditer 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 accents du texte, ou de sauvegarder un nouveau fichier qui contienne les textes des deux fichiers). Nous vous conseillons également de suivre le didacticiel de Emacs, 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).
Fermez Emacs et essayez ensuite de faire le même genre de manipulatons avec Geany.
Ceci vous permettra de vous faire une première idée sur ces deux différents éditeurs. Vous pourrez utiliser indifféremment l'un ou l'autre.
Souvenez-vous aussi si vous travaillez sur une mmachine de l'EPFL que :
Pour écrire un programme Java, l'environnement de développement de ce langage (Java Development Kit (JDK)) vous sera nécessaire. Cet environnement, dans sa version OpenJDK, est gratuit et contient un certain nombre de commandes de base que vous pouvez lancer dans un terminal: par exemple javac, permettant de compiler un programme, et java, de l'exécuter.
Travailler avec des lignes de commandes peut cependant être
relativement inconfortable et difficile pour des
débutants. Nous avons donc choisi de vous faire utiliser ce que
l'on appelle un environnement de développement
intégré (EDI) ou Integrated Development Environment
(IDE) en anglais. Il s'agit en l'occurence de IntelliJ.
IntelliJ est une couche au dessus du Java Development Kit qui simplifie l'édition, la compilation et l'exécution d'applications Java.
IntelliJ : Configuration de base
Lancez maintenant IntelliJ. Vous pouvez pour cela :
Commencez par créer un/des répertoire/s pour stocker le code lié à vos séries, par exemple CS107/series/. Nous supposerons qu'à l'avenir toutes vos séries seront contenues dans ce répertoire (mais libre à vous de structurer les choses comme bon vous semble).
Dans ce cours, nous utiliserons un projet par série d'exercices. La création d'un projet doit être répétée au début de chaque série (Attention! pas chaque exercice). Le fait d'associer chaque série à un projet IntelliJ particulier permet d'éviter d'éventuels conflits de noms (cas où deux classes différentes porteraient le même nom dans différentes séries).
Commencez par créer un/des répertoire/s pour stocker le code lié à vos séries, par exemple CS107/series/.
Notez que par défaut, vos projets sont sauvegardés dans le répertoire .ideaProjects dans le dossier utilisateur de votre ordinateur. Vous êtes cependant libre de choisir l'emplacement que vous désirez.
Pour créer un projet, cliquez sur New Project dans le menu principal:
Si vous aviez d'autres projets ouverts, vous pouvez tout simplement invoque File -> New -> Project via les boutons de l'interface.
Attention : Si vous travaillez sur une machine virtuelle de l'EPFL (VDI), il est impératif que votre projet se trouve dans un sous-dossier du dossier myfiles/ comme suggéré par la figure ci-dessous.
Vous devez ensuite introduire le nom de votre projet. Cette fois, tapez Serie1, la semaine prochaine vous mettrez Serie2 etc.
Vérifiez que vous avez bien sélectionné la version 21 de Java en pointant le dossier JDK préalablement installé, par exemple de jdk-21.0.4+7. Vous devriez obtenir quelque chose comme dans l'image ci-dessus.
Attention en choisissant l'option par défaut proposée par IntelliJ à la place de la version de Java que vous avez installée selon les tutoriels, IntelliJ téléchargera une nouvelle version de Java qui ne sera pas forcément LTS ("Long-Term Support"). Notez que cette version de Java installée par IntelliJ ne sera pas reconnue par votre ordinateur. Pour la faire reconnaître, il faut suivre à nouveau les instructions des tutoriels d'installation, après avoir repéré dans quel dossier se trouve la version installée par IntelliJ.
Décocher enfin la case Add sample code et cliquez sur Create.
IMPORTANT
Les logiciels JDK et Eclipse sont installés sur les machines des salles de TP.
Eclipse : Configuration de base Lancez maintenant Eclipse. Vous pouvez pour cela :
Une boîte de dialogue comme celle de la figure ci-dessous va apparaître vous demandant quel est le répertoire associé à votre espace de travail (workspace). Nous expliquerons plus tard ce qu'est un workspace. Si vous travaillez sur les machines de l'EPFL, mettez impérativement le chemin suggéré par la figure ci-dessous (où "sam" aura été remplacé par votre propre nom d'utilisateur et où "myfiles" doit absolument figurer) et sélectionnez la boîte "Use this as the default and do not ask again".
Acceptez en cliquant sur OK Vous verrez alors apparaître un écran de bienvenue similaire à celui-ci: Notez que vous pouvez faire apparaître cet écran de bienvenue en cliquant sur Welcome dans le menu Help.
Cet écran vous permet d'accéder facilement à des fichiers d'aide et des tutoriaux Eclipse. Fermez cet écran en cliquant sur la flèche (au coin en haut à droite de l'écran) :
Vous vous trouvez maintenant sur le workbench ("environnement de travail") par défaut. La configuration par défaut d'un workbench Eclipse étant plutôt compliquée, nous allons commencer par la simplifier.
Pour ceci, fermer toutes les différentes "vues" (views) présentes en cliquant sur les petites croix associées à leurs entêtes: Vous devriez alors obtenir un workbench dépouillé de ce style: Ne rouvrez ensuite que la vue Package explorer. Pour ceci, séléctionnez "Window->Show View->Package explorer": Vous obtenez au final un workbench tout simple comme celui-ci:
Exercice 14: Tutorial Eclipse 2 (inutile si vous travaillez avec IntelliJ) : Créer un projet (Eclipse, Niveau 0)
Pour créer un projet, cliquez sur "File->New->Java Project" dans le menu principal:
Vous devez ensuite introduire le nom de votre projet. Cette fois, tapez "Serie01", la semaine prochaine vous mettrez "Serie02" etc.
Cliquez sur "Finish" .
Refusez la création d'un module:
Vous disposerez alors d'une coquille de projet prête à accueillir du code Java
Commencez par regarder cette petite vidéo d'introduction. Lisez ensuite la synthèse plus détaillée présentée dans ces transparents mis à disposition sur Moodle.
Les principales commandes (ls, cd, cp,...) sont présentées dans la mini-référence du cours.
Vous êtes en principe alors prêts à réaliser les manipulations requises par cet exercice.
Remarque préalable : cet exercice est surtout une invitation à l'apprentissage par l'expérimentation. L'idée est de commencer à vous familiariser un peu avec le monde Unix en essayant les commandes qui font l'objet des questions ci-dessous.
Pour gérer les fichiers, on peut soit utiliser le gestionnaire de fichier, soit utiliser directement des commandes du langage shell d'UNIX dans une fenêtre Terminal.
Ouvrez un terminal et allez dans le répertoire ~/Desktop/myfiles/java/cours01.
Ouvrez un terminal et allez dans le répertoire ~/Desktop/myfiles/java/cours01 au moyen de la commande cd.
Si vous avez fait l'exercice sur les éditeurs, vous devriez avoir dans ce répertoire les deux fichiers poeme1 et poeme2.
Tapez la commande Unix ls pour voir listé ces deux fichiers.
Créez, à l'aide de la commande Unix mkdir, un sous-répertoire test (dans ~/Desktop/myfiles/java/cours01).
Quelle est la différence entre les deux commandes suivantes :
cp poeme1.txt test/f1.txtet
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/tcsh
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 chaps 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).
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 tout ce qui est dans le fils man du père de /usr/share/fonts et qui commence par f.
listez tous les éléments de /etc commençant par o ou n et se terminant par i, e ou s
Votre charge de travail va rapidement augmenter dans les prochaines semaines et cette série est une des seules à vous offrir beaucoup de temps libre :-)
Profitez de ce temps pour naviguer dans la page des références et lien utiles du cours. Vous y trouverez divers ressources utiles; dont une petite revue bibliographique de livres sur Java.
Pour vous déconnecter de votre session de travail, il vous suffit le sélectionner l'option Log out qui apparaît lorsque vous cliquez sur le bouton "Eteindre" tout en haut à droite de votre écran de travail :
Dernière mise à jour: 13/09/2024 (Revision: 1.2)