Introduction
Ce bureau d'études est consacré à l'utilisation et à la manipulation de shells (sous UNIX, un shell n'est rien d'autre qu'un interpéteur qui cherche à comprendre les commandes que vous entrez au clavier par exemple).Steve Bourne a donné son nom au premier shell utilisé sous UNIX, le Bourne-Shell: sh. D'autres shells existent tels que le rsh (Restricted Shell), le csh (C-Shell, un shell dérivé du langage C) le ksh (Korn-Shell) et le bash (Bourne Again Shell). C'est ce dernier que nous étudierons plus précisément dans ce bureau d'étude.
Les commandes usuelles
Remarque: le BOURNE AGAIN SHELL, très convivial, est lancé par défaut sur vos machines au démarrage (si tel n'était pas le cas, il aurait fallu taper bash pour lancer un tel shell.)Rappel de la liste des commandes usuelles
Commande | Descriptif |
ls | affichage du contenu du répertoire |
mkdir | création d'un répertoire (make directory) |
cd | changement de répertoire courant (change directory) cd .. ressort du répertoire. |
pwd | affichage du répertoire courant (print working directory) |
rm | suppression d'un fichier (remove) |
rmdir | suppression d'un répertoire vide (remove directory) |
mv | changement du nom d'un fichier (move) |
cp | copie de fichier (copy) |
cat | concaténation de fichiers (aussi visualisation d'un fichier à l'écran) |
more | affichage d'un fichier à l'écran |
ln | génération d'un lien sur un fichier |
cmp | comparaison de deux fichiers |
chmod | changement des droits sur un fichier (chmod 700, chmod 400...) |
ps | affichage de l'état des processus |
df | affichage de l'espace libre sur disque (disk feel) |
du | affichage détaillé de l'utilisation du disque (disk use) |
Ainsi, la commande ls, peu bavarde renverra par exemple
essai1 essai2 essai3 fichiers
Alors que la commande ls -l affichera
- r w - r - - r - - 1 schang users 5 sep 10 14:55 essai1
- r w x - - - - - - 1 schang users 5 sep 10 14:56 essai2
- - - - - - - - - - 1 schang users 5 sep 10 15:00 essai3
d r w x r - x r - x 2 schang users 1024 sep 10 15:01 fichiers
Le copier-coller sous UNIX
Imaginons que l'on souhaite faire du copier-coller de la chaine who am i dans une fenetre XTERM. Suivez les tapes suivantes:- sélectionner la zone à copier (clic sur le bouton de gauche de la souris en balayant la zone)
cliquer sur la fenêtre XTERM pour l'activer
cliquer sur le bouton du milieu de la souris
Essayez un copier-coller d'une commande bien curieuse: ddate...
Une touche bien pratique
Pour gagner du temps lorsque l'on tape des commandes, on peut utiliser la touche de tabulation: par exemple tapez his puis pressez une fois sur la touche de tabulation. L'ordinateur essaie de compléter au mieux.Cela fonctionne à n'importe quel moment. Cependant, si il y a ambiguité, l'ordinateur ne sait que répondre. Essayez par exemple de taper x puis la touche de tabulation. Rien ne s'affiche car de nombreuses commandes commençant par le caractère ``x'' existent. A présent réappuyez sur la touche de tabulation, l'ordinateur vous affichera toutes les possibilités. De manière générale, en appuyant 2 fois sur la touche de tabulation, l'ordinateur nous propose toutes les complétions possibles. Essayez à présent de taper tout de suite 2 fois sur la touche de tabulation: l'odinateur vous affiche alors toutes les possibilités.
Une manipulation très pratique
Classiquement, vous lancez nedit sur un fichier java; exemple: nedit fichier.java. Un problème qui en découle: vous ne pouvez plus lancer de commande dans la fenêtre depuis laquelle vous avez lancé le nedit; cette dernière est bloquée (vous avez beau taper javac fichier.java, dans la fenêtre, elle ne répond plus).Deux solutions s'offrent à vous:
1ère solution:a) vous tapez CTRL+Z (ceci stoppe le processus: essayez de rentrer quelque chose dans la fenêtre nedit, vous verrez qu'elle est bloquée),
b) vous rendez la fenêtre nedit à nouveau active en entrant au clavier: bg (souvenez-vous du cours, ceci permet de passer l'application courante en arrière-plan)
2ème solution:Remarque: de nombreuses autres solutions existent. Ainsi l'usage de l'éditeur vi qui est certes relativement pauvre mais présente l'avantage de fonctionner même si l'environnement est sensiblement dégradé (nous manipulerons brièvement vi dans la suite de ce bureau d'études).vous lancez votre commande directement en arrière plan par nedit fichier.java & (dans ce cas aucun problème de blocage...). Création d'un fichier texte
Afin de créer un fichier texte, qui pourra jouer le rôle de script, au moins 2 solutions sont possibles:
faire un nedit <nom de fichier> ou
faire cat > <nom de fichier> <RETURN> ...taper le contenu de votre fichier... une fois que vous avez fini de taper le contenu, faire <CTRL> + D
Création d'une arborescence
Avant de créer cette arborescence, voyons comment utiliser les touches de curseur Haut et Bas pour gagner du temps: pressez plusieurs fois sur le curseur vers le haut, à présent sur celui du bas...Dès lors qu'une commande vous intéresse, vous pouvez utiliser les curseurs Droit et Gauche afin de modifier la ligne en cours.
Rappels sur les droits des fichiers:
- On utilise la commande chmod,
prenons le cas d'un fichier essai dont les droits seraient par exemple r w x r - x r - -
le premier ``r'' tout à gauche désigne le droit un lecture pour le propriétaire,
le premier ``w'' tout à gauche désigne le droit un écriture pour le propriétaire,
le premier ``x'' tout à gauche désigne le droit un exécution pour le propriétaire,
la séquence suivante de 3 caractères désigne les droits pour le groupe auquel appartient l'utilisateur,
finalement, les derniers 3 caractères désignent les droits pour un utilisateur quelconque (ici, ce dernier n'aura qu'un droit en lecture),
ainsi, pour octroyer de tels droits sur le fichier essai, il suffit d'avoir fait au préalable un chmod 754 car la décomposition des droits se fait bit à bit par paquets de 3 bits (Propriétaire, Groupe, Utilisateur quelconque). Exemple pour les droits 754 :
- 7 = 4 + 2 + 1 r w x
5 = 4 + 0 + 1 r - x
4 = 4 + 0 + 0 r - -
Remarque:
Les droits d'un répertoire se manipulent comme ceux d'un fichier, seul le premier bit sera postionné à ``d'' par défaut pour indiquer qu'il s'agit d'un (d)irectory comme dans l'exemple suivant:d r w x r - x r - x 2 schang users 1024 sep 10 15:01 rep
Créer l'arborescence suivante en respectant les droits :
droits | autres attributs |
- r w - r - - r - - | 1 schang users 5 sep 10 14:55 essai1 |
- r w x - - - - - - | 1 schang users 5 sep 10 14:56 essai2 |
- - - - - - - - - - | 1 schang users 5 sep 10 15:00 essai3 |
d r w x r - x r - x | 2 schang users 1024 sep 10 15:01 rep |
0 commentaires:
Enregistrer un commentaire