Administration Systeme Linux
Administration Systeme Linux
Administration Systeme 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.
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 :
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.
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.
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
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.
- 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.
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.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 / ».
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).
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. . .
- 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 :
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.
- 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 :
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$
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 :
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 :
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 !
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.
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 :
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.
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 "
Créera le dossier animal, puis à l’intérieur le sous-dossier vertebres, puis à l’intérieur encore le
sous-dossier chat !
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 !
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
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.
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.
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.
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) :
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.
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éé !
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 :
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).
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
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.
32
mateo21@mateo21 - desktop :~$ ls -l rapport .txt
-rw -r--r-- 1 mateo21 mateo21 0 2007 -11 -15 23:14 rapport .txt
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
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 :
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 :
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 :
37
CHAPITRE 6
INSTALLER DES PROGRAMMES AVEC apt-get
39
CHAPITRE 7
ÉDITEURS DE TEXTE
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.
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
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.
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.
: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.
47