Le shell désigne un interpréteur de commandes. Son rôle est de faire l’interface entre l’utilisateur et le système d’exploitation Unix. Il permet d’exécuter les commandes de l’utilisateur et d’afficher le résultat à l’écran. Il existe plusieurs types de shell:
le /bin/sh appelé shell Bourne
le /bin/bash appelé shell Bourne Again SHell
le /bin/csh appelé C shell
le /bin/ksh appelé Korn shell
le /bin/tcsh appelé shell amélioré
Une invite de commande primaire Prompt String 1 (PS1) pour un
utilisateur débute par le caractère $
ou >
(Bourne, Bash ou Korn
shell) et %
(C shell). En mode super utilisateur, le prompt (primaire)
commence avec le caractère #
. Un prompt secondaire Prompt String 2
(PS2) est utilisé lorsque la commande en cours a besoin de plusieurs
ligne.
Question. Ouvrez un “terminal” et testez la commande
exit
, puis réouvrez votre “terminal”.
Question. Essayez les commandes suivantes
pwd, ls, who, date, cal, echo
. Commentez leur fonctionnement.
Question. Essayez man cal
. La commande man
vous permet de
consulter le manuel d’un executable. Essayez man man
.
Question. Il est parfois préférable de consulter le manuel en anglais
qui peut être plus précis. Trouvez dans le manuel comment l’afficher en
anglais (man man
).
Question. Essayer les combinaisons usuelles suivantes en mode édition.
C-p
commande précédente
C-n
commande suivante
C-a
début de ligne
C-e
fin de ligne
C-b
caractère précédent
C-f
caractère suivant
C-d
supprime le caractère sous le curseur ou exit si plus de caractère
Del
caractère précédent le curseur
C-k
couper jusqu’à la fin de ligne
C-u
couper à partir du début de la ligne
C-y
coller
Return
validation de la ligne
C-c
annulation de la ligne en cours
C-c
représente l’appuye simultanné des touches Control
et c
.
Question. Essayez les commandes suivantes.
Question. Exécutez la suite de commandes.s
Maintenant pour aller dans votre répertoire d’accueil plusieurs possibilités:
cd ..
oucd ~
ou encorecd
Pour afficher les fichiers cachés, utilisez l’option -a
(fichiers dont
le nom commence par un .
tels que .bashrc
).
Question. Exécutez, en utilisant les mécanismes d’édition de bash, les commandes
La commande mkdir
(make directory) permet de créer un répertoire. Lors
de la création de ce répertoire, deux fichiers spéciaux sont crées : .
et ..
Ces deux fichiers spéciaux sont des liens vers le répertoire
courant et le répertoire “parent” utile pour l’execution de certaine
commande prenant un répertoire en argument.
Question. Créez un répertoire tmp
et un répertoire Projets
dans
son répertoire d’accueil. Plusieurs possibilités, par exemple:
Si le chemin est celui d’un fichier (ou répertoire) déjà présent, cela provoque une erreur: le nom de base doit être nouveau dans le répertoire de référence.
Exécuter la commande nano
. Nano permet d’éditer simplement et rapidement
les fichiers textes:
Il existe de nombreux raccourcis clavier qui facilite l’utilisation de l’éditeur. Voici quelques raccourcis commun:
Ctrl-o
sauver
Ctrl-x
quitter nano
Ctrl-c
annuler une action
Ctrl-k
couper une ligne
Ctrl-u
coller une ligne
Alt-A
activer le debut d’une sélection
Alt-6
copier la sélection
Ctrl-V
ou Ctrl-Y
pour naviguer plus rapidement dans le document
Ctrl-w
rechercher un texte
Alt-w
rechercher à nouveau le même texte
Question. Utiliser nano pour créer un fichier LISEZ_MOI
dans votre
répertoire principal contenant un petit texte de votre choix.
Question. Exécuter et commentez les commandes suivantes:
cp
est un chemin valide ne correspondant à aucun fichier ou répertoire, un nouveau
fichier est créé. Sinon, le fichier qui existe est écrasé.
Question. Essayez la suite de commandes :
rm -fr
avec précaution.
Regarder le manuel pour plus d’information.
Question. Créez à partir de votre répertoire d’accueil l’arborescence :
Les cases blanches sont des répertoires, tandis que les cases grisées sont des fichiers texte à créer. La marche à suivre pour cet exercice est la suivante:
créez les répertoires;
lancez nano à partir du répertoire d’accueil;
éditez les fichiers et sauvegardez-les.
Question. Placez-vous dans le répertoire test_dir
, et ramenez-vous
en deux commandes à:
Question. Depuis test_dir
essayez cp essai textes
; commentez le
résultat. Que fait dans ce même cas cp *
Essayez avec l’option -R
.
Commentez les erreurs possibles lors de l’exercice précédent:
Le fichier .bashrc qui se trouve dans votre réepertoire personnel est exéecutée avant chaque lancement de bash. Il contient les informations pour configurer votre shell bash selon votre gout. Ajoutez par exemple les lignes suivantes dans votre fichier .bashrc
Lancez un nouveau shell bash et essayez les nouvelles commandes c
, m
et cl
. Si vous voulez, par exemple, que les fichiers qui sont dans le
répertoire bin de votre réepertoire d’accueil soient directement
accessibles, ajoutez le chemin dans la variable PATH
comme suit:
Dans certaines situations, il peut s’avérer nécessaire d’ouvrir une session linux en mode texte. Ce type de session donne accès aux mêmes outils que la console mais ne permet pas de lancer d’application graphique.
Question. Ouvrir une session en mode texte par la combinaison de touches Control-Alt-F1. Saisir son identifiant puis son mot de passe.
Question. Créer un noveau fichier dans votre répertoire principal.
Repasser en mode graphique en utilisant la combinaison de touches Control-Alt-F7. Il est possible
d’avoir plusieurs sessions en mode texte différentes en utilisant Control-Alt-F2, Control-Alt-F3, etc. Ne pas oublier
de quiter votre session en utilisant la commande exit
.
Le système unix permet de se connecter à des serveurs distants au moyen
de la commande en ligne ssh
(ou Secure Shell) qui est un protocole de
communication sécurisé. La seule machine de l’école accessible depuis
l’extérieure s’appele ssh.enseirb-matmeca.fr
Question. Ouvrir un terminal et se connecter à la machine ssh en utilisant la commande:
Utiliser la commande hostname
pour afficher le nom de la machine sur
laquelle vous êtes connecté.
Question. Il est possible de copier des fichiers entre deux machines
distantes grâce à la commande scp
qui s’utilise commme la commande
cp
. Identifier une autre machine de la salle et essayer de copier des
fichiers localement dans le répertoire /tmp de la machine distante.
Dans l’utilisation de la commande scp
, les noms de fichiers ou
répertoires source ou destination sont préfixés par le nom de la machine
distante suivie du signe :
. Par exemple, la commande :
scp foo.txt reveille@ssh.enseirb-matmeca.fr:/tmp/
copie le fichier
foo.txt du répertoire courant dans le répertoire /tmp sur la machine
distante ssh de l’enseirb.