TP 1 : Premier contact avec LINUX

Prérequis

Avant de pouvoir accéder aux systèmes informatique de l’IUT, vous devez vous assurer de connaitre vos noms d’utilisateurs et vos codes secrets. Si vous n’avez pas encore ces informations, veuillez le signaler à votre enseignant.

Il est FORMELLEMENT interdit de partager vos identifiants avec un autre étudiant et de faire travailler différents étudiants sur différentes machines avec un même compte.

1. Connexion au système et ouverture de sessions de travail

Les systèmes LINUX sont des systèmes multi-utilisateurs et multi-tâche. Afin d’utiliser le système, chaque utilisateur doit être authentifié à l’aide d’un "compte de connexion" auquel est associé un "mot de passe".

A chaque fois qu’un utilisateur se connecte au système grâce à son compte, il ouvre une session qui lui permet d’utiliser la machine (lancer des applications, accéder aux fichiers, ...).

Chaque utilisateur dispose d’un espace de stockage privé appelé "répertoire utilisateur" ou encore "home directory". Dans le jargon informatique, on utilise le plus souvent le terme "home" pour désigner cet espace.

Question 1 : En utilisant une machine de la salle de TP sous LINUX, démarrer une session avec vos identifiants.

2. Terminal et shell

Bien que la plupart des distributions actuelles de LINUX proposent des interfaces graphiques avancées, la grande force du système réside dans son terminal et son interpréteur de commandes, le shell.

Le terminal est une interface textuelle permettant à l’utilisateur de taper des commandes et d’utiliser les fonctionnalités du shell. Le shell propose des commandes de haut niveau pour permettre à l’utilisateur d’intéragir avec le système.

Question 2 : En cherchant dans l’interface de départ, lancer un terminal.

Le terminal permet à l’utilisateur d’entrer des commandes. Une commande est caractérisée par un nom de commande et des arguments. Afin de taper une commande, il suffit de taper son nom, ses arguments et de taper sur la touche "entrée" (ou "return").

Question 3 : Taper la commande ls dans le terminal ouvert. Que se passe-t’il ?

Par défaut, le terminal est ouvert dans le répertoire home de l’utilisateur courant. Afin de savoir ou se trouve ce répertoire dans système de fichier, il est possible d’utiliser la commande pwd.

Question 4 : Taper la commande pwd dans le terminal ouvert. Que se passe-t’il ?

Le terminal affiche toujours des informations qu’il n’est pas possible d’éditer ou d’effacer. Par défaut, ces informations se terminent toujours par le signe $. Dans le cadre de terminaux de commandes, ce signe est appelé le prompt.

3. Généralités

Les informations relatives aux utilisateurs sont stockées sous forme de fichiers. Le fichier /etc/passwd contient la liste des utilisateurs du système avec les informations les concernant.

On manipule le système et les informations contenues dans des fichiers, au moyen de commandes (passwd, cat, cal, date ...). La commande cat permet par exemple d’afficher le contenu d’un fichier texte.

Question 5 : Taper la ligne de commande cat /etc/passwd que se passe-t’il ?

Dans ce fichier, chaque ligne correspond aux informations liées à un utilisateur de la machine. On peut définir des utilisateurs non pas pour une seule machine, mais pour un ensemble. Pour cela, un fichier "/etc/passwd" sera placé sur une machine de référence appelée "serveur".

Question 6 : Consultez ce fichier à travers le réseau en utilisant la commande suivante ypcat passwd

Si l’affichage à l’écran d’une commande comporte plus de lignes que ne peut en afficher votre terminal, faire suivre l’appel à cette commande de | more.

Question 7 : Consultez ce fichier à travers le réseau en utilisant la commande suivante ypcat passwd | more

4. Interprète de commandes

Les commandes tapées dans le terminal sont analysées et exécutées par le shell. Exécuter une commande correspond à exécuter un programme par le shell. Une commande peut :

  • avoir besoin d’informations pour s’exécuter : les arguments ;
  • produire ou transformer de l’information depuis ou vers un fichier ;
  • produire des un messages comme des messages d’erreur en cas de mauvaise utilisation.

La commande passwd permet de changer de mot de passe, elle demande des informations à l’utilisateur en utilisant le terminal comme une entrée.

Question 8 : Utiliser la commande de changement de mot de passe en tapant dans le terminal passwd

Le shell affiche alors un prompt et attend une intervention.

Tant que l’utilisateur ne saisit pas son nouveau mot de passe, le terminal est bloqué.

Pour sortir de ce blocage, il faut utiliser la combinaison de touches CTRL+D. Le faire pour arrêter la commande en cours.

La combinaison CTRL+D n’est pas la seule méthode pour sortir de boucles d’entrées.

Question 9 : Utiliser la commande de changement de mot de passe en tapant dans le terminal passwd. Arrêter celle-ci en tapant exit à la place du mot de passe demandé.

5. Arguments

Parmi les arguments dont peut avoir besoin une commande, on trouve les options et les paramètres. Une commande peut être lancée avec une ou plusieurs options, un ou plusieurs paramètres ou les deux (options et paramètres).

Linux est un système multi-utilisateurs, il permet plusieurs sessions d’être ouvertes en même temps. La commande who permet de connaître les sessions en cours.

Question 10 : Lancer les différentes lignes de commande suivantes et commenter les différents résultats obtenus :

who

who -H

who am i

who -y

who --help

Une commande est un programme qui est stocké sous la forme d’un fichier sur le système. La commande which permet de retrouver le fichier correspondant à la commande passée en paramètre.

Question 11 : Taper la commande which who dans un terminal. Que se passe-t’il ? Quel est la fonction de who dans la commande tapée ?

6. Aide aux commandes

Pour avoir des informations sur l’utilisation d’une commande, on peut utiliser le manuel électronique en tapant la ligne de commande suivante :

man commande_choisie

commande_choisie est la commande pour laquelle on veut de l’aide.

On trouve en général les informations suivantes :

  • NAME : le nom de la commande dont la fonction est décrite ;
  • SYNOPSIS : toutes les possibilités de saisies liées à cette commande (syntaxe) ;
  • DESCRIPTION : une explication courte des conséquences de la commande ;
  • FILES : les fichiers modifiés par la commande ou nécessaires au moment de la saisie ;
  • OPTIONS : la liste des différentes options de cette commande ;
  • SEE ALSO : les références croisées vers d’autres commandes proches ;
  • DIAGNOSTICS : des explications sur les messages d’erreur ;
  • RETURN VALUES : ce que renvoie la commande ;
  • BUGS : des problèmes connus de cette commande ;
  • EXEMPLES : des exemples d’appel à cette commande ;
  • TIPS : des astuces pour utiliser cette commande.

Pour sortir du manuel, il suffit de taper la lettre q. La commande man étant une commande comme les autres, elle possède sa propre entrée dans le manuel.

Question 12 : Taper la commande man man dans un terminal et étudier son résultat.
 
Question 13 : A l’aide du manuel man et en observant le résultat des lignes de commande suivantes, expliquer ce que font les commandes cat, date, wc, cal, which, touch et grep dans les cas suivant :

cat /etc/passwd

date

wc /etc/passwd

wc -l /etc/passwd

cal

cal -j

which cal

touch essai

grep spool /etc/passwd

Il se peut qu’une commande ne rende pas la main. Dans ce cas il faut provoquer l’arrêt du programme correspondant en tapant au clavier CTRL+C, CTRL+D ou exit suivant le cas.

7. Répertoire de travail

Votre compte est un espace de travail personnel. Certaines commandes, dont pwd, ls, touch, mkdir, cd et rm, permettent d’explorer cet espace de travail et de le modifier

Question 14 : A l’aide du manuel (man) et en exécutant et en analysant le résultat de chacune des lignes de commande suivantes, préciser le rôle de chacune de ces commandes :

ls

ls -l

ls -a

ls -al

rm essai

rm -r essai2

rm -rf essai3

mkdir SE_essais

cd SE_essais

touch toto

cd ..

cd /etc

which cd

which date

cd /bin

8. Les éditeur de texte

Le rôle d’un éditeur de texte est de mettre des informations sous forme textuelle dans un fichier afin de les conserver dans le temps. La commande cat permet une première approche simplifiée de ce service.

Question 15 : Entrez et commentez la suite de lignes de commande suivantes :

cat > fich1

Taper ensuite un texte dans le terminal (vous remarquez que le prompt a disparu). Il est possible de taper un texte sur plusieurs lignes. Une fois votre texte tapé, utiliser la combinaison de touches CTRL+D afin de terminer la saisie.

Le texte a été sauvegardé dans le fichier fich1. l’existence du fichier peut être vérifiée par l’utilisation de la commande ls -l.

Question 16 : Afficher le contenu du texte tapé précédemment en utilisant la commande cat fich1

La commande cat, comme beaucoup de commandes, peut avoir besoin d’informations en entrée pour travailler ; elle peut aussi produire en sortie des informations.

Dans cette exemple > fich1 indique à la commande cat que les informations qu’elle produira ne seront pas affichées à l’écran, mais dans le fichier fich1.

Question 17 : Dans le deuxième appel à cat quel le statut du mot fich1 ? Expliquer.

9. Les entrées / Sorties

Une commande est un programme qui prends des informations sur une entrée, les traite et produit un résultat sur une sortie. Comme vu précédemment, l’utilisation du symbole > permet de changer la sortie d’une commande vers un fichier.

Question 18 : Utiliser les commandes appropriées et la redirection de sortie afin de lister les répertoires présents dans le dossier /etc dans un fichier appelé LS_ETC placé dans votre répertoire home.

Sous linux, tout est fichier. Les terminaux ne sont pas épargnés par cette règle. Il est notamment possible d’écrire sur un terminal non pas à partir du clavier mais à partir d’un autre terminal.

Question 19 : Ouvrir deux terminaux différents appelés A et B. Dans le terminal A, taper la commande :

tty

le résultat de la commande doit être quelque chose comme /dev/pts/0. Dans le terminal B, taper la commande :

cat > le_resultat_de_la_commande_precedente

Taper ensuite un texte en finissant par CTRL+D.

Que se passe-t’il dans le terminal A ?