Page suivante Page précédente Table des matières

7. Quelques bases Linux

Paul Anderson paul@geeky1.ebtech.net

C'est en parcourant la colonne courrier des lecteurs de la Gazette Linux, que j'ai remarqué un certain nombre de demande d'information de base à propos de Linux et leur utilisation. Dans cette documentation, je donnerais les bases pour se connecter, utiliser le shell, et même quelques procédures shell rudimentaires et des utilitaires intéressants et variés. Par contre, je ne parlerais pas de l'utilisation de X window, qui peut être un sujet à lui seul. Aussi, je ne parlerais que de la distribution Debian car je n'ai pas de RedHat ou de Suse ou d'autres distributions à disposition.

Avant de commencer, je voudrais préciser un point : Linux est nettement plus puissant que n'importe quel produit Microsoft, et cette plus grande puissance va de pair avec la responsabilité d'apprendre à l'utiliser correctement. Il faut s'attendre à cela, et c'est beaucoup moins difficile que certains ne le disent.

7.1 Se connecter

Bon, vous venez d'installer Linux et vous êtes sur le point de l'utiliser. Vous vous retrouvez devant un écran qui ressemble à :


Debian GNU Linux 1.3 babasse tty1

babasse login:

Vous vous êtes certainement créé un compte, et nous allons l'utiliser. Dans ces exemples, le compte est paul, le mot de passe motdepasse. Maintenant, au prompt login entrez votre nom d'utilisateur, dans notre exemple paul. L'écran ressemblera alors à :


Debian GNU Linux 1.3 babasse tty1

babasse login: paul
Password:

Maintenant, regardez bien vos doigts lorsque vous tapez votre mot de passe - il ne sera pas affiché pour des raisons de sécurité, et regarder vos doigts vous aidera à ne pas faire d'erreur. Le système va maintenant afficher le contenu de /etc/motd, et exécuter le fichier .bash_profile dans votre répertoire personnel, si vous utilisez le shell bash (la plupart des distributions l'utilisent par défaut).

7.2 Utiliser le shell

Le shell est une sorte de command.com du DOS, mais BEAUCOUP plus puissant. La première commande que nous allons utiliser est la commande touch. Elle permet tout aussi bien de créer un fichier vide, que de mettre à jour la date de dernière modification d'un fichier déjà existant. Le prompt du shell sera probablement le signe dollar. En premier, nous voulons créer un répertoire pour y mettre notre travail. Au prompt, tapez :


mkdir toto

Maintenant, nous allons utiliser la commande ls, laquelle est l'équivalent de la commande dir du DOS. Pendant que j'y suis, si vous voulez plus d'informations sur l'utilisation d'une commande utilisée ici, tapez :

man cmd

cmd est la commande sur laquelle vous voulez plus d'informations. man est le reaccourci de "manual page" (pages du manuel). Tapez ls, et il listera toto. Maintenant tapez :


cd toto

Okay, vous êtes maintenant dans le répertoire toto. Hum !, un peu troublant non ? Le répertoire courant n'est pas affiché au prompt. Remédions à cela. La variable d'environnement PS1 contient les caractéristiques du prompt. Tapez :


export PS1="\`pwd\`:\`whoami\`:\$ "

Et vous remarquerez que votre prompt à changé ! Expliquons... export est utilisé dans bash pour permettre à la variable d'être transmise aux autres shells que vous exécutez - si vous n'exportez pas la variable et exécutez un programme, ce dernier ne connaîtra pas la variable. C'est une bonne habitude d'utiliser export à chaque fois que vous créez une variable d'environnement. Ensuite, vous remarquerez \`pwd\`. Vous vous demandez qu'est-ce que c'est que ce truc \` ? En bash, la barre oblique inverse est utilisé pour neutraliser un caratère - empêcher le shell de l'évaluer. Pourquoi la quote inverse ? Dans un shell, elle est utilisée pour indiquer au shell de remplacer les trucs entre les quotes inverses par ce qui est affiché par les programmes qui sont à l'intérieur de celles-ci. Par exemple, tapez :


echo f`pwd`f

Le système affichera :


f/home/paulf

Le shell évalue les quotes inverses, et remplace le texte à l'intérieur de celles-ci avec la sortie du programme pwd. Bon, maintenant, si nous n'avions pas neutralisé les quotes inverses - le shell les aurait évaluées alors qu'il n'aurait pas du et la partie répertoire courant du prompt serait restée toujours la même. Maintenant, en bash,   se réfère à votre répertoire personnel. Continuons, tapez :


echo ~

Vous obtiendrez quelque chose comme :


/home/paul

Ainsi, nous dirons que le répertoire toto que vous avez créé est dans le chemin  /toto. Maintenant je voudrais que vous tapiez :


touch bork

Puis tapez ls de nouveau. Whouaouaoua ! vous venez juste de créer un fichier vide ! Maintenant, faites le encore, à part que cette fois vous allez créer trois fichiers - toto.txt, bork.txt et bar.txt. En DOS, si vous vouliez changer l'extension de ces fichiers en .html, vous auriez eu à le faire à la main, hein ? Linux, cependant, est beaucoup plus puissant. Tapez :


for i in `ls`; do mv $i `basename $i .txt`.html; done

Et faites un ls à nouveau. Ils ont tous leur extension changée en .html ! Vous venez réellement de faire un peu de programmation shell. Vous avez écrit ce qui s'appelle une boucle for (pour des raisons évidentes). Pour chaque instance rapporté par ls, on affecte la variable d'environnement $i, et les trucs après do sont exécutés. C'est maintenant le bon moment pour utiliser man et apprendre la commande basename. Celle-ci supprime l'extension indiquée (dans le cas présent, .txt) et retourne la valeur $i sans l'extension. Les quotes inverses permettent de s'assurer que le shell finira par voir :


mv toto.txt toto.html

Etonnant, non ?

Nous terminons ainsi cette introduction au shell. La prochaine fois, j'espère écrire une introduction à emacs et l'écriture de procédures shell (les shell scripts).


Paul Anderson, paul@geeky1.ebtech.net - Paru dans le numéro 34 de la Linux Gazette

Adaptation française : Frédéric Gacquer (Neuronnexion)


Page suivante Page précédente Table des matières