Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Administration Systeme Linux

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 47

ADMINISTRATION DES SYSTÈMES ET RÉSEAUX LINUX

CHAPITRE 1
GENERALITES SUR LE SYSTÈMES D’EXPLOITATION LINUX
1. Définition
Système d’exploitation : Un logiciel système qui fait fonctionner les autres programmes
(application). Il est responsable pour le chargement et l’exécution de programmes d’application. Il
doit veiller à la disponibilité des configurations matérielles et logicielles requises avant d’exécuter
le programme d’application. Un système d’exploitation est un programme qui agit comme un
intermédiaire entre un utilisateur d’un ordinateur, des logiciels d’application et le matériel
informatique.
Linux est un système d’exploitation, au même titre que Windows ou encore Mac OS . Il est réputé
entre autres pour sa sécurité et pour ses mises à jour plus fréquentes.

2. La naissance de Linux
Nous sommes donc en 1984. À cette époque, l’informatique n’est pas très développé. Microsoft
vient de sortir son premier OS : MS-DOS. Mais ce dernier est encore loin d’être abouti. Il y en
avait d’autres mais bien moins connus du grand public. Celui qui était considéré comme le meilleur
s’appelait « Unix ». Il était beaucoup plus puissant que MS-DOS mais aussi plus compliqué à
utiliser, ce qui explique pourquoi seuls les informaticiens professionnels l’utilisaient. Il est aussi
beaucoup plus ancien : ses origines remontent à 1969 ! Graphiquement, Unix ressemblait beaucoup
à MS-DOS : du texte blanc sur un fond noir.
Le projet GNU

En 1984, Richard Stallman créa le projet GNU. Richard Stallman était alors chercheur en
intelligence artificielle au MIT. Il voulait créer un nouveau système d’exploitation fonctionnant
comme Unix (les commandes restant les mêmes). Pourquoi vouloir créer une « copie » d’Unix ?
Parce qu’Unix était payant et devenait de plus en plus cher ! Richard Stallman a voulu réagir en
proposant une alternative gratuite : le projet GNU était né. GNU ne devait pas seulement être un
OS gratuit ; il devait également être « libre ». Un programme libre est un programme dont on
peut avoir le code source, c’est-à-dire la « recette de fabrication ». Au contraire, Windows est un
OS propriétaire dont le code source est conservé par Microsoft.

1
Un programme libre est un programme dont on peut avoir le code source, c’est-à-dire la « recette
de fabrication ». Au contraire, Windows est un OS propriétaire dont le code source est conservé
par Microsoft.
En 1991, Linus Torvalds, un étudiant de l’Université de Helsinki (Finlande), entreprend de
créer sur son temps libre son propre système d’exploitation. Ce système a pris le nom de Linux, en
référence au nom de son créateur (Linux est la contraction de Linus et Unix).
Quel rapport avec GNU ? Eh bien il se trouve que ces deux projets étaient complémentaires : tandis
que Richard Stallman créait les programmes de base (programme de copie de fichier, de
suppression de fichier, éditeur de texte), Linus s’était lancé dans la création du « cœur » d’un
système d’exploitation : le noyau. Le projet GNU (programmes libres) et Linux (noyau d’OS) ont
fusionné pour créer GNU/Linux.

3. Les distributions de Linux


Pour simplifier la vie des utilisateurs et leur permettre de faire un choix, différentes distributions
de Linux ont été créées. C’est un concept qui n’existe pas vraiment sous Windows. C’est un peu
comme la différence entre Windows 7 Familial et Windows 7 Professionnel, mais cela va bien plus
loin que ça. Voici ce qui peut différer d’une distribution à l’autre :
– l’installation : elle peut être très simplifiée comme très compliquée ;
– la gestion de l’installation des programmes. Si elle est bien faite et centralisée, elle peut rendre
l’installation de nouveaux logiciels plus simple que sous Windows, comme nous le verrons plus
loin !
– les programmes préinstallés sur l’ordinateur (Windows est par exemple livré avec Internet
Explorer et Windows Media Player). En fait, une distribution est en quelque sorte l’emballage de
Linux. Le cœur, lui, reste le même sur toutes les distributions. Quelle que soit la distribution que
vous installez, vous obtenez un Linux compatible avec les autres. Certaines distributions sont juste
plus ou moins faciles à prendre en main.

3.1 Les différentes distributions existantes


Il existe un grand nombre de distributions Linux différentes. voici au moins les principales :
– Slackware : une des plus anciennes distributions de Linux. Elle existe encore aujourd’hui !
– Mandriva : éditée par une entreprise française, elle se veut simple d’utilisation ;
– Red Hat : éditée par une entreprise américaine, cette distribution est célèbre et très répandue,
notamment sur les serveurs ;
– SuSE : éditée par l’entreprise Novell ;
2
– Debian : la seule distribution qui soit gérée par des développeurs indépendants plutôt que par
une entreprise. C’est une des distributions les plus populaires.

3.2 La distribution Debian


Nous, nous allons nous concentrer sur la distribution Debian
Pourquoi Debian ? Tout d’abord parce qu’il nous faut bien faire un choix. Ensuite parce que c’est
la seule distribution qui soit gérée par des gens comme vous et moi (enfin, assez doués en
programmation tout de même). Les autres distributions sont gérées par des entreprises, ce qui ne
les empêche pas d’être « Open Source » et gratuites, même si nous pouvons également les acheter
pour avoir droit à une assistance (hotline. . .). Debian est donc la seule distribution éditée par des
particuliers bénévoles à travers le monde.

Un autre gros avantage de Debian est le gestionnaire de paquets apt-get. C’est un programme qui
gère tous les logiciels installés et qui vous permet de les désinstaller en un rien de temps. D’autre
part, tous les logiciels sont centralisés en un même endroit, ce qui fait que vous n’avez pas à
parcourir tout le Web pour retrouver un programme. En fait, vous avez juste à indiquer le nom du
logiciel que vous désirez : Debian ira le télécharger et l’installer pour vous. C’est extrêmement
simple d’utilisation, je vous montrerai cela ! Debian a tellement de succès que de nombreuses
distributions sont basées sur Debian :

– Knoppix ;
– Skolelinux ;
– Ubuntu ;

3
Quant à Ubuntu, c’est la distribution qui a créé la surprise. Elle est devenue très populaire en peu
de temps. Pourquoi ? Il y a plusieurs raisons à cela.

– Elle est prévue pour le grand public, c’est-à-dire des gens comme vous et moi qui n’ont pas envie
de se prendre la tête pour utiliser leur ordinateur. Le slogan est « Linux for human beings », ce
qui signifie « Linux pour des êtres humains ». Cela veut tout dire.

– Les mises à jour sont fréquentes : les développeurs travaillent d’arrache-pied et une nouvelle
version de la distribution sort tous les six mois environ, ce qui vous permet de disposer des
dernières nouveautés.

Ubuntu

– Il y a beaucoup d’utilisateurs, donc beaucoup de gens pour vous aider si vous avez des questions
(un point à ne pas négliger !).

4
CHAPITRE 2
MANIPULER LA CONSOLE ET LES FICHIERS

1. Le shell bash
1.2 Rôle
Si les récentes distributions de Linux permettent de faire abstraction de la saisie d’instructions texte
en offrant des environnements graphiques attrayants, il est inenvisageable pour un professionnel
de Linux de ne pas connaître le fonctionnement de l’interpréteur de commandes et des principales
commandes qui lui sont associées. L’interpréteur de commandes, ou interprète, permet d’exécuter
des instructions que vous saisissez au clavier ou au sein d’un script et vous en retourne les résultats.
Cet interpréteur est un programme appelé shell.

Il existe plusieurs shells, chacun disposant de spécificités propres. Le Bourne Shell (sh)
est le shell le plus connu et le plus courant sur les Unix. Le CShell (csh) reprend la structure du
langage C. Le Korn Shell (ksh) est une évolution du Bourne Shell. Le ZShell (zsh) est luimême
une évolution du Korn Shell. Le shell de référence sous Linux se nomme le Bourne Again Shell
(bash). Voici une liste non exhaustive d’interpréteurs de commandes que vous pouvez rencontrer
sous Linux :

● sh : Thompson Shell (n’existe plus) ;


● sh : Bourne Shell (a remplacé le précédent) ;
● bash : Bourne Again Shell ;
● ksh : Korn Shell ;
● csh : C Shell ;
● zsh : Z Shell ;
● tcsh : Tenex C Shell ;
● ash : A Shell ;
● dash : Debian Almquist Shell.

2. Bash : le shell par défaut


a. Un shell puissant et libre
Le bash est un dérivé du Bourne Shell. Bourne est le nom du principal programmeur de ce shell.
Le bash n’est pas présent que sous Linux. Étant un logiciel libre, il peut être compilé et exécuté sur
de nombreuses plateformes. C’est le shell de référence sur les systèmes MacOS et il existe aussi
pour Windows.

5
b. L’invite de commande

Le shell attend des entrées au clavier sur une ligne appelée l’invite de commande ou prompt. Un
curseur, qui peut être représenté par un rectangle fixe, clignotant ou un caractère souligné, indique
la position actuelle de votre saisie. L’invite (prompt) fournit des informations sur le terminal et
votre position dans le système de fichiers. seb@slyserver:/home/public>
Dans cette invite tout à fait classique, vous trouvez quatre informations :
● seb : c’est le nom de connexion, ou login de l’utilisateur, actuellement connecté au terminal ;
● slyserver : c’est le nom d’hôte (hostname), le nom logique de la machine raccordée au terminal
● /home/public : c’est la position actuelle du shell dans le système de fichiers ;
● > : c’est la terminaison standard du bash pour un utilisateur sans pouvoirs.
Cette invite vous informe que c’est l’utilisateur sans pouvoirs d’administration seb qui utilise le
terminal (est connecté) sur la machine slyserver et qu’il est actuellement positionné dans
/home/public.
Le caractère de terminaison peut avoir d’autres significations :
● un $ indique que l’utilisateur n’a pas de pouvoirs particuliers, comme le >.
● un # indique que l’utilisateur est l’administrateur root qui a tous les pouvoirs.
Le chemin peut varier :
seb@slyserver:~> : le caractère tilde ~ indique que vous êtes dans votre répertoire personnel.
seb@slyserver:~/test> : le ~ se rapportant à votre répertoire personnel, vous êtes dans le répertoire
test au sein de celui-ci. Dans la suite, l’invite de commande sera généralement remplacée par un
simple dollar, $, ceci afin de gagner de la place sur la ligne de commande.

3. Utiliser le shell
a. La saisie
Dans le terminal, le clavier s’utilise comme d’habitude. Vous pouvez vous déplacer sur la ligne
avec les flèches de droite et de gauche du clavier et effacer des caractères avec les touches [Retour
arrière] et [Suppr]. Vous lancez l’exécution de la commande que vous avez saisi en appuyant sur
la touche [Entrée]. Il est temps de tester quelques commandes. La commande date indique la date
et l’heure actuelles. Vous n’obtiendrez évidemment pas le même résultat, et pas toujours dans la
même langue, selon votre installation Linux.

6
Une commande pratique, pwd : permet de savoir à quel endroit vous vous situez dans les
répertoires.

Le shell indique qu’il est actuellement positionné dans le répertoire /home/seb.


Commande ls : ls l’abréviation de « list », qui signifie « lister les fichiers et dossiers du
répertoire actuel ».
$ ls
Desktop Examples Images

Cela signifie que le répertoire actuel est constitué de trois dossiers : Desktop, Examples et Images.
Si vous n’avez aucune réponse, c’est que vous êtes dans un dossier qui ne contient ni fichier ni
dossier. En général, le système colore les éléments pour que l’on puisse distinguer facilement les
dossiers des fichiers.

b. Syntaxe générale des commandes


Les commandes ou instructions (les deux mots sont synonymes dans ce cas) GNU ont très souvent
une syntaxe reprenant la même structure :
Commande [paramètres] [arguments]
Une commande peut avoir ni paramètres, ni arguments. Dans ce cas elle exécute l’action par défaut
pour laquelle elle est programmée, ou affiche un message d’erreur si ceuxci sont nécessaires. Un
paramètre est une option de la commande. Les deux mots sont ici synonymes. C’est souvent une
simple lettre ou un simple chiffre précédé d’un tiret : -l, -p, -s, etc. Si la commande accepte
plusieurs paramètres, vous les saisissez les uns après les autres en les séparant par des espaces : -l
-r -t, ou en écrivant qu’un seul tiret puis tous les paramètres : -lrt. Les deux syntaxes sont acceptées
et produisent le même résultat. La seconde est seulement plus courte.
Dans certains cas un paramètre nécessite un argument, par exemple un nom de fichier. Dans ce cas
il est préférable de séparer ce paramètre des autres : -lrt -f monfichier.
Les arguments sont les entités sur lesquelles la commande doit exécuter son action. Leur type
dépend de la commande. Ce peut être un fichier, du texte, des nombres, etc.

c. Les paramètres courts (une lettre)


Les paramètres les plus courants sont constitués d’une seule lettre précédée d’un tiret. Par exemple
commande -d
Si on doit donner plusieurs paramètres, on peut faire comme ceci :
7
commande -d -a -U -h
Ou, plus court :
commande -daUh

Attention à la casse des paramètres (majuscules / minuscules) ! Si vous écrivez -u, cela n’a en
général pas du tout le même sens que -U !

Cela affiche tout le contenu du dossier, même les fichiers cachés. Un « fichier caché » sous Linux
est un fichier qui commence par un point. Normalement, si vous vous trouvez dans votre répertoire
home, vous devriez avoir une bonne flopée de fichiers cachés. Ce sont en général des fichiers de
configuration de programmes.
Exxemple avec la commande ls et rajoutons-lui le paramètre « a » (en minuscule) : ls –a

d. Les paramètres longs (plusieurs lettres)


Les paramètres constitués de plusieurs lettres sont précédés de deux tirets, comme ceci :
commande -- parametre
Cette fois, pas le choix : si vous voulez mettre plusieurs paramètres longs, il faudra ajouter un
espace entre chacun d’eux :
commande -- parametre1 -- parametre2
On peut aussi combiner les paramètres longs et les paramètres courts dans une commande :
commande -daUh -- autreparametre

Testons cela sur la commande ls avec le paramètre –all, qui signifie « tout » en anglais : ls –all
Comme vous le voyez, –all est un synonyme de -a. Ceci illustre le fait que qu’une commande
propose deux façons d’utiliser un paramètre : une courte et une longue.

e. Les valeurs des paramètres


Certains paramètres nécessitent que vous les complétiez avec une valeur. Cela fonctionne
différemment selon que vous travaillez avec un paramètre long ou avec un paramètre court.
Avec un paramètre court :
commande -p 14
. . . cela indique que l’on associe la valeur 14 au paramètre p. Avec ce genre de technique, on peut
par exemple faire comprendre à l’ordinateur : « Je veux voir la liste de tous les fichiers de plus de
14 Mo ». Si c’est un paramètre long, on fait en général comme ceci :
8
commande -- parametre =14
Le résultat sera le même, il est juste plus lisible mais aussi plus long à écrire.

f. Chaîner les commandes


Vous pouvez exécuter plusieurs commandes sur une seule ligne, les unes après les autres. Pour cela
il suffit de les séparer avec un point-virgule.
$ date;pwd;
lun fév 25 22:29:09 CET 2008
/usr/share/man/man9

g. Retrouver une commande


Linux propose tellement de commandes différentes qu’il est facile de s’y perdre et d’en oublier
une. Linux vous propose toute une série de façons de retrouver une commande que vous avez
oubliée.
- Auto complétion de commande
Le premier « truc » à connaître, c’est l’auto complétion de commande. Prenons la commande date
par exemple : vous êtes un peu tête en l’air et vous ne savez plus comment elle s’écrit. Par contre,
vous êtes sûrs des premières lettres de la commande. Lister les commandes correspondantes
Tapez juste « da » dans la console, puis tapez deux fois sur la touche Tabulation située
à gauche de votre clavier. Le résultat sera le suivant :
mateo21@mateo21 - desktop :~$ da
dash date
mateo21@mateo21 - desktop :~$ da
En tapant deux fois sur Tabulation, vous avez demandé à l’ordinateur la liste des commandes qui
commencent par « da ». On vous a répondu « dash » et « date ». Il y a donc deux commandes qui
commencent par « da », et vous venez de retrouver celle que vous cherchiez, c’est-à-dire « date ».
Bien sympathique, l’ordinateur a réécrit l’invite de commandes en dessous ainsi que le
début de la commande que vous aviez tapée. Vous n’avez plus qu’à compléter avec les
lettres « te » qui manquent et à taper Entrée, et ce sera bon.

- L’autocomplétion
Plus sympa encore, s’il n’y a qu’un seul résultat correspondant à votre recherche, l’ordinateur
complètera avec les lettres qui manquent et vous n’aurez plus qu’à taper sur Entrée ! Par exemple,
il n’y a qu’une commande qui commence par « dat ». Tapez donc dat dans la console, puis appuyez
une seule fois sur Tabulation. La commande se complète comme par magie.
9
h. L’historique des commandes
On a très souvent besoin de retrouver une commande que l’on a tapée il y a cinq minutes (ou même
cinq secondes). Parfois c’est parce qu’on a oublié la commande, mais c’est souvent aussi parce
qu’on a comme moi un énooorme poil dans la main et qu’on a vraiment la flemme de réécrire nous-
mêmes la commande en entier. Ce raccourci vaut de l’or : appuyez sur la flèche directionnelle Haut
; vous verrez apparaître la dernière commande que vous avez tapée. Si vous appuyez de nouveau
sur la flèche directionnelle Haut, vous verrez l’avant-dernière commande, puis l’avant-avant
dernière, etc. Si vous appuyez sur la flèche directionnelle Bas, vous reviendrez aux commandes les
plus récentes.

i. Ctrl + R : rechercher une commande tapée avec quelques lettres


Dans le cas où la flèche directionnelle Haut et la commande history ne suffiraient pas à retrouver
une vieille commande que vous avez tapée, il y a un raccourci super utile : Ctrl + R. Appuyez donc
sur les touches Ctrl et R en même temps et l’ordinateur se mettra en mode « recherche d’une
commande tapée » (« R » comme Recherche). Là, vous pouvez taper n’importe quelle suite de
lettres correspondant à une vieille commande. Par exemple, faites Ctrl + R puis tapez « all ». Linux
retrouve la commande ls –all qui contenait justement le mot « all ». Vous n’avez plus qu’à taper
Entrée pour relancer la commande !

( reverse -i- search )‘all ’: ls --all


Si ce n’est pas la commande que vous cherchiez, appuyez à nouveau sur Ctrl + R pour remonter
dans la liste des commandes contenant « all ». Ça a peut-être l’air bête sur une commande comme
ça, mais certaines sont vraiment très longues et c’est un vrai bonheur de ne pas avoir à les réécrire
en entier !

j. Quelques raccourcis clavier pratiques


On ne dirait pas comme ça, mais la console de Linux propose une quantité incroyable de raccourcis
clavier. Ce sont des raccourcis qu’on ne peut pas deviner, qu’on a un peu de mal à retenir au début,
mais quand on les connaît. . . waouh ! On devient un peu comme Neo dans Matrix en fait, on va
très vite. Ces raccourcis ne sont pas intuitifs, mais ça vaut vraiment le coup de les retenir.

– Ctrl + L : efface le contenu de la console.

10
– Ctrl + D : envoie le message EOF (fin de fichier) à la console. Si vous tapez ce raccourci dans
une ligne de commande vide (c’est-à-dire sans avoir écrit un début de commande au préalable),
cela fermera la console en cours. À noter qu’il existe aussi la commande exit qui a le même effet.
– Ctrl + A : ramène le curseur au début de la commande. La touche Origine a le même effet
– Ctrl + E : ramène le curseur à la fin de la ligne de commandes. La touche Fin a le même effet.
– Ctrl + U : supprime tout ce qui se trouve à gauche du curseur. Si celui-ci est situé à la fin de la
ligne, cette dernière sera donc supprimée.
– Ctrl + K : supprime tout ce qui se trouve à droite du curseur. S’il est situé au début de la ligne,
celle-ci sera donc totalement supprimée.
– Ctrl + W : supprime le premier mot situé à gauche du curseur. Un « mot » est séparé par des
espaces ; on s’en sert en général pour supprimer le paramètre situé à gauche du curseur.
– Ctrl + Y : si vous avez supprimé du texte avec une des commandes Ctrl + U, Ctrl + K ou Ctrl +
W qu’on vient de voir, alors le raccourci Ctrl + Y « collera » le texte que vous venez de supprimer.
C’est donc un peu comme un couper-coller.

11
CHAPITRE 3
LA STRUCTURE DES DOSSIERS ET FICHIERS

1. Organisation des dossiers


Le système qui gère les fichiers sous Linux est un peu déroutant au début, surtout quand
on est habitué à celui de Windows. En effet, ici vous ne trouverez pas de C:\, D. Les fichiers sont
organisés d’une manière complètement différente. Au lieu de séparer chaque disque dur, lecteur
CD, lecteur de disquettes, lecteur de carte mémoire. . . Linux place en gros tout au même endroit.

1.1 Deux types de fichiers


Pour faire simple, il existe deux grands types de fichiers sous Linux :
– les fichiers classiques : ce sont les fichiers que vous connaissez, ça comprend les fichiers texte
(.txt, .doc, .odt. . .), les sons (.wav, .mp3, .ogg), mais aussi les programmes. Bref, tout ça, ce sont
des fichiers que vous connaissez et que vous retrouvez dans Windows ;
– les fichiers spéciaux : certains autres fichiers sont spéciaux car ils représentent quelque chose.
Par exemple, votre lecteur CD est un fichier pour Linux. Là où Windows fait la distinction entre
ce qui est un fichier et ce qui ne l’est pas, Linux, lui, dit que tout est un fichier.

1.2 La racine
Dans un système de fichiers, il y a toujours ce qu’on appelle une racine, c’est-à-dire un « gros
dossier de base qui contient tous les autres dossiers et fichiers ». Sous Windows, il y a en fait
plusieurs racines. C:\ est la racine de votre disque dur, D:\ est la racine de votre lecteur CD (par
exemple). Sous Linux, il n’y a qu’une et une seule racine : « / ». Comme vous le voyez, il n’y a
pas de lettre de lecteur car justement, Linux ne donne pas de nom aux lecteurs comme le fait
Windows. Il dit juste « La base, c’est / ».

2. Architecture des dossiers


Sous Windows, un dossier peut être représenté de la manière suivante : C:\Program
Files\Winzip. On dit que Winzip est un sous-dossier du dossier Program Files, luimême situé à
la racine. Vous noterez que c’est l’antislash \ (aussi appelé backslash) qui sert de séparateur aux
noms de dossiers. Sous Linux, c’est au contraire le / qui sert de séparateur. Comme je vous l’ai dit,
il n’y a pas de C: sous Linux, la racine (le début) s’appelant juste /. Le dossier de notre super
programme ressemblerait plutôt à quelque chose comme cela : /usr/bin/. On dit que bin est un
sous-dossier du dossier usr, lui-même situé à la racine.

12
2.1 Les dossiers de la racine
Sous Windows, on a l’habitude de trouver souvent les mêmes dossiers à la racine : Documents
and Settings, Program Files, Windows. . . Sous Linux, vous vous en doutez, les dossiers sont
complètement différents. Voici la liste des dossiers les plus courants que l’on retrouve à chaque
fois à la racine de Linux.
– bin : contient des programmes (exécutables) susceptibles d’être utilisés par tous les utilisateurs
de la machine.
– boot : fichiers permettant le démarrage de Linux.
– dev : fichiers contenant les périphériques. En fait – on en reparlera plus tard – ce dossier contient
des sous-dossiers qui « représentent » chacun un périphérique. On y retrouve ainsi par exemple le
fichier qui représente le lecteur CD.
– etc : fichiers de configuration.
– home : répertoires personnels des utilisateurs. On en a déjà parlé un peu avant : c’est dans ce
dossier que vous placerez vos fichiers personnels, à la manière du dossier Mes documents de
Windows. Chaque utilisateur de l’ordinateur possède son dossier personnel. Par exemple, dans mon
cas mon dossier personnel se trouve dans /home/mateo21/. S’il y avait un autre utilisateur
(appelons-le Patrick) sur mon ordinateur, il aurait eu droit lui aussi à son propre dossier :
/home/patrick/.
– lib : dossier contenant les bibliothèques partagées (généralement des fichiers .so) utilisées par les
programmes. C’est en fait là qu’on trouve l’équivalent des .dll de Windows.
– media : lorsqu’un périphérique amovible (comme une carte mémoire SD ou une clé USB) est
inséré dans votre ordinateur, Linux vous permet d’y accéder à partir d’un sous-dossier de media.
On parle de montage.
– mnt : c’est un peu pareil que media, mais pour un usage plus temporaire.
– opt : répertoire utilisé pour les add-ons de programmes.
– proc : contient des informations système.
– root : c’est le dossier personnel de l’utilisateur « root ». Normalement, les dossiers personnels
sont placés dans home, mais celui de « root » fait exception. En effet, comme je vous l’ai dit dans
le chapitre précédent, « root » est le superutilisateur, le « chef » de la machine en quelque sorte. Il
a droit à un espace spécial.
– sbin : contient des programmes système importants.
– tmp : dossier temporaire utilisé par les programmes pour stocker des fichiers.
– usr : c’est un des plus gros dossiers, dans lequel vont s’installer la plupart des programmes
demandés par l’utilisateur.
13
– var : ce dossier contient des données « variables », souvent des logs (traces écrites de ce qui s’est
passé récemment sur l’ordinateur).

2.2 Schéma résumé de l’architecture


Pour que vous vous y repériez correctement, sachez qu’on peut présenter l’organisation
des dossiers de Linux comme le suggère la figure ci-dessous La racine tout en haut est / ; elle
contient plusieurs dossiers, qui contiennent chacun eux-mêmes plusieurs dossiers, qui contiennent
des dossiers et fichiers, etc.

3. Les commandes Liux


- pwd : où suis-je ?
pwd : afficher le dossier actuel
Lorsque vous ouvrez la console pour la première fois, Linux vous place dans votre
dossier personnel, votre home. Normalement, l’invite de commandes vous indique le nom du
dossier dans lequel vous vous trouvez : sous Linux le symbole ~ est un synonyme de votre dossier
personnel. Chez moi cela signifie donc /home/ mateo21
- ls : lister les fichiers et dossiers
La commande ls accepte un grand nombre de paramètres.
- ls -a : afficher tous les fichiers et dossiers cachés
Sous Linux, on peut « cacher » des fichiers et dossiers. Ce n’est pas une protection, car
on peut toujours les réafficher si on veut, mais ça évite d’encombrer l’affichage de la
commande ls.

14
- F : indique le type d’élément
Ce paramètre est surtout utile pour ceux qui n’ont pas affiché la couleur dans la console
(ou n’en veulent pas). Il rajoute à la fin des éléments un symbole pour qu’on puisse
faire la distinction entre les dossiers, fichiers, raccourcis. . .

mateo21@mateo21 - desktop :~$ ls -F


Desktop / Examples@ images / log/ tutos /
Grâce à ça on peut voir que tous les éléments sont des dossiers, sauf Examples qui est
un raccourci (d’où la présence du @).

- l : liste détaillée
Le paramètre -l (la lettre « L » en minuscule) est un des plus utiles. Il affiche une liste
détaillant chaque élément du dossier :

mateo21@mateo21 - desktop :~$ ls -l


total 16
drwxr -xr -x 2 mateo21 mateo21 4096 2007 -09 -24 17:22 Desktop
drwxr -xr -x 2 mateo21 mateo21 4096 2007 -09 -25 15:17 images
drwxr -xr -x 3 mateo21 mateo21 4096 2007 -09 -25 11:11 log
drwxr -xr -x 3 mateo21 mateo21 4096 2007 -09 -19 19:51 tutos

Il y a un élément par ligne. Chaque colonne a sa propre signification. De gauche à droite :


1. droits sur le fichier (on fera un chapitre entier pour expliquer comment fonctionnent les droits
sous Linux) ;
2. nombre de liens physiques (cela ne nous intéresse pas ici) ;
3. nom de la personne propriétaire du fichier (là, c’est moi !). Si le fichier avait été créé par
quelqu’un d’autre, par exemple Patrick, on aurait vu son nom à la place ;
4. groupe auquel appartient le fichier (on en reparlera dans le chapitre sur les droits). Il se peut que
le nom du groupe soit le même que celui du propriétaire ;
5. taille du fichier, en octets ;
6. date de dernière modification ;
7. nom du fichier (ou dossier).

- h : afficher la taille en Ko, Mo, Go. . .


Quand on fait un ls -l, la taille est affichée en octets. Seulement, ce n’est parfois pas très lisible. Par
exemple : Si vous rajoutez le paramètre h (« h » pour Human Readable, c’est-à-dire « lisible par

15
un humain »), vous obtenez des tailles de fichiers beaucoup plus lisibles (normal, vous êtes des
humains) :
mateo21@mateo21 - desktop :~/ Examples$ ls -lh
total 9,3M
-rw -r--r-- 1 root root 3,5M 2007 -04 -03 17:05 Experience ubuntu .ogg
-rw -r--r-- 1 root root 225K 2007 -04 -03 17:05 fables_01_01_aesop.spx
-rw -r--r-- 1 root root 829K 2007 -04 -03 17:05 gimp - ubuntu - splash.xcf
-rw -r--r-- 1 root root 1,2M 2007 -04 -03 17:05 kubuntu - leaflet .png
-rw -r--r-- 1 root root 47K 2007 -04 -03 17:05 logo - Edubuntu .png

Grâce à ça, on voit alors bien que le fichier Experience ubuntu.ogg fait 3,5 Mo, logo-Edubuntu.png
fait 47 Ko, etc.

- t : trier par date de dernière modification


Voilà une option dont l’intérêt est sous-estimé ! -t permet en effet de trier par date de
dernière modification, au lieu de trier par ordre alphabétique comme cela est fait par
défaut. On voit ainsi en premier le dernier fichier que l’on a modifié, et en dernier celui
auquel on n’a pas touché depuis le plus longtemps :
On peut combine un peu tous les paramètres que l’on vient de voir, ce qui donne un beau ls -larth

- cd : changer de dossier
La commande que nous allons étudier ici s’appelle cd, abréviation de Change Directory (changer
de dossier). C’est une commande très importante que vous allez utiliser quelques milliers de fois
dans votre vie Contrairement à ls, la commande cd ne prend pas plein de paramètres mais juste un
seul : le nom du dossier dans lequel vous souhaitez aller. Si on veut aller à la racine, il suffit de
taper cd / :
mateo21@mateo21 - desktop :~$ cd /
mateo21@mateo21 - desktop :/$ pwd
/
Après avoir tapé cd /, on se retrouve à la racine. L’invite de commandes a changé et le ~ a été
remplacé par un /. Si vous êtes sceptiques, un petit coup de pwd devrait vous confirmer que vous
êtes bien dans /
Listons les fichiers et dossiers contenus dans / :
mateo21@mateo21 - desktop :/$ ls -F
bin / dev/ initrd / lib/ mnt/ root / sys / var /
boot / etc / initrd . img@ lost + found / opt/ sbin / tmp /
vmlinuz@ cdrom@ home / initrd .img. old@ media / proc / srv/ usr /

16
Vous y retrouvez un grand nombre de dossiers décrits au début du chapitre. Allons dans le sous-
dossier usr :
mateo21@mateo21 - desktop :/$ cd usr
Voyons voir ce qu’il y a là-dedans. . .
mateo21@mateo21 - desktop :/ usr$ ls –F
bin / games / include / lib/ local / sbin / share / src / X11R6/
Chez moi, il n’y a que des dossiers, le dossier games m’intrigue, voyons voir ce que j’ai comme
jeux :

mateo21@mateo21 - desktop :/ usr$ cd games


mateo21@mateo21 - desktop :/ usr / games$
Schématiquement, on vient de faire ce qui est illustré dans la figure

4. Les chemins
41 Les chemins relatifs
Un chemin relatif est un chemin qui dépend du dossier dans lequel vous vous trouvez. Tout à
l’heure, on est allé dans le sous-dossier games de /usr en tapant juste son nom :
mateo21@mateo21 - desktop :/ usr$ cd games
En faisant cela, on utilise un chemin relatif, c’est-à-dire relatif au dossier actuel. Quand on met
juste le nom d’un dossier comme ici, cela indique que l’on veut aller dans un sous-dossier. Si on
fait cd games depuis la racine, ça va planter :
mateo21@mateo21 - desktop :/$ cd games
bash : cd: games : Aucun fichier ou ré pertoire de ce type
17
Je crois que le message d’erreur est assez clair : il n’y a aucun dossier games dans /. Pour se rendre
dans games, il faut d’abord indiquer le dossier qui le contient (usr) :
mateo21@mateo21 - desktop :/$ cd usr/ games
mateo21@mateo21 - desktop :/ usr/ games$

4.2 Les chemins absolus


Contrairement aux chemins relatifs, les chemins absolus fonctionnent quel que soit le dossier dans
lequel on se trouve. Un chemin absolu est facile à reconnaître : il commence toujours par la racine
(/). Vous devez ensuite faire la liste des dossiers dans lesquels vous voulez entrer. Par exemple,
supposons que je sois dans /home/mateo21 et que je souhaite aller dans /usr/ mateo21 Avec un
chemin absolu :
mateo21@mateo21 - desktop :~$ cd /usr/ games
mateo21@mateo21 - desktop :/ usr / games$
Si on avait voulu faire la même chose à coup de chemin relatif, il aurait fallu écrire :
mateo21@mateo21 - desktop :~$ cd ../../ usr/ games /
mateo21@mateo21 - desktop :/ usr / games$
Ce qui signifie « reviens en arrière (donc dans /home) puis reviens en arrière (donc dans /), puis va
en avant dans usr, puis va en avant dans games ».

4.3 Retour au répertoire home


Si vous voulez retourner dans votre répertoire home personnel, plusieurs solutions s’offrent à vous.
– La brutale : il suffit d’écrire le chemin absolu en entier. Cela donne :
mateo21@mateo21 - desktop :/ usr / games$ cd / home / mateo21 /
mateo21@mateo21 - desktop :~$
– La maligne : plus court et plus pratique, vous pouvez utiliser l’alias ~ qui signifie la même chose.
Cela donne :
mateo21@mateo21 - desktop :/ usr / games$ cd ~
mateo21@mateo21 - desktop :~$
– La super maligne : si vous ne mettez aucun paramètre à la commande cd, ça vous ramène aussi
dans votre répertoire personnel.
mateo21@mateo21 - desktop :/ usr / games$ cd
mateo21@mateo21 - desktop :~$

18
4.4 Autocomplétion du chemin
Cette astuce est vitale ; si vous ne vous en servez pas, vous passez à côté d’une des plus importantes
astuces de la console.
L’idée est simple : taper cd /usr/games/trucbidule c’est bien, mais c’est parfois un peu long de tout
écrire. L’autocomplétion de chemin fonctionne de la même manière que l’autocomplétion de
commande : avec la touche Tab (Tabulation). Commencez par vous placer dans /usr :

5. Du : taille occupée par les dossiers


mateo21@mateo21 - desktop :~$ cd /usr
mateo21@mateo21 - desktop :/ usr$
Tapez ensuite juste cd ga, puis appuyez sur Tab. C’est magique, le nom du dossier a été
automatiquement complété !
mateo21@mateo21 - desktop :/ usr$ cd games /
Revenez maintenant dans /usr (en faisant cd .. par exemple) et essayez de taper juste cd l, puis
faites Tab. Rien ne se passe : cela signifie que l’ordinateur n’a pas trouvé de dossier qui
corresponde au début de votre recherche, ou alors qu’il y en plusieurs qui commencent par « l ».
Faites à nouveau Tab :
mateo21@mateo21 - desktop :/ usr$ cd l
lib / local /
mateo21@mateo21 - desktop :/ usr$ cd l
On vient de vous donner la liste des dossiers qui commencent par « l » ! Cela signifie
qu’il faut préciser votre recherche parce que sinon, l’ordinateur ne peut pas deviner
dans quel dossier vous voulez entrer. Ça tombe bien, la commande a été réécrite en
dessous, vous n’avez plus qu’à ajouter une lettre plus précise : par exemple « o » pour
que Linux devine que vous voulez aller dans le dossier local. Tapez donc « o », puis à
nouveau Tab, et le nom sera complété !

mateo21@mateo21 - desktop :/ usr$ cd local /


Faites des tests pour vous entraîner à utiliser l’autocomplétion, c’est vraiment très important. Vous
allez voir, c’est intuitif et vraiment pratique !

19
du : taille occupée par les dossiers
La commande « du », pour Disk Usage (utilisation du disque) vous donne des informations sur la
taille qu’occupent les dossiers sur votre disque. Placez-vous pour commencer dans /usr/games, et
tapez du :

mateo21@mateo21 - desktop :~$ cd /usr/ games


mateo21@mateo21 - desktop :/ usr / games$ du
5732 .
Comme ce dossier ne contient pas de sous-dossier, la commande du nous renvoie la taille totale
que font les fichiers contenus dans le dossier. Si vous allez dans votre home en revanche, celui-ci
contient beaucoup de sous-dossiers. Dans ce cas, la commande du va renvoyer la taille de chacun
des sous-dossiers, puis la taille totale à la fin (« . ») :

mateo21@mateo21 - desktop :/ usr/ games$ cd


mateo21@mateo21 - desktop :~$ du
400 ./. Trash
4 ./. themes
32 ./. mozilla - thunderbird /8 vyw6pqo . default / Mail / Local
Folders
36 ./. mozilla - thunderbird /8 vyw6pqo . default / Mail
12 ./. mozilla - thunderbird /8 vyw6pqo . default /US
...
...
264 ./. jedit / jars
4 ./. jedit / macros
380 ./. jedit / settings - backup
856 ./. jedit
82484 .

-h : la taille pour les humains


on avait vu -h pour ls, eh bien ce paramètre est le même pour avoir des tailles « humaines » avec
du !
-a : afficher la taille des dossiers ET des fichiers
Par défaut, du n’affiche que la taille des dossiers. Pour avoir aussi la taille des fichiers qu’ils
contiennent, rajoutez l’option -a (all) :
-s : avoir juste le grand total
Pour n’avoir que l’espace total occupé par le dossier et donc ne pas afficher le détail des sous-
dossiers, utilisez -s (que je combine à -h pour plus de lisibilité) :

20
CHAPITRE 4
MANIPULER LES FICHIERS

Après avoir vu comment étaient organisés les fichiers sous Linux, nous allons apprendre Par
exemple, comment faire pour afficher le contenu d’un fichier ? Comment le déplacer,
le copier, le supprimer ? C’est donc un chapitre à la fois simple et riche qui vous attend, tout au
long duquel vous allez apprendre beaucoup de nouvelles commandes basiques de Linux qu’il vous
faut connaître absolument !

1. cat & less : afficher un fichier


Nous allons d’abord voir comment afficher le contenu d’un fichier. Il y a en gros deux commandes
basiques sous Linux qui permettent de faire cela :
– cat ;
– less.

Aucune de ces commandes ne permet d’éditer un fichier, elles permettent juste de le voir. Pour nos
exemples, nous allons travailler sur un fichier qui existe déjà : syslog. Il se trouve dans le dossier
/var/log. Commencez par vous y rendre :
mateo21@mateo21 - desktop :~$ cd /var/log
Ce dossier contient plusieurs fichiers de log, c’est-à-dire des fichiers qui gardent une trace de
l’activité de votre ordinateur.

1.1 cat : afficher tout le fichier

La commande cat permet d’afficher tout le contenu d’un fichier dans la console d’uncoup. Il vous
suffit d’indiquer en paramètre le nom du fichier que vous voulez afficher, en l’occurrence syslog :
Il y a peu de paramètres vraiment intéressants à utiliser avec la commande cat, car c’est une
commande somme toute très basique. On notera quand même le paramètre -n qui permet d’afficher
les numéros de ligne :

n : afficher les numéros de ligne :


mateo21@mateo21 - desktop :/ var / log$ cat -n syslog

1.2 less : afficher le fichier page par page


La commande cat est rapide. Trop rapide. Tout le fichier est lu et affiché d’un coup dans la console,
ce qui fait que l’on n’a pas le temps de le lire s’il est très gros. C’est là qu’une autre commande

21
comme less devient vraiment indispensable. La grosse différence entre less et cat, c’est que less
affiche progressivement le contenu du fichier, page par page. Ça vous laisse le temps de le lire dans
la console.
1.3 Les raccourcis basiques indispensables
Commençons par les quelques raccourcis clavier les plus indispensables, à connaître absolument.
– Espace : affiche la suite du fichier. La touche Espace fait défiler le fichier vers le bas d’un «
écran » de console. C’est celle que j’utilise le plus souvent.
– Entrée : affiche la ligne suivante. Cela permet donc de faire défiler le fichier vers le bas ligne
par ligne. Vous pouvez aussi utiliser la touche de la flèche vers le bas.
– d : affiche les onze lignes suivantes (soit une moitié d’écran). C’est un peu l’intermédiaire entre
Espace (tout un écran) et Entrée (une seule ligne).
– b : retourne en arrière d’un écran. Vous pouvez aussi appuyer sur la touche Page Up.
– y : retourne d’une ligne en arrière. Vous pouvez aussi appuyer sur la touche de la flèche vers le
haut.
– u : retourne en arrière d’une moitié d’écran (onze lignes).
– q : arrête la lecture du fichier. Cela met fin à la commande less.

2. head & tail : afficher le début et la fin d’un fichier


Ces deux commandes sont un peu à l’opposé l’une de l’autre : la première permet d’afficher le
début du fichier, la seconde permet d’afficher la fin.

2.1 head : afficher le début du fichier


La commande head (« tête » en anglais) affiche seulement les premières lignes du fichier. Elle ne
permet pas de se déplacer dans le fichier comme less, mais juste de récupérer les premières lignes.

2.2 tail : afficher la fin du fichier


Très intéressante aussi (voire même plus), la commande tail vous renvoie la fin du fichier, donc
les dernières lignes.
On peut là encore utiliser -n suivi d’un nombre pour afficher les $x$ dernières lignes :
mateo21@mateo21 - desktop :/ var/ log$ tail -n 3 syslog

22
3. touch & mkdir : créer des fichiers et dossiers
3.1 touch : créer un fichier
La commande touch est à la base faite pour modifier la date de dernière modification d’un fichier.
D’où son nom : on « touche » le fichier pour faire croire à l’ordinateur qu’on vient de le modifier
alors que l’on n’a rien changé. Ça peut se révéler utile dans certains cas précis qu’on ne verra pas
ici. L’intérêt de touch pour nous dans ce chapitre, c’est que si le fichier n’existe pas, il
sera créé ! On peut donc aussi utiliser touch pour créer des fichiers, même s’il n’a pas vraiment été
fait pour ça à la base. La commande attend un paramètre : le nom du fichier à créer.
Commencez par vous rendre dans votre dossier personnel ; ce n’est pas une bonne idée de mettre
le bazar dans /var/log, le dossier personnel est là pour ça.
Créons un fichier appelé fichierbidon :
mateo21@mateo21 - desktop :~$ touch fichierbidon
vous pouvez créer plusieurs fichiers en une seule commande. Il vous suffit de les lister l’un après
l’autre, séparés par des espaces. Ainsi :
touch fichierbidon autrefichierbidon .txt
Et si je veux que mon fichier contienne un espace, je fais comment ? Entourez-le de guillemets !
touch " Fichier bidon "

3.2 mkdir : créer un dossier


La commande mkdir, elle, est faite pour créer un dossier. Elle fonctionne de la même manière que
touch.
mkdir mondossier
On peut créer deux dossiers (ou plus !) en même temps en les séparant là aussi par des espaces :
mkdir mondossier autredossier
Il y a un paramètre utile avec mkdir : -p. Il sert à créer tous les dossiers intermédiaires. Par exemple

mkdir -p animaux / vertebres / chat

Créera le dossier animal, puis à l’intérieur le sous-dossier vertebres, puis à l’intérieur encore le
sous-dossier chat !

4. cp & mv : copier et déplacer un fichier


4.1 cp : copier un fichier
La commande cp (abréviation de CoPy, « copier » en anglais) vous permet comme son nom
l’indique de copier un fichier. . . mais aussi de copier plusieurs fichiers à la fois, et même de copier
des dossiers ! Si on essayait de copier le fichier fichierbidon qu’on a créé tout à l’heure ? Ça
fonctionne comme ceci :
23
cp fichierbidon fichiercopie
Le premier paramètre est le nom du fichier à copier, le second le nom de la copie du fichier à créer.
En faisant cela, on aura donc deux fichiers identiques dans le même répertoire : fichierbidon et
fichiercopie.

- Copier dans un autre dossier


je veux copier fichierbidon dans le sous-dossier mondossier
cp fichierbidon mondossier /
Le fichier fichierbidon sera copié dans mondossier sous le même nom.
Si vous voulez copier fichierbidon dans mondossier sous un autre nom, faites comme ceci :
cp fichierbidon mondossier / fichiercopie
Avec cette commande, on aura créé une copie de fichierbidon dans mondossier sous le nom
fichiercopie !
- Copier des dossiers
Avec l’option -R (un « R » majuscule !), vous pouvez copier un dossier, ainsi que tous les sous-
dossiers et fichiers qu’il contient ! On a créé un dossier animaux qui contenait un autre dossier
vertebres, qui lui-même contenait le dossier chat. Si vous tapez cette commande :

cp -R animaux autresanimaux
. . . cela aura pour effet de copier animaux ainsi que tous ses sous-dossiers sous le nom
autresanimaux. Faites des ls après pour vérifier que les sous-dossiers sont bien là
- Utiliser le joker *
Le symbole * est appelé joker, ou encore wildcard en anglais sous Linux. Il vous permet de copier
par exemple tous les fichiers image .jpg dans un sous-dossier :

cp *. jpg mondossier /
Vous pouvez aussi vous en servir pour copier tous les fichiers dont le nom commence par « so » :
cp so* mondossier /
Le joker est un atout très puissant, n’hésitez pas à l’utiliser !

4.2 mv : déplacer un fichier


Très proche de cp, la commande mv (MoVe, « déplacer » en anglais) a en fait deux utilités :
– déplacer un fichier (ou un dossier) ;
– renommer un fichier (ou un dossier).

24
- Déplacer un fichier
La commande mv s’utilise pratiquement comme cp :
mv fichierbidon mondossier /
Au lieu de copier fichierbidon dans mondossier comme on l’a fait tout à l’heure, ici on a juste
déplacé le fichier. Il n’existe plus dans son dossier d’origine. Vous pouvez déplacer des dossiers
aussi simplement :

mv animaux / mondossier /
. . . déplacera le dossier animaux (et tous ses sous-dossiers) dans mondossier. Vous pouvez aussi
utiliser les jokers :
mv *. jpg mondossier /

- Renommer un fichier
La commande mv permet de faire quelque chose d’assez étonnant : renommer un fichier.
En effet, il n’existe pas de commande spéciale pour renommer un fichier en console sous Linux,
c’est la commande mv qui est utilisée pour ça. Par exemple :

mv fichierbidon superfichier
. . . renommera fichierbidon en superfichier. Après cette commande, fichierbidon n’existe plus,
il a été renommé.
- Déplacer et renommer un fichier à la fois
Vous pouvez aussi déplacer fichierbidon dans mondossier tout en lui affectant un nouveau nom :
mv fichierbidon mondossier / superfichier

5. rm : supprimer des fichiers et dossiers


5.1 rm : supprimer un fichier
La commande rm (pour ReMove, « supprimer » en anglais) peut supprimer un fichier, plusieurs
fichiers, des dossiers, voire même votre ordinateur entier si vous le voulez. Il faut donc l’utiliser
avec précaution. Commençons par des choses simples, supprimons ce fichierbidon :

rm fichierbidon
Normalement, on ne vous demande pas de confirmation, on ne vous affiche rien. Le fichier est
supprimé sans autre forme d’avertissement. Brutal, hein ? Vous pouvez aussi supprimer plusieurs
fichiers en séparant leurs noms par des espaces :
25
rm fichierbidon fichiercopie

-i : demander confirmation
La commande -i permet de vous demander une confirmation pour chacun des fichiers :
mateo21@mateo21 - desktop :~$ rm -i fichierbidon
rm: dé truire fichier ré gulier vide ‘fichierbidon ’?
Lorsqu’on vous demande une confirmation de type oui/non comme ici, vous devez répondre par
une lettre :

– o : signifie « Oui ». Sur certains systèmes anglais, il faudra peut-être utiliser y de Yes ;
– n : signifie « Non ». Tapez ensuite sur Entrée pour valider.

-f : forcer la suppression, quoi qu’il arrive


-f, c’est un peu le contraire de -i : c’est le mode des gros bourrins. Ce paramètre force la
suppression, ne demande pas de confirmation, même s’il y a un problème potentiel. En raison des
risques que cela comporte, utilisez-le aussi rarement que possible.
rm -f fichierbidon

-v : dis-moi ce que tu fais


Le paramètre -v (Verbose, verbeux en anglais, c’est-à-dire « parler beaucoup ») est un paramètre
que l’on retrouve dans beaucoup de commandes sous Linux. Il permet de demander à la commande
de dire ce qu’elle est en train de faire. Comme vous l’avez vu, par défaut la commande rm est
silencieuse. Si vous supprimez de très nombreux fichiers, ça peut prendre du temps. Pour éviter
que vous vous impatientiez, pensez à utiliser -v :
mateo21@mateo21 - desktop :~$ rm -v fichierbidon fichiercopie
dé truit ‘fichierbidon ’
dé truit ‘fichiercopie ’

5.2 r : supprimer un dossier et son contenu


Le paramètre -r peut être utilisé pour supprimer un dossier (au lieu d’un fichier) ainsi que tout ce
qu’il contient : fichiers et dossiers ! C’est un paramètre assez dangereux, faites donc bien attention
de l’utiliser sur un dossier dont vous ne voulez vraiment plus, car tout va disparaître à l’intérieur :

rm -r animaux /
. . . supprime le dossier animaux ainsi que tout ce qu’il contenait (sous-dossiers vertebres et chat)

26
- rm et le joker de la mort (qui tue)
Attention attention attention attention
Non non non ne faites jamais ca !!! => rm -rf /*

– rm : commande la suppression ;
– -r : supprime de manière récursive tous les fichiers et dossiers ;
– -f : force la suppression sans demander la moindre confirmation ;
– /* : supprime tous les fichiers et dossiers qui se trouvent à la racine (/) quel que soit
leur nom (joker *).

En clair, cette commande supprime tout votre disque dur depuis la racine, sous-dossiers compris,
et ne demande aucune confirmation. Aucune possibilité de récupération, votre PC est foutu. Vous
êtes bons pour une réinstallation de Linux,

Le joker reste quand même très utile, mais lorsque vous l’utilisez avec rm, triplez d’attention. Par
exemple :
rm -rf *
. . . supprime tous les fichiers et sous-dossiers du dossier dans lequel je me trouve.

27
CHAPITRE 5
LES UTILISATEURS ET LES DROITS

Linux travailler simultanément sur le même OS, en s’y connectant à distance notamment.
est un système multi-utilisateurs. Cela signifie que plusieurs personnes peuvent Puisque plusieurs
utilisateurs peuvent être connectés à Linux en même temps, celui-ci doit avoir une excellente
organisation dès le départ. Ainsi chaque personne a son propre compte utilisateur, et il existe un
ensemble de règles qui disent qui a le droit de faire quoi.

1. sudo : exécuter une commande en root


Lorsque vous avez installé Ubuntu, on vous a demandé le nom du compte utilisateur que vous
vouliez créer. Dans la plupart des distributions Linux on vous proposera de créer un compte
utilisateur avec des droits limités, c’est une mesure de sécurité. C’est une sécurité de ne pas avoir
le droit de tout faire par défaut, car certaines commandes peuvent être dangereuses pour la stabilité
et la sécurité de votre ordinateur. Avoir des droits limités, cela signifie aussi qu’on s’empêche par
exemple d’exécuter la « commande de la mort qui tue » qu’on a vue dans le chapitre précédent (rm
-rf /*).

1.1 L’organisation des utilisateurs sous Linux


On peut créer autant d’utilisateurs que l’on veut, eux-mêmes répartis dans des groupes. Il y a un
utilisateur « spécial », root, aussi appelé superutilisateur. Celui-ci a tous les droits sur la machine.

28
On ne se connecte en root que très rarement, lorsque c’est nécessaire. Certaines commandes de
Linux que nous allons voir dans ce chapitre ne sont accessibles qu’à root. Le reste du temps, on
utilise le compte « limité » que l’on a créé. Cette simple protection permet de largement limiter les
dégâts en cas de fausse manipulation, de virus sur votre PC, etc. En effet, un virus ne peut rien faire
de plus que vous quand vous êtes connectés avec des droits limités. En revanche, si vous êtes
en root il pourra tout faire, même détruire votre ordinateur. Sous Windows, vous êtes toujours
connectés en administrateur par défaut (équivalent de root), ce qui explique pourquoi les virus y
sont si dangereux.

1.2. sudo : devenir root un instant


On peut devenir root temporairement à l’aide de la commande sudo. Cette commande signifie «
Faire en se substituant à l’utilisateur » : Substitute User DO. Écrivez donc sudo suivi de la
commande que vous voulez exécuter, comme ceci :

sudo commande

On vous demandera normalement votre mot de passe (au moins la première fois) pour
exécuter la commande. Ce mot de passe est le même que celui de votre compte utilisateur limité.
Par exemple, vous pouvez exécuter un simple ls avec les droits root (vous ne risquez rien, rassurez-
vous) :

mateo21@mateo21 - desktop :/ home$ sudo ls


[ sudo ] password for mateo21 :

1.3 sudo su : devenir root et le rester


Si vous tapez sudo su (tout court), vous passerez root indéfiniment.
mateo21@mateo21 - desktop :/ home$ sudo su
[ sudo ] password for mateo21 :
root@mateo21 - desktop :/ home #

1.4 sudo su : devenir root et le rester


Si vous tapez sudo su (tout court), vous passerez root indéfiniment.
mateo21@mateo21 - desktop :/ home$ sudo su
[ sudo ] password for mateo21 :
root@mateo21 - desktop :/ home #

29
2. adduser : gestion des utilisateurs
Maintenant que vous savez passer root (temporairement ou indéfiniment), nous allons pouvoir
découvrir des commandes qui sont réservées à root. adduser et deluser sont de celles-là. Si vous
essayez de les appeler avec votre utilisateur normal, on vous dira que vous n’avez pas le droit de
les utiliser. Seul root peut gérer les utilisateurs.

2.1 adduser : ajouter un utilisateur


La commande adduser permet d’ajouter un utilisateur. Vous devez au minimum fournir un
paramètre : le nom de l’utilisateur à créer. Par exemple, pour créer un compte pour Patrick :
root@mateo21 - desktop :/ home # adduser patrick
Le répertoire personnel de patrick est automatiquement créé (/home/patrick) et son compte est
préconfiguré. On vous demande ensuite de taper son mot de passe : compte est préconfiguré. On
vous demande ensuite de taper son mot de passe :

Entrez le nouveau mot de passe UNIX :


Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succ ès

Tapez le mot de passe de patrick puis faites Entrée. Retapez-le pour valider. Encore une fois, si
vous ne voyez pas d’étoiles * quand vous tapez le mot de passe, c’est normal ; c’est une sécurité
pour qu’on ne puisse pas compter le nombre de caractères derrière votre épaule.
On vous propose ensuite de rentrer quelques informations personnelles sur patrick, comme son
nom, son numéro de téléphone. . . Si vous voulez le faire, faites-le, mais sinon sachez que vous
pouvez taper Entrée sans rien écrire
À la fin, on vous demande de confirmer par un « o » (oui) que tout est bon. Tapez Entrée et ça y
est, le compte de patrick est créé !

2.2 passwd : changer le mot de passe


S’il était nécessaire de changer le mot de passe de patrick par la suite, utilisez la commande passwd
en indiquant en paramètre le nom du compte à modifier.

root@mateo21 - desktop :/ home # passwd patrick


Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succ ès
Attention ! Si vous appelez passwd sans préciser de compte en paramètre, c’est le mot de passe de
root que vous changerez !
30
2.3 deluser : supprimer un compte
Patrick vous ennuie ? patrick est parti ? Si son compte n’est plus nécessaire (ou que
vous voulez vous venger) vous pouvez le supprimer avec deluser.
deluser patrick
Aucune confirmation ne vous sera demandée !
Ne supprimez en aucun cas votre compte utilisateur ! Par exemple, je ne dois surtout pas supprimer
le compte mateo21. En effet, si je le fais, il n’y aura plus que root sur la machine. . . et Ubuntu
interdit de se logger en root. Par conséquent, au prochain démarrage de la machine vous ne pourrez
pas vous connecter. . . et vous serez complètement coincés !

Toutefois, cette commande seule ne supprime pas le répertoire personnel de patrick. Si vous
voulez supprimer aussi son home et tous ses fichiers personnels, utilisez le paramètre –remove-
home :

deluser --remove - home patrick

3. addgroup : gestion des groups


Chaque utilisateur appartient à un groupe. En effet, si vous ne définissez rien, un groupe du même
nom que l’utilisateur sera automatiquement créé : ainsi, mateo21 appartient au groupe mateo21 et
patrick au groupe patrick. On peut le vérifier en regardant à qui appartiennent les dossiers dans
/home via un ls -l :

root@mateo21 - desktop :/ home # ls -l


total 24
drwx ------ 2 root root 16384 2007 -09 -19 18:22 lost + found
drwxr -xr -x 65 mateo21 mateo21 4096 2007 -11 -15 22:40 mateo21
drwxr -xr -x 2 patrick patrick 4096 2007 -11 -15 23:00 patrick

La 3ème colonne indique le propriétaire du fichier ou dossier ; la 4ème indique le groupe qui possède
ce fichier ou dossier. Ainsi, le dossier mateo21 appartient à l’utilisateur mateo21 et au groupe
mateo21. Même chose pour patrick. On constatera par ailleurs que lost+found appartient à root et
qu’il y a un groupe root (root fait donc partie du groupe root).

3.1 addgroup : créer un groupe


La commande addgroup crée un nouveau groupe. Vous avez juste besoin de spécifier le nom de
celui-ci en paramètre :
31
root@mateo21 - desktop :/ home # addgroup amis
Ajout du groupe « amis » ( identifiant 1002) ...
Termin é.

3.2 usermod : modifier un utilisateur


La commande usermod permet d’éditer un utilisateur. Elle possède plusieurs paramètres ; nous
allons en retenir deux :
– -l : renomme l’utilisateur (le nom de son répertoire personnel ne sera pas changé par contre) ;
– -g : change de groupe.
Si je veux mettre patrick dans le groupe amis, je ferai donc comme ceci :
usermod -g amis patrick
Et pour remettre patrick dans le groupe patrick comme il l’était avant :
usermod -g patrick patrick

Il est aussi possible de faire en sorte qu’un utilisateur appartienne à plusieurs groupes. Pour ce faire,
utilisez le paramètre -G (majuscule). Exemple : usermod -G amis,paris,collegues patrick. Séparez
les noms des groupes par une virgule, sans espace entre chaque nom de groupe.

Faites très attention en utilisant usermod ! Lorsque vous avez recours à -G, l’utilisateur
change de groupe et ce peu importe les groupes auxquels il appartenait auparavant. Si vous voulez
ajouter des groupes à un utilisateur (sans perdre les groupes auxquels il appartenait avant cela),
utilisez -a : usermod -aG amis patrick

3.3 delgroup : supprimer un groupe


Si vous voulez supprimer un groupe, c’est tout simple :
delgroup amis

addgroup et delgroup n’existent que sous Debian et ses dérivés (même remarque que pour adduser
et deluser). Les commandes « traditionnelles » qui fonctionnent partout sont groupadd et groupdel,
mais elles offrent moins d’options.

4. chown : : gestion des propriétaires d’un fichier


Seul l’utilisateur root peut changer le propriétaire d’un fichier. Supposons par exemple que
mateo21 possède dans son répertoire personnel un fichier appelé rapport.txt.
Voici le résultat d’un ls -l pour ce fichier :

32
mateo21@mateo21 - desktop :~$ ls -l rapport .txt
-rw -r--r-- 1 mateo21 mateo21 0 2007 -11 -15 23:14 rapport .txt

Ce fichier, je souhaite le « donner » à patrick. C’est là qu’intervient la commande chown.

4.1 chown : changer le propriétaire d’un fichier


La commande chown, qui doit être utilisée en tant que root, attend deux paramètres
au moins :
– le nom du nouveau propriétaire ;
– le nom du fichier à modifier. Cela donne donc :
chown patrick rapport .txt
On peut voir ensuite que patrick est bien le nouveau propriétaire du fichier :
root@mateo21 - desktop :/ home / mateo21 # ls -l rapport .txt
-rw -r--r-- 1 patrick mateo21 0 2007 -11 -15 23:14 rapport .txt
Seulement. . . il appartient toujours au groupe mateo21 !

4.2 chgrp : changer le groupe propriétaire d’un fichier


chgrp s’utilise exactement de la même manière que chown à la différence près qu’il affecte cette
fois le groupe propriétaire d’un fichier.
chgrp amis rapport .txt
Cette commande affectera le fichier rapport.txt au groupe amis. Un petit ls -l nous confirmera que
rapport.txt appartient désormais à patrick et au groupe amis :
root@mateo21 - desktop :/ home / mateo21 # ls -l rapport .txt
-rw -r--r-- 1 patrick amis 0 2007 -11 -15 23:14 rapport . txt

4.3 chown peut aussi changer le groupe propriétaire d’un fichier !


chown patrick : amis rapport .txt
Cela affectera le fichier à l’utilisateur patrick et au groupe amis. Il suffit de séparer par un symbole
deux points (« : ») le nom du nouvel utilisateur (à gauche) et le nom du nouveau groupe (à droite).

4.4 -R : affecter récursivement les sous-dossiers


Très utile aussi, l’option -R de chown. Elle modifie tous les sous-dossiers et fichiers contenus dans
un dossier pour y affecter un nouvel utilisateur (et un nouveau groupe si on utilise la technique du
deux points que l’on vient de voir). Par exemple, si je veux donner tout le contenu du dossier
personnel de patrick à mateo21 (et au groupe mateo21), c’est très simple :

33
chown -R mateo21 : mateo21 / home / patrick /
Résultat :
root@mateo21 - desktop :/ home # ls -l
total 24
drwx ------ 2 root root 16384 2007 -09 -19 18:22 lost + found
drwxr -xr -x 62 mateo21 mateo21 4096 2007 -11 -15 23:19 mateo21
drwxr -xr -x 2 mateo21 mateo21 4096 2007 -11 -15 23:00 patrick

Désormais tous les fichiers à l’intérieur du dossier de patrick appartiennent à mateo21

5. chmod : modifier les droits d’accès


5.1 Le fonctionnement des droits
Chaque fichier et chaque dossier possède une liste de droits. C’est une liste qui indique qui a le
droit de voir le fichier, de le modifier et de l’exécuter. Vous avez déjà vu des listes de droits, oui
oui ! Lorsque vous faites un ls -l, il s’agit de la première colonne :

Vous voyez tous ces d, r, w et x au début ? Ce sont ce qu’on appelle les droits d’accès du fichier
ou dossier. On peut voir cinq lettres différentes. Voici leur signification :

– d (Directory) : indique si l’élément est un dossier ;


– l (Link) : indique si l’élément est un lien (raccourci) ;
– r (Read) : indique si on peut lire l’élément ;
– w (Write) : indique si on peut modifier l’élément ;

34
– x (eXecute) : si c’est un fichier, « x » indique qu’on peut l’exécuter. Ce n’est utile que pour les
fichiers exécutables (programmes et scripts). Si c’est un dossier, « x » indique qu’on peut le «
traverser », c’est-à-dire qu’on peut voir les sous-dossiers qu’il contient si on a le droit de lecture
dessus. Si la lettre apparaît, c’est que le droit existe. S’il y a un tiret à la place, c’est qu’il n’y a
aucun droit.
Les droits sont découpés en fonction des utilisateurs

Le premier élément d mis à part, on constate que r, w et x sont répétés trois fois en fonction des
utilisateurs :
– le premier triplet rwx indique les droits que possède le propriétaire du fichier sur ce dernier ;
– le second triplet rwx indique les droits que possèdent les autres membres du groupe
sur ce fichier ;
– enfin, le dernier triplet rwx indique les droits que possèdent tous les autres utilisateurs de la
machine sur le fichier. Prenons un cas concret, le fichier rapport.txt :

Ses droits sont : -rw-r–r–


– - : le premier tiret indique qu’il ne s’agit pas d’un dossier. S’il y avait eu un d à la place, cela
aurait indiqué qu’il s’agissait d’un dossier.
– rw- : indique que le propriétaire du fichier, mateo21 en l’occurrence, peut lire et modifier (et
donc supprimer) le fichier. En revanche, il ne peut pas l’exécuter car il n’a pas de x à la fin. Je
rappelle que quiconque peut modifier un fichier a aussi le droit de le supprimer.
– r– : tous les utilisateurs qui font partie du groupe mateo21 mais qui ne sont pas mateo21 peuvent
seulement lire le fichier. Ils ne peuvent ni le modifier, ni l’exécuter. Avoir un nom de groupe
identique au nom d’utilisateur peut embrouiller : si vous êtes aussi bien organisés que sur mon
premier schéma, on parlera plutôt du groupe famille.
– r– : tous les autres (ceux qui ne font pas partie du groupe mateo21) peuvent seulement lire le
fichier.
En résumé, ces droits nous apprennent que l’élément est un fichier, que mateo21 peut le lire et le
modifier et que tous les autres utilisateurs peuvent seulement le lire. Souvenez-vous d’une chose :
root a TOUS les droits. Il peut tout faire : lire, modifier, exécuter n’importe quel fichier.
35
5.2 chmod : modifier les droits d’accès
Une précision importante pour commencer : contrairement aux commandes précédentes, vous
n’avez pas besoin d’être root pour utiliser chmod. Vous devez juste être propriétaires du fichier
dont vous voulez modifier les droits d’accès. chmod est un petit peu délicat à utiliser. En effet, on
peut attribuer les droits sur un fichier / dossier via plusieurs méthodes différentes, la plus courante
étant celle des chiffres

5.2.1 Attribuer des droits avec des chiffres (chmod absolu)

Si vous voulez combiner ces droits, il va falloir additionner les chiffres correspondants. Ainsi, pour
attribuer le droit de lecture et de modification, il faut additionner 4+2, ce qui donne 6. Le chiffre 6
signifie donc « Droit de lecture et d’écriture ». Voici la liste des droits possibles et la valeur
correspondante :

Avec ça, on peut calculer la valeur d’un triplet de droits. Il faut faire le même calcul pour les droits
que l’on veut attribuer au propriétaire, au groupe et aux autres.
Par exemple, « 640 » indique les droits du propriétaire, du groupe et des autres (dans l’ordre).
– 6 : droit de lecture et d’écriture pour le propriétaire.
– 4 : droit de lecture pour le groupe.
– 0 : aucun droit pour les autres.
Le droit maximal que l’on puisse donner à tout le monde est 777 : droit de lecture, d’écriture et
d’exécution pour le propriétaire, pour son groupe et pour tous les autres. Bref, avec un tel droit tout
le monde peut tout faire sur ce fichier. Au contraire, avec un droit de 000, personne ne peut rien
faire. . . à part root, bien sûr.
36
Pour changer les droits sur le fichier rapport.txt, et être le seul autorisé à le lire et l’éditer, je dois
exécuter cette commande :
chmod 600 rapport .txt
Un petit ls -l pour voir le résultat :

mateo21@mateo21 - desktop :~$ ls -l rapport .txt


-rw ------- 1 mateo21 mateo21 0 2007 -11 -15 23:14 rapport .txt

5.2.2 Attribuer des droits avec des lettres (chmod relatif)


Il existe un autre moyen de modifier les droits d’un fichier. Il revient un peu au même mais permet
parfois de paramétrer plus finement, droit par droit. Dans ce mode, il faut savoir que :
– u = user (propriétaire) ;
– g = group (groupe) ;
– o = other (autres).
. . . et que :
– + signifie : « Ajouter le droit » ;
– - signifie : « Supprimer le droit » ;
– = signifie : « Affecter le droit ».
Maintenant que vous savez cela, vous pouvez écrire :
chmod g+w rapport .txt
Signification : « Ajouter le droit d’écriture au groupe ».
chmod o-r rapport .txt
Signification : « Enlever le droit de lecture aux autres ».
chmod u+rx rapport .txt
Signification : « Ajouter les droits de lecture et d’exécution au propriétaire ».
chmod g+w,o-w rapport .txt
Signification : « Ajouter le droit d’écriture au groupe et l’enlever aux autres ».
chmod go -r rapport .txt
Signification : « Enlever le droit de lecture au groupe et aux autres ».
chmod +x rapport .txt
Signification : « Ajouter le droit d’exécution à tout le monde ».
chmod u=rwx ,g=r,o=- rapport . txt
Signification : « Affecter tous les droits au propriétaire, juste la lecture au groupe, rien
aux autres »

37
CHAPITRE 6
INSTALLER DES PROGRAMMES AVEC apt-get

1. Les outils de gestion des paquets


Définitions
– paquet : c’est un programme « prêt à l’emploi », l’équivalent des programmes d’installation sous
Windows en quelque sorte ;
– dépendance : un paquet peut avoir besoin de plusieurs autres paquets pour fonctionner, on dit
qu’il a des dépendances ;
– dépôt : c’est le serveur sur lequel on va télécharger nos paquets.
Les deux programmes console de gestion des paquets les plus connus sont : apt-get et aptitude
Nous devons généralement suivre trois étapes pour télécharger un paquet :
– apt-get update (optionnel) : pour mettre notre cache à jour si ce n’est pas déjà fait ;
– apt-cache search monpaquet (optionnel) : pour rechercher le paquet que nous voulons télécharger
si nous ne connaissons pas son nom exact ;
– apt-get install monpaquet : pour télécharger et installer notre paquet.

2. apt-get update : mettre à jour le cache des paquets


Commençons par la mise à jour du cache des paquets (apt-get update). Cela correspond à
télécharger la nouvelle liste des paquets proposés par le dépôt. Toutefois, il n’est pas nécessaire de
mettre à jour son cache à chaque fois que l’on veut télécharger un paquet. Pour mettre à jour votre
cache, tapez ceci dans la console en tant que root :
apt - get update

2.1. apt-cache search : rechercher un paquet


À moins que vous ne connaissiez déjà le nom exact du paquet que vous voulez, il va falloir effectuer
une petite recherche. On utilise pour cela la commande suivante :

apt - cache search votrerecherche


Cette commande effectue une recherche de paquet dans votre cache. Cela évite d’avoir à aller sur
Internet pour faire la recherche, ce qui aurait été lent.

2.2. apt-get install : installer un paquet


exemple
38
apt - get install openarena

2.3. apt-get autoremove : supprimer un paquet


Si vous voulez désinstaller un paquet, vous pouvez utiliser la commande apt-get remove :
apt - get remove lbreakout

2.4. apt-get upgrade : mettre à jour tous les paquets


Une autre fonctionnalité particulièrement géniale d’apt-get est sa capacité à mettre à jour tous les
paquets installés sur votre système d’un seul coup. Le programme ira chercher les nouvelles
versions de tous vos programmes et les mettra à jour si une nouvelle version est disponible :
apt - get upgrade

39
CHAPITRE 7
ÉDITEURS DE TEXTE

1. Nano, l’éditeur de texte du débutant


1.1 Nano est un éditeur de texte, pas un traitement de texte !
Un éditeur de texte est un programme qui permet de modifier des fichiers de texte brut, sans mise
en forme (gras, italique, souligné. . .). Sous Windows, on dispose d’un éditeur de texte très basique
: le Bloc-Notes. Sous Linux, on a le choix entre Nano, Vim, Emacs et bien d’autres, sachant qu’au
moins un de ceux-là est installé par défaut sur la plupart des distributions.
Un traitement de texte est fait pour rédiger des documents mis en forme. Sous Windows, Word
est le plus célèbre traitement de texte ; sous Linux, on possède l’équivalent : Open Office Writer.

1.2 Découverte de Nano


Le nom complet de Nano est « GNU nano », en référence au projet GNU. Pour démarrer le logiciel,
il vous suffit simplement de taper nano dans la console :

nano
L’éditeur Nano s’ouvre immédiatement

40
Dès lors, vous pouvez commencer à taper du texte. C’est aussi simple que cela ! Ne riez pas, je
précise qu’il « suffit de taper du texte » car ce n’est pas aussi simple sous d’autres éditeurs, comme
Vim par exemple. En bas de votre écran, vous pouvez voir un espace d’aide. Que signifiet-il
exactement ? Il s’agit d’un aide-mémoire pour vous rappeler à tout moment les commandes
principales que vous pouvez lancer sous Nano. Le symbole ^ signifie Ctrl (la touche Contrôle de
votre clavier). Ainsi, pour quitter Nano, il suffit de taper Ctrl + X.

Voici les raccourcis les plus importants :


– Ctrl + G : afficher l’aide ;
– Ctrl + K : couper la ligne de texte (et la mettre dans le presse-papier) ;
– Ctrl + U : coller la ligne de texte que vous venez de couper ;
– Ctrl + C : afficher à quel endroit du fichier votre curseur est positionné (numéro de ligne. . .) ;
– Ctrl + W : rechercher dans le fichier ;
– Ctrl + O : enregistrer le fichier (écrire) ;
– Ctrl + X : quitter Nano.

La recherche La combinaison de touches Ctrl + W lance une recherche dans le fichier

Il vous suffit d’écrire le mot que vous recherchez

41
. . . puis de taper Entrée. Le curseur est automatiquement positionné à la première occurrence
trouvée. Si le curseur est à la fin, la recherche recommence du début.

Enregistrer et quitter Pour enregistrer à tout moment, faites Ctrl + O. Si vous essayez de quitter
(Ctrl + X) sans enregistrer auparavant, un message vous demandera si vous voulez sauvegarder
Si vous appuyez sur la touche o, vous passerez en mode enregistrement. Si vous appuyez sur la
touche n, Nano quittera sans enregistrer. Si vous utilisez la combinaison Ctrl + C, vous annulerez
votre demande de sortie de Nano et ne quitterez donc pas le logiciel. En appuyant sur o, vous vous
retrouvez en mode enregistrement. Tapez juste le nom du fichier que vous voulez créer puis pressez
Entrée. Après ça, Nano sera fermé et vous retrouverez votre bonne vieille ligne de commandes

42
1.3 Les paramètres de la commande Nano
Lorsque vous appelez Nano dans la ligne de commandes, vous pouvez spécifier plusieurs
paramètres. Le plus courant est d’indiquer en paramètre le nom du fichier qu’on veut ouvrir. Ainsi

nano salut .txt


. . . ouvrira le fichier salut.txt que l’on vient de créer. Si le fichier n’existe pas, il sera
automatiquement créé par Nano lors du premier enregistrement.
À part ça, la commande nano accepte de nombreux paramètres. Pour vous, j’en ai sélectionné trois
qui me semblent faire partie des plus utiles.
– -m : autorise l’utilisation de la souris sous Nano. En console, oui, oui. Vous pouvez vous en servir
pour cliquer avec votre souris sur la zone de texte où vous voulez placer votre curseur.
– -i : indentation automatique. L’alinéa (tabulations) de la ligne précédente sera respecté lorsque
vous irez à la ligne. Très utile lorsque vous éditez un fichier de code source.
– -A : active le retour intelligent au début de la ligne. Normalement, lorsque vous appuyez sur la
touche Origine (aussi connue sous le nom de Home) située à côté de la touche Fin, le curseur se
repositionne au tout début de la ligne. Avec cette commande, il se positionnera après les alinéas.
Comme -i, il s’agit d’une option utile avant tout pour les programmeurs. Si je veux lancer Nano
avec toutes ces options à la fois, je peux donc écrire :
nano -miA salut .txt

2. Vim : l’éditeur de texte du : programmeur


Sous Linux, deux puissants éditeurs de texte en console sont à connaître.
– Vim : il s’agit d’une version améliorée de l’un des plus anciens éditeurs en console : « Vi »
(prononcez les lettres en anglais « Vi aille »). Vim (VI iMproved, version améliorée de Vi) est
largement répandu et généralement disponible par défaut sur la plupart des OS basés sur Unix,
comme Linux.
– Emacs : développé par Richard Stallman, le fondateur du projet GNU. On le retrouve plus
spécifiquement sous Linux mais il est rarement installé par défaut

2.1 Installer et lancer Vim


Sur la plupart des distributions Linux, Vim est en général installé par défaut. J’ai bien dit en
général. En effet, rien n’assure que Vim soit installé par défaut sur votre distribution
sudo apt -get install vim

2.2 Les modes d’édition de Vim lancer Vim. En tapant la commande suivante :
43
vim
Vim est un programme un peu surprenant qui ne s’utilise pas comme la plupart des éditeurs de
texte que vous connaissez.
– Mode interactif : c’est le mode par défaut par lequel vous commencez. En lançant Vim, vous
êtes donc en mode interactif. Dans ce mode, vous ne pouvez pas écrire de texte. N’essayez donc
pas d’appuyer sur des lettres au hasard car vous risqueriez de faire n’importe quoi !Le mode
interactif est un mode puissant qui permet de se déplacer dans le texte, de supprimer une ligne,
copier-coller du texte, rejoindre une ligne précise, annuler ses actions, etc. Chaque action peut être
déclenchée en appuyant sur une touche du clavier (par exemple, on appuie sur u pour annuler la
dernière action).
– Mode insertion : celui-là, c’est celui que vous connaissez ! Vous tapez du texte et ce dernier
s’insère à l’endroit où se trouve le curseur. Pour entrer dans ce mode, il existe plusieurs possibilités.
L’une des plus courantes est d’appuyer sur la touche i (insertion). Pour en sortir, il faut appuyer sur
la touche Echap.
– Mode commande : ce mode permet de lancer des commandes telles que « quitter », « enregistrer
», etc. Vous pouvez aussi l’utiliser pour activer des options de Vim (comme la coloration
syntaxique, l’affichage du numéro des lignes. . .). Vous pouvez même envoyer des commandes au
shell (la console) telles que ls, locate, cp, etc. Pour activer ce mode, vous devez être en mode
interactif et appuyer sur la touche deux points « : ». Vous validerez la commande avec la touche
Entrée et reviendrez alors au mode interactif.

2.3 Opérations basiques (déplacement, écriture, enregistrement)


Vous pouvez aussi ouvrir un fichier en ajoutant son nom en paramètre :
vim nomdufichier
Si le fichier n’existe pas, il sera créé.

i : insérer du texte
Nous allons partir d’un fichier vide. Nous souhaitons commencer par entrer du texte (quoi de plus
normal pour un éditeur de texte, après tout ?). Appuyez sur i (« i » minuscule). Vous basculez alors
en mode insertion ; à présent, il vous est possible de taper du texte
Notez le message – INSERT – en bas de l’écran, qui vous confirme que vous êtes en mode
insertion. Écrivez quelques lignes comme moi puis appuyez sur la touche Echap pour revenir au
mode interactif (le mode normal dans lequel vous vous trouviez au départ).

44
Le message – INSERT – disparaît alors et vous revoilà en mode interactif.
Le déplacement h, j, k, l : se déplacer dans tous les sens
En mode interactif, il est possible de déplacer le curseur au sein du texte. Pour cela, on utilise les
touches :
– h : aller à gauche ;
– j : aller en bas ;
– k : aller en haut ;
– l : aller à droite.

0 et $ : se déplacer en début et fin de ligne


Pour placer le curseur au tout début de la ligne, appuyez sur 0 en mode interactif. La touche Origine
que vous avez peut-être l’habitude d’utiliser fonctionne aussi. Cependant, retenez plutôt qu’il faut
utiliser 0, ça vous sera utile par la suite. De même, pour se rendre en fin de ligne, appuyez sur la
touche $. Là encore, la touche Fin fonctionne elle aussi, mais essayez de prendre l’habitude
d’utiliser $
w : se déplacer de mot en mot
Avec w, vous pouvez vous déplacer de mot en mot dans le fichier. C’est un autre moyen, parfois
plus efficace et plus rapide, pour se déplacer au sein d’une ligne du fichier.
:w : enregistrer le fichier
Pour enregistrer votre fichier, vous devez être au préalable en mode interactif (appuyez sur Echap
pour vous en assurer). Appuyez ensuite sur la touche deux points « : » pour passer en mode
commande, puis tapez w (write) suivi du nom du fichier. La commande doit s’afficher en bas.

:q : quitter

45
Maintenant que vous avez enregistré, vous pouvez quitter Vim en tapant :q. Vim vous interdit de
quitter si vous n’avez pas enregistré vos changements. Vous pouvez toutefois forcer la fermeture
du logiciel en ajoutant un point d’exclamation à la fin : :q!. Cette fois, il n’y aura aucune erreur.
:wq : enregistrer puis quitter
C’est la combinaison des deux commandes que nous venons de voir. Vous enregistrez et quittez
immédiatement Vim lorsque vous tapez :wq.
2.4 Opérations standard (copier, coller, annuler. . .)
x : effacer des lettres
Placez le curseur sur une lettre en mode interactif puis appuyez sur x pour l’effacer. Cela revient à
appuyer sur Suppr en mode insertion. On peut aller plus loin et effacer plusieurs lettres d’un coup.
Pour cela, utilisez la formule suivante : (nombre)x Par exemple, si vous tapez 4x (4 puis x), vous
supprimerez les quatre prochaines lettres en partant du curseur.
d : effacer des mots, des lignes. . .
De la même manière, on utilise la touche d pour supprimer des mots et des lignes. Commençons
par supprimer une ou plusieurs lignes.
dd : supprimer une ligne
Appuyez deux fois sur d (dd) pour supprimer toute la ligne sur laquelle se trouve le curseur.
Mieux : vous pouvez faire précéder cette instruction d’un nombre de lignes à supprimer. Par
exemple, si vous tapez 2dd, vous supprimerez deux lignes d’un coup.
Note importante : la ligne ainsi supprimée est en fait « coupée » et placée en mémoire. Elle
peut être collée, comme on le verra plus loin, avec la touche p.
p : coller
Si vous avez « coupé » du texte avec dd ou copié du texte avec yy (ou un de leurs équivalents)
vous pouvez ensuite le coller avec la touche p. Attention, retenez bien ceci : si vous avez copié une
ligne en mémoire et que vous appuyez sur p, elle sera collée sur la ligne située après le curseur. On
est parfois surpris de voir où se colle le texte ; prenez donc le temps de vous y habituer.

dw : supprimer un mot
Placez le curseur sur la première lettre d’un mot. Tapez ensuite dw (delete word) : cela supprime
le mot complet ! Si le curseur est positionné au milieu du mot, vous ne supprimerez que les
prochains caractères de celui-ci (jusqu’à l’espace qui suit). Vous pouvez aussi supprimer les trois

46
prochains mots en tapant 3dw. Notez que le 3 peut être placé entre le d et le w ; cela revient au
même : d3w (qui peut se lire « delete 3 words »).
d0 et d$ : supprimer le début ou la fin de la ligne
Vous souvenez-vous de 0 et de $ ? Je vous avais demandé de les utiliser à la place des touches
Origine et Fin car nous en aurions à nouveau besoin par la suite. Le moment est venu de s’en
resservir.
– En tapant d0, vous supprimez du curseur jusqu’au début de la ligne.
– En tapant d$, vous supprimez du curseur jusqu’à la fin de la ligne.

yy : copier une ligne en mémoire


yy copie la ligne actuelle en mémoire. Cela fonctionne comme dd, qui lui la « coupe ». Vous
pouvez aussi utiliser yw pour copier un mot, y$ pour copier du curseur jusqu’à la fin de la ligne.
r : remplacer une lettre
Si vous avez fait une faute sur une lettre seulement, vous pouvez passer en mode remplacement.
u : annuler les modifications
Pour annuler vos dernières modifications, appuyez sur u (undo). Si vous souhaitez annuler vos
quatre dernières modifications, appuyez sur 4u. Vous commencez à connaître la formule, c’est
toujours la même. Pour répéter un changement (= annuler une annulation), appuyez sur Ctrl + R.

47

Vous aimerez peut-être aussi