Faculté Informatique & Communications Cours d'informatique |
Ce document a pour but de vous présenter le système UNIX ainsi que l'environnement de travail que vous utiliserez tout au long de cette année. Il n'a pas la prétention d'être exhaustif, mais plutôt de décrire les manipulations de base du système.
Note : pour créer de nouveaux fichiers on utilise plus couramment un éditeur, un autre outil décrit plus bas.
L'interface de commande, ou Shell, permet d'entrer des commandes au clavier et de recevoir des messages en retour. Elle permet également de définir des variables d'environnement, qui contrôlent le comportement de votre environnement. Seul le Shell tcsh sera présenté, car c'est l'un des plus pratiques et c'est également celui qui se trouve sur vos machines, mais il en existent d'autres comme par exemple bash ou zsh.
Les variables d'environnement sont un moyen de personnaliser votre environnement de travail, ainsi que certains programmes. Par exemple, le Shell tcsh utilise la variable
$prompt
qui définit l'allure du message d'invite (par exemple «vous@Ubuntu ~>»).
Les variables d'environnement commencent par un dollar ($) et, par convention, sont écrites en majuscules. Les instructions suivantes permettent de les manipuler :
setenv |
Affiche toutes les variables ainsi que leurs valeurs. | |
setenv TEST montestamoi |
Créé ou met à jour la variable $TEST avec la valeur «montestamoi» | |
echo $TEST |
Affiche la valeur de la variable $TEST. |
Sous UNIX, les fichiers sont organisés d'après une architecture en arborescencenbsp;: les fichiers sont disposés dans des répertoires, eux-mêmes pouvant être subdivisés en sous-répertoires. Chaque étudiant(e) possède un répertoire principal, ou «répertoire maison» (home directory, noté ~ ou $HOME). Seul le propriétaire pourra lire ou écrire dans ce répertoire. Ce dernier sera également accessible depuis n'importe quelle station des salles CO/20, CO/21 et CO/23.
pwd | affichage du répertoire courant |
Le chemin absolu (i.e. de la racine du système de fichiers à la position courante dans l'arborescence) est indiqué. |
cd | changement de répertoire | ||||||||
Permet de se déplacer dans l'arborescence des répertoires. | |||||||||
|
ls | liste le contenu d'un répertoire | ||||||
Permet de voir le contenu d'un répertoire de diverses manières. Beaucoup d'options sont disponibles, dont les suivantes : | |||||||
|
mkdir | création de répertoire | ||
Permet de créer un répertoire. | |||
|
rm | destruction de fichier(s) |
Permet de détruire un fichier. Les fichiers ainsi supprimés sont alors
irrémédiablement perdus.
La commande rmdir permet de détruire un répertoire préalablement vidé. |
cp et mv | copie et déplacement de fichiers | ||||||||
Ces deux commandes s'utilisent de façon similaire. cp permet de copier des fichiers d'un répertoire à l'autre, tandis que mv efface le fichier source après avoir effectué la copie (il déplace donc le fichier). | |||||||||
|
cat | concaténation (= mise à la suite, agrégation) de fichiers |
Concatène (= met bout à bout), sur la sortie standard, les fichiers passés en arguments (ou l'entrée standard si aucun argument n'est fourni). | |
cat fichier1 fichier2 > fichier3 crée le fichier3 comme concaténation (mise bout à bout) des fichiers fichier1 et fichier2. | |
cat > fichier1 crée le fichier1 et copie dedans tout ce que vous tapez au clavier. Tapez Ctrl-D (i.e. la touche «Control» et la touche «D» en même temps) pour quitter la commande. |
chmod | droits d'accès aux fichiers |
Lorsqu'on liste un fichier monfichier avec la commande ls -l monfichier, on obtient une ligne de la forme suivante :
-rw-r--r-- 1 prog liaguest 135 Oct 27 13:56 monfichier
Les droits d'accès sont codés par neuf caractères en trois blocs de trois caractères. Le premier bloc correspond aux droits du propriétaire, le suivant aux droits du groupe, et le dernier aux droits des "autres" (utilisateurs qui ne font pas partie du groupe spécifié). Dans chacun des blocs la présence de la lettre :
Dans l'exemple ci-dessus, monfichier peut être lu par l'utilisateur "prog", les utilisateurs appartenant au groupe "liaguest", et les autres. Seul l'utilisateur "prog" peut le modifier. Personne ne peut l'exécuter. chmod permet de changer ces droits (par exemple, pour empêcher les autres utilisateurs de pouvoir lire un fichier). Note : cette commande chmod ne fonctionne pas sous myfiles (en tout cas en 2015) ; si vous voulez la tester, il faut aller ailleurs que sous La syntaxe générale de chmod est : chmod [ugo][+-][rwx] nom_de_fichier Le +/- ajoute/enlève les droits de lecture/écriture/exécution (r/w/x) pour le propriétaire/groupe/monde (u/g/o). |
|
Exemples :
-rw------- 1 prog liaguest 135 Oct 27 13:57 monfichier Maintenant, seul l'utilisateur "prog" peut alors lire (et modifier) le contenu du fichier monfichier. Si l'on exécute ensuite chmod u-w monfichier, l'entrée devient : -r-------- 1 prog liaguest 135 Oct 27 13:58 monfichier Le fichier est protégé de toute modification, par n'importe qui. Il ne peut pas non plus être effacé. Enfin, avec chmod ugo+rwx monfichier, l'entrée devient : -rwxrwxrwx 1 prog liaguest 135 Oct 27 13:59 monfichier Tout le monde peut alors manipuler le fichier comme il l'entend, y compris essayer de le faire exécuter. |
man | manuel en ligne |
Permet d'obtenir des informations sur des commandes (pages de «manuel» ou «manpage» dans le jargon). Ce manuel peut aussi être accessible par le biais de l'environnement de fenêtres via le bouton «Help» dans le menu principal (celui du chapeau rouge). | |
man man donne la manpage de la commande man (!) |
quota -v | place disponible |
La commande "quota -v" vous permet de connaître l'espace disponible sur votre compte, ainsi que l'espace occupé par vos fichiers. Attention : s'il vous arrive de dépasser l'espace autorisé pour vos fichiers, vous ne pourrez plus rien écrire sur votre compte; il se peut même que vous ne puissiez plus vous connecter. |
Le développement de programmes peut se faire au moyen d'un simple éditeur (dont deux variantes sont décrites ci-dessous), c'est-à-dire un programme servant à créer/éditer de simples fichiers textes.
C'est cette option que nous choisissons dans ce cours. Il est cependant assez courant en programmation plus avancée d'avoir recours à des outils plus sophistiqués, les « Environnement de développement intégrés » (IDE en anglais pour « Integrated Developement Environment ») offrant de nombreuses commodités pour la gestion de projets. Nous n'avons pas retenue cette dernière solution pour des raisons pédagogique (montrer « ce qu'il y a vraiment derrière »).
Geany est un éditeur de texte récent, léger et qui excelle comme éditeur de code source (programmation) du fait qu'il intègre les fonctionnalités de base d'un IDE (Integrated Development Environment).
Le but de ce mode d'emploi est de vous familiariser avec la puissance de cet éditeur et de faciliter ainsi votre travail. Un conseil important : utiliser autant que nécessaire les commandes d'aide. La version de Geany qui sera décrite est la 0.14 (celle que vous avez). On trouvera un manuel complet de la dernière version sur le site http://www.geany.org/.
Geany permet d'ouvrir plusieurs fichiers en même temps à l'aide d'onglets (buffers). Il est d'ailleurs recommandé de procéder ainsi (plusieurs fichiers dans le même Geany) plutôt que d'ouvrir un nouveau Geany pour chaque fichier.
Voici quelques raccourcis clavier utiles à connaître. Il faut noter que ces combinaisons de touches sont intuitives. La convention suivante est utilisée :
«Ctrl» (parfois aussi noté C-) signifie qu'il faut laisser enfoncée la touche «Control» pendant que l'on presse la suivante. Par exemple, Ctrl-c indique qu'il faut presser la touche Control et la laisser enfoncée en pressant c. La même convention a cours pour la touche Meta notée «M-», représentée sur le clavier par un losange (on peut aussi utiliser la touche Escape - «Esc»).
La liste exhaustive des raccourcis clavier peut être obtenue à cette adresse : http://www.geany.org/manual/current/#keybindings our directement depuis Geany via le menu «Help» / «Keyboard Shortcuts».
Ctrl-o | Ouvrir un fichier |
Ctrl-s | Sauvegarder le fichier courant |
Ctrl-q | Quitter Geany |
Ctrl-PgDn | Passer au buffer suivant |
Ctrl-PgUp | Passer au buffer précédent |
Ctrl-w | Fermer le buffer courant |
Ctrl-f | Rechercher une chaîne de caractères |
Ctrl-l | Rechercher un numéro de ligne |
Ctrl-h | Remplacer les occurrences d'une chaîne de caractères par une autre |
Ctrl-x | Couper la sélection courante |
Ctrl-c | Copier la sélection courante |
Ctrl-v | Coller la dernière sélection |
Vous pouvez aussi utiliser les commandes du menu "Edit", ainsi que les touches Cut (couper), Copy (copier) et Past (coller) sur la gauche du clavier.
Pour le copier-coller cependant, la solution la plus simple est d'utiliser uniquement la souris : sélectionnez la partie du texte qui vous intéresse en pressant le bouton gauche et en déplaçant la souris; relâchez le bouton gauche lorsque le texte sélectionné vous convient, puis placez le pointeur de la souris à l'endroit où vous voulez coller le texte, et cliquez avec le bouton du milieu. Cette technique a l'avantage de fonctionner avec quasiment tous les programmes pour Unix (vous pouvez l'utiliser par exemple pour copier du texte depuis mozilla (navigateur Internet) et le coller dans Geany).
La configuration de l'éditeur Geany est définie de manière globale. Aucune configuration n'est nécessaire de votre part. Cependant, si vous désirez ajouter vos paramètres personnels, il vous suffit d'éditer le fichier suivant: ~/.geany/geany.conf.
|
Pour que la mise en évidence syntaxique, l'auto-indentation et surtout l'adaptation automatique de la commande de compilation puissent se réaliser, il est obligatoire que vous spécifiez un nom de fichier avec une extension correcte, c'est-à-dire .cc ou .cpp pour un programme C++.