1. Introduction
Vous devrez rédiger un compte-rendu de TP qui sera en fin de séance transmis par mail à votre chargé de TP. Ce compte-rendu nous sert à savoir ce que vous avez compris ou non, et vous servira pour réviser les TP ainsi que lors de l’évaluation pratique (les documents seront autorisés). Aussi, attachez-vous à présenter les informations importantes de façon à pouvoir les retrouver facilement.
Ce TP est conçu pour être effectué à distance. Suivre ces indications pour se connecter.
Manipulations en ligne de commande
Linux ayant hérité de la philosophie des systèmes Unix, il propose une autre interface que l’interface graphique : l’interpréteur de commande (ou shell). Les commandes que veut exécuter l’utilisateur sont entrées dans un terminal en mode texte. Bien que cette interface puisse paraître archaïque, elle est un outil très puissant et possédant de nombreux avantages sur les interfaces graphiques en particulier pour
- l’automatisation des actions ;
- la répétition des commandes : faire une même action sur trente six fichiers est plus facile ;
- la “traçabilité” : un historique des actions est conservé ;
- l’utilisation à distance : il y a beaucoup moins d’informations à transmettre par le réseau pour une interface textuelle que pour une interface graphique ;
- l’utilisation sur des matériels peu puissants comme des routeurs.
La commande passwd
Première manipulation à faire : changer de mot de passe. Pour ce faire, taper passwd
puis appuyer sur la touche Entrée. Le mot de passe actuel (Current
) est demandé, le taper. Le nouveau mot de passe est demandé puis sa confirmation.
Note lors de l’écriture de mots de passe, rien ne s’affiche dans le terminal et c’est normal.
Algorithme d’un shell
Les commandes que vous tapez sont analysées et exécutées par l’interpréteur de commandes. Une commande correspond en fait à l’exécution d’un programme dans l’interpréteur avec des options et des données. Pour s’exécuter, la commande que vous tapez peut :
- avoir besoin d’informations, sous forme de paramètres qui peuvent être des options, des fichiers à manipuler ou des arguments ;
- produire ou transformer de l’information (par exemple dans des fichiers) ;
- produire un message d’erreur.
L’algorithme de base d’un interpréteur de commande, c’est-à-dire le schéma de fonctionnement est le suivant :
- afficher le prompt (invite de commande) pour indiquer à l’utilisateur qu’il est prêt et attend une commande
- attendre l’appui de la touche Entrée
- interpréter la ligne de commande
- si la commande est bien formée, alors
- exécuter la ligne de commande
- sinon
- produire un message d’erreur
- revenir en i.
Pour sortir de cette boucle, il suffit de taper la commande exit
. Notez que l’étape 3 peut être complexe (cela inclut par exemple de transformer les noms de fichiers en des descripteurs des fichiers) et que l’étape 5 n’est en réalité pas effectuée par le shell mais consiste à confier au programme voulu de s’exécuter avec les arguments précisés, cette exécution peut produire des messages (y compris d’erreur).
Parmi les informations dont peut avoir besoin une commande, on trouve les options et les arguments. Une commande peut être lancée seule, avec une ou plusieurs options, avec un ou plusieurs arguments ou avec des options et des arguments. La syntaxe de base d’une commande est la suivante :
commande [options] [arg1] [arg2] ... [argN]
Où les crochets indiquent qu’un élément est optionnel (il ne faut pas taper les crochets). Les options sont en général de la forme -a
ou --option
. Notez que l’espace est interprété comme le séparateur des arguments, la commande commande Le nom de mon fichier
est donc compris comme la commande commande
avec 5 arguments : Le
, nom
, de
, mon
, et fichier
.
On peut noter que les lignes de commandes sont similaires à des phrases à l’impératif : la commande correspond au verbe à l’impératif (par exemple make, list, change, remove…), les arguments au complément d’objet, les paramètres à des compléments circonstanciels.
La commande who
Commençons avec un exemple : la commande who
. Le système que vous utilisez étant multi-utilisateurs, plusieurs utilisateurs peuvent être connectés simultanément, plusieurs sessions être en cours. La commande who
permet de connaître les sessions en cours.
Essayez les lignes de commande suivantes et interprétez leurs résultats :
who
who -H
who am i
who -y
Pour chacun, quelle est la commande, quelles sont les options (et leur rôle), quels sont les arguments ?
Les commandes d’aide
Vous avez vu que la commande who
vous donne de l’aide sur son usage quand vous utilisez une option inconnue. Il existe une autre source d’informations pour savoir comment utiliser une commande : le manuel. Pour avoir des informations sur la commande w
, il suffit de taper
man w
Par exemple, pour le manuel de la commande who
, on tapera
man who
Toutes les pages de manuel sont structurées de la même manière. Elles comportent des parties distinctes fournissant chacune une catégorie d’informations particulière :
- NAME
- nom et courte description de la commande
- SYNOPSIS
- usage de la commande
- DESCRIPTION
- description longue de ce que fait la commande
- OPTIONS
- les différentes options de la commande et leur signification
- RETURN VALUE
- ce que renvoie la commande
- ERRORS
- Les erreurs qu’elle peut renvoyer
- ENVIRONMENT
- variables d’environnement considérées
- FILES
- Les fichiers touchés
- VERSIONS
- versions
- NOTES
- notes
- BUGS
- problèmes connus de cette commande
- EXAMPLE
- quelques exemples d’utilisation
- AUTHORS
- les auteurs du programme
- SEE ALSO
- autres pages de manuel en relation avec celle-ci
Pour sortir du manuel, appuyer sur la touche q. Pour rechercher un terme, utilisez /terme
.
Une autre commande qui va vous être utile est la commande apropos
. Elle sert à savoir dans quelle page de manuel on pourra trouver des informations sur un terme donné.
2. Questions
- Parcourez les pages de manuel de
apropos
etman
. - Quelles commandes ont un rapport avec le calendrier ?
- Affichez un calendrier du mois.
- Affichez un calendrier de votre mois de naissance.
- Quand a eu lieu le passage du calendrier julien au calendrier grégorien en Grande Bretagne ? Affichez le calendrier du mois en question. Combien comptait-il de jours ?
- Quand ce passage a-t-il eu lieu en France ? En Russie ? Afficher les calendriers des mois concernés dans le pays concerné.
- (Optionnel) Quand a eu lieu la révolution d’octobre ?
- Que fait la commande
id
? Expliquerid
,id abanzet
etid -g abanzet
. - Quelles commandes ont un rapport avec les dossiers (directory) ?
- Que font les commandes
pwd
etls
?
Suite
Après les commandes d’aide, nous allons maintenant manipuler les commandes de création et suppression de fichiers et dossiers.