Chapitre 1: P r é s e n t a t i o n d u s y s t è m e L i n u x
I. Qu'est-ce que Linux ?
A. L'histoire de Linux
L'histoire du noyau Unix qui a été conçu et mis en œuvre dans les années 1960 aux Bell
Laboratories sous l'impulsion de Ken Thomson et d'un petit groupe de chercheurs de ces
laboratoires pour ensuite être publié en 1969 pour un usage interne à ces laboratoires.
Le développement du langage C par Dennis Ritchie a permis l'écriture d'une version
d'Unix dans ce langage de haut niveau et par conséquent portable a priori sur tout type de
machine disposant d'un compilateur de ce langage. Certaines universités américaines
comme Berkeley notamment s'y intéressent énormément. Les laboratoires
Bell/ATT voyant Unix devenir de plus en plus populaire et utilisé décident d'en assurer
eux-mêmes le développement.
A côté des versions "orthodoxes" développées à partir du noyau fourni par les laboratoires
Bell (V7, System III, Xenix, Spix...), un certain nombre de systèmes Unix-oïdes ont été
développés par différentes sociétés. Notamment les deux plus importantes :
Les versions que l'on peut rattacher à la souche Berkeley (version 4.2) ;
Les versions se voulant du standard System V défini par les laboratoires Bell.
Maintenant que nous connaissons en gros l'histoire du système Unix, il devient important
de parler du projet GNU. C'est en 1983 que Richard Stallman a commencé le
projet GNU dans le but de pouvoir créer des systèmes d'exploitation UNIX-oide libres.
Dans le cadre de ce travail il écrit aussi la GNU General Public License (GPL).
Cette fabuleuse histoire se poursuivra par un autre projet de système d'exploitation libre
dans les années 1980 qui est la Berkeley Software Distribution (BSD). Cela a été
développé par Berkeley à partir de la 6e édition d'Unix d'ATT.
Vient ensuite en 1987 le système d'exploitation toujours Unix-oide, Minix, créé
par Andrew S. Tanenbaum pour un usage scolaire. Le principal défaut de ce système
d'exploitation était qu'une partie du code ne pouvait être modifié et redistribué. En
outre Minix16bits n'est pas très bien adapté aux machines 32bits qui sont très populaires
pour les ordinateurs personnels à l'époque. C'est principalement à cause des petits défauts
de Minix que Linus Torvalds a décidé de commencer son projet qui deviendra l'un des
noyaux les plus utilisés au monde de nos jours.
Il faut savoir qu'au départ Linux n'était qu'un simple émulateur de terminal qu'il utilisait
pour accéder au serveur Unix de son université : il voulait utiliser, indépendamment d'un
quelconque système d'exploitation, des fonctions de son ordinateur que Minix ne prenait
pas en compte.
La toute première version de Linux (0.01) était sous la licence personnelle de Linus
Torvalds, plus tard pour la version 0.99 elle fut mise sous GPL, pour devenir le noyau
que l'on connaît actuellement.
L'histoire de Linux a commencé en 1991 avec le début du projet personnel d'un étudiant
finlandais, Linus Torvalds, qui crée le noyau d'un nouveau système exploitation.
B. Vue d'ensemble de Linux
Le système Linux est un système multiutilisateurs et multitâches. En tant que système
d'exploitation, son rôle principal est donc d'assurer aux différentes tâches et aux différents
utilisateurs une bonne répartition des ressources de l'ordinateur (mémoire, processeur(s), espace
disque, imprimante(s), programmes utilitaires...) et cela sans intervention des utilisateurs.
Linux est par ailleurs un système de développement et les utilisateurs y ont à leur disposition un
très grand nombre d'outils, pour la plupart assez simples à utiliser, leur permettant d'écrire, de
mettre au point et de documenter leurs programmes (éditeurs, compilateurs, débogueurs, système
de traitement de textes...). Les utilisateurs ont ainsi à leur disposition une boîte à outils bien
garnie, le principal problème qui se pose à eux étant de savoir ce qu'elle contient exactement et à
quoi sert chacun de ces outils !
En résumé, on peut dire que le système est composé de :
un noyau assurant la gestion de la mémoire et des entrées-sorties de bas niveau et
l'enchaînement des différentes tâches ;
un (ou plusieurs) interpréteur(s) de langage de commandes; il existe en effet
différents langages de commandes nommés Shell, le plus connu étant le Bourne
Shell (du nom de son auteur), un autre étant le C-Shell développé à l'université
de Berkeley et le plus répandu actuellement étant le Bash.
NB :Il est important de noter que, quelle que soit la version du langage de commandes utilisée, il
s'agit d'un véritable langage de programmation possédant des instructions et surtout des
structures de contrôle de très grande puissance ;
un système de messagerie assez complet (courrier, conversation en temps réel,
journal de bord) ;
un grand nombre de programmes utilitaires dont évidemment un compilateur
de langage C, des éditeurs, des outils de traitement de textes, des logiciels de
communication avec d'autres systèmes Linux (ou autres), des générateurs
d'analyseurs lexicaux et syntaxiques...
C. Quelques caractéristiques de Linux
1. Linux est fiable
L'écran bleu de Windows n'existe pas sous Linux. Les systèmes Linux et Unix peuvent
fonctionner pendant des années sans échec (Windows aussi mais tout dépend aussi l'utilisation
que vous en faites). L'équivalent des écrans bleu sur Linux se nomme Kernel Panic et est
extrêmement rare et est à 99% du temps dus à une fausse manipulation de l'utilisateur.
Cette fiabilité est due à son noyau qui, d'après plusieurs études, contient bien moins de bogues
que ses concurrents propriétaires. Ceci montre que les projets open sources sont généralement
moins sources de bogues que les logiciels propriétaires. Mais attention extrêmement fiable ne
veut pas dire 100%, des bogues existent toujours et vous ne serez jamais à l'abri, un jour peut-
être, d'une mauvaise surprise.
Petit conseil par expérience, avant de toucher un quelconque fichier de configuration sous Linux
il est IMPERATIF de sauvegarder quelque part le fichier d'origine et surtout avant de procéder
à n'importe quel changement.
Il faut aussi savoir que les virus sont vraiment très rares sous Linux contrairement à Windows.
Mais attention il existe malgré tout beaucoup de menaces sous Linux. Ceci est due au fait que les
exécutables tel que vous les connaissez sous Windows n'existent pas sous Linux.
2. Linux fonctionne partout
L'efficacité de Linux et de tous les Unix-oïdes peut être utilisée sur pratiquement tous les
ordinateurs même les plus vieux. Il en va de même pour beaucoup d'applications. Par contre,
certaines applications peuvent recommander un certain taux de performance.
Il faut savoir aussi qu'il existe maintenant ce que l'on appelle les live-CD qui sont intégrés à
toutes (ou du moins quasiment toutes) les distributions Linux. Ceci vous permet d'avoir sur un
CD à la fois le programme d'installation sur votre disque dur du système d'exploitation mais
surtout (et c'est là l'intérêt du live-CD !!) d'utiliser Linux sans rien installer du tout sur votre
disque dur.
Mais attention il y a des limites à cette possibilité, il faut savoir que l'utilisation d'un live-CD
n'est pas faite pour une utilisation intensive de Linux (serveur, développement, etc.) vous ne
pourrez d'ailleurs rien installer et les performances ne seront pas géniales vu que tout se passe
non pas sur le disque dur mais dans la RAM. Le live-CD est donc fait pour une simple
découverte du monde Linux c'est-à-dire se familiariser avec l'environnement de Bureau et
comment on l'utilise par exemple.
3. Linux est gratuit
Vous pouvez télécharger Linux sur Internet et l'installer sur autant de machines que vous le
voulez, ainsi que les applications. Il est possible aussi, pour beaucoup de distributions de
commander le CD/DVD de la distribution. A noter aussi qu'il y a des distributions payantes mais
ce sont des distributions réservées aux professionnels et entreprises.
Il faut savoir que ceci est dû au fait que le développement des distributions Linux est fait en open
source. Par contre gratuit est exagéré. Il y a principalement quatre moyens d'acquérir une
distribution Linux :
en la téléchargeant, ceci est totalement gratuit (sauf si vous comptez le prix de votre
abonnement Internet) ;
en achetant un magazine spécialisé sur Linux (ces magazines contiennent toujours une
distribution sur le CD qui est fourni avec) et ainsi vous payez le prix du magazine ;
en achetant la distribution dans un magasin spécialisé et dans ce cas, vous payerez le prix
proposé par le magasin en question ;
en commandant un CD/DVD à l'éditeur de la distribution, ici par contre cela peut être
gratuit ou bien alors payant suivant l'éditeur et la manière dont vous faites votre
commande.
4. Le support de Linux
Linux est aujourd'hui le système regroupant une grosse communauté. Tout ça grâce à Internet.
Vous pouvez obtenir de l'aide de plusieurs dizaines de milliers d'utilisateurs Linux et
programmeurs bénévoles sur Internet. Le support est gratuit (pour les distributions non
professionnelles). Exemple le site de [Link].
5. Linux n'a pas de registre
Lorsque Microsoft a introduit le registre dans Windows 95 il a été applaudi pour ce mécanisme
qui a vocation d'éliminer la gestion d'un système avec les fichiers .ini de Windows 3.x. Linux,
lui, est géré par de simples fichiers de texte brut pour sa configuration. Malgré cela, pour
beaucoup de programmes, ainsi que pour le système d'exploitation lui-même, il existe des outils
permettant d'automatiser ou de fortement simplifier la configuration de ceux-ci.
6. Redémarrage du système
La plupart des changements de configurations de Windows requièrent un redémarrage (mise à
jour comprise), cela peut être vite embêtant lorsque la machine est un serveur. Sous Linux rares
sont les changements qui requièrent un redémarrage, ceci permet d'effectuer des changements sur
votre serveur sans affecter leurs utilisateurs.
7. L'interface graphique
Windows a toujours été fourni avec une interface graphique. Pourtant certains serveurs (Web,
fichiers, BDD,...) n'ont aucunement besoin d'une interface graphique et de cette façon des
ressources sont occupées pour rien. L'interface graphique Linux (X Window) est un sous-
système facultatif que vous pouvez choisir d'utiliser ou non. En outre, vous pouvez démarrer et
arrêter l'interface graphique quand vous le souhaitez sans avoir à redémarrer le système et sans
avoir un quelconque effet sur les programmes en cours d'exécution.
Sous Windows il n'existe qu'un seul environnement de bureau possible par défaut. Alors que
sous Linux, il en existe plusieurs (KDE, GNOME, XFCE, etc.). On peut les combiner, c'est-à-
dire choisir à l'ouverture de sa session le type d'environnement que l'on souhaite.
8. La défragmentation
Toutes les versions de Windows souffrent du même problème, la fragmentation du disque. Ceci
réduit considérablement les performances. Linux, lui, ne fragmente pas les données sur le disque
et est ainsi plus apte à être un serveur de fichiers que Windows.
En fait, il est incorrect de dire qu'il n'en existe pas, mais il conviendra d'insister sur le fait qu'elles
sont le plus souvent totalement inutiles.
D. Les distributions Linux
- Linux a la particularité d'être libre, son code source est ouvert : tout le monde peut le
consulter. Par opposition, le code source qui a permis de concevoir Windows et Mac OS est
fermé, on dit que ce sont des systèmes d'exploitation propriétaires.
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.
Il existe un grand nombre de distributions (système d’exploitation créé à partir d’une collection
de logiciels utilisant le noyau de Linux/GNU) Linux différentes. Voici les principales
distributions :
- Slackware : une des plus anciennes distributions de Linux.
- 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 ;
- 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. Debian a tellement de succès que
de nombreuses distributions sont basées sur Debian :
-Knoppix ;
-Skolelinux ;
-Ubuntu ;
-… Ce sont donc des dérivés de distributions.
- Ubuntu est une des distributions les plus populaires à l'heure actuelle.
E. Comment se connecter
1. Mode graphique
Lorsque vous démarrez Linux vous tomberez sur une interface avec deux champs. Un pour votre
login et l'autre pour votre mot de passe. Renseignez-les pour vous connecter au système.
2. Mode console
Certaines distributions Linux ne démarrent pas directement avec l'interface graphique et vous
serez donc amenés à vous connecter via le terminal. Vous verrez ceci à l'écran :
Entrez votre login et une fois que vous avez appuyé sur ENTRÉE, entrez votre mot de passe (si
vous ne voyez pas de caractère s'afficher à l'écran c'est tout à fait normal ne vous inquiétez pas)
et appuyez encore sur ENTRÉE.
F. A quoi ressemblent les commandes Linux ?
Sous Linux, l'utilisateur dispose de nombreuses commandes. Une commande se compose du
nom proprement dit de cette commande (un simple mot), suivi éventuellement d'un ou plusieurs
arguments (fournissant des informations supplémentaires : options ou paramètres), les différents
éléments de la commande étant séparés par des espaces ou des caractères de tabulation; la
commande complète est elle-même terminée par l'appui sur la touche ENTRÉE.
Sachez que chaque ligne entrée au clavier est mémorisée et n'est effectivement interprétée que
lorsqu'elle est complète, c'est-à-dire à la réception du caractère de fin de ligne; ce mode de
fonctionnement est appelé canonique. Il offre en particulier l'avantage de permettre l'annulation
de caractères de la ligne en cours de frappe avant son interprétation. Une possibilité offerte est de
modifier ce mode de fonctionnement afin par exemple que chaque caractère tapé soit interprété
immédiatement.
Notez dès à présent que Linux accepte la frappe anticipée de caractères, c'est-à-dire qu'il est
possible de taper des commandes sans avoir la main (c'est-à-dire, alors que le
"prompt" $ ou >> n'est pas apparu, le système étant en cours d'exécution de commandes).
Au cours de la procédure de ("login") en mode console ou lors d'une session de travail, si le
mode de fonctionnement est canonique, un certain nombre de caractères jouent un rôle
particulier en ce sens qu'ils permettent d'annuler tout ou partie de la ligne en cours de frappe :
la touche BACKSPACE ou la combinaison CTRL+H annule le dernier caractère tapé ;
la combinaison CTRL+U annule tout ce qui précède sur la ligne.
G. Exemples de commandes
1. La commande passwd permet à un utilisateur de créer ou de changer son mot de passe :
Le système demande tout d'abord l'ancien mot de passe de l'utilisateur, puis demande deux fois le
nouveau mot de passe choisi.
2. La commande echo affiche la liste des paramètres sur la sortie standard, c'est-à-dire la chaîne
de caractères qui suit echo :
3. La commande date donne la date dans la langue de configuration du système, ici en français :
4. La commande who, utilisée sans paramètre, permet de connaître la liste des utilisateurs en
train de travailler; utilisée avec les paramètres am et i, permet de retrouver leur nom
d'identification ainsi que le numéro du terminal sur lequel ils se sont connectés et l'heure à
laquelle ils se sont connectés :
5. La commande tty donne le nom complet du terminal associé à l'utilisateur et le message not a
tty si aucun terminal n'est associé :
6. La commande stty permet d'une part de connaître les paramètres régissant la liaison entre le
terminal et l'ordinateur et d'autre part de modifier leurs valeurs. L'option -a permet d'obtenir
l'ensemble des valeurs des paramètres.
Sans l'option -a :
Avec l'option -a :
7. Les commandes incorrectes
Ici la commande donnée n'est pas une commande reconnue par l'interpréteur. D'un autre côté, le
nom d'une commande peut être correct et les paramètres ne pas l'être :
Dans cet exemple, on obtient les formes correctes permettant d'utiliser la commande que l'on
avait donnée sous une forme incorrecte.
Dans ce dernier exemple, le système ne reconnaît pas la commande, car pour lui elle n'existe
pas, mais elle peut être installée pour être ensuite utilisée et il nous indique le nom du (ou des)
paquet contenant la commande que l'on a essayé d'entrer.
Il existe un nombre vraiment très important de commandes et je ne vais pas toutes les détailler
ici. Pour avoir vraiment tous les détails sur une commande, il vous faut utiliser la
commande man dans votre terminal. Elle s'utilise de cette manière man "nomCommande".
H. Comment se déconnecter
1. Mode graphique
Vous pouvez vous déconnecter en mode graphique en cliquant sur Déconnexion dans le
menu K.
2. Mode console
Il suffit tout simplement ici d'entrer cette commande :
sudo pkill -KILL -u {username}
Bien entendu il faut que vous remplaciez {username} par votre login. Cette commande marche
aussi pour déconnecter n'importe quel utilisateur connecté sur la machine.
II. Présentation des interprètes de commandes et découverts des commandes de base du
système
1. L'invite du shell
Vous aurez remarqué que l'invite Linux est assez similaire à l'invite MsDos. Sous DOS, l'invite
n'est pas très bavarde. Elle n'indique que la lettre du lecteur, suivie d'un double point et
éventuellement du nom du répertoire dans lequel l'utilisateur se trouve. Exemple :
C:> D:> E:\dos ...
Sous Linux, elle communique plusieurs choses : Le nom de l'utilisateur connecté, le nom de la
machine, ainsi que le répertoire courant. Exemple :
[root@local /root]#
Ici, l'utilisateur est root, la machine se nomme local, et le répertoire courant, est root Le #
indique qu'il s'agit de l'administrateur système (on l'appelle également le root ou le super
utilisateur.
[max@screamer /etc]$
L'utilisateur se nomme max, la machine screamer, il se trouve dans le répertoire /etc et le signe
$ indique qu'il s'agit d'un utilisateur classique.
[root@cassoulet /]#
Ici, l'utilisateur est root la machine s'appelle cassoulet et il se trouve dans le répertoire racine.
2. L'interpréteur de commandes
L'interpréteur de commandes est un logiciel faisant partie du système d'exploitation Linux dont
le but est de faire l'interface entre la personne travaillant sur l'ordinateur et les commandes qui
sont exécutées. Que se passe t - il si l'utilisateur tape un nom de commande incorrect ? Tapez par
exemple:
[root@localhost /root]# abcde [Entrée]
bash: abcde: command not found
Les messages d'erreur ne sont pas à négliger. Sous Linux on utilise un interpréteur de commande
appelé le bash.
3. Commandes de manipulation de fichiers
La commande ls - Liste les noms des fichiers
La commande ls (abréviation de list), lorsqu'on la tape au clavier, demande au système d'afficher
la liste des noms des fichiers que l'on possède (équivalent de dir sous DOS).
ls [Entrée]
Le système doit renvoyer la liste des noms de vos fichiers. ls l vous, permet d'afficher toutes les
informations sur chaque fichier du répertoire en cours.
La commande more - Affiche le contenu d'un fichier
Pour voir le contenu d'un fichier, le plus efficace est d'utiliser la commande more qui admet en
paramètre le nom du fichier concerné - on peut aussi utiliser la commande cat que nous verrons
plus loin.
more /home/max/[Link] [Entrée]
Sur l'écran doit s'afficher le début du fichier [Link].
More permet quelques commandes pour se déplacer dans le fichier :
[Entrée] - fait apparaître une ligne supplémentaire du fichier
[Espace] - idem mais par bloc de 24
[b] - remonte dans le texte
[q] - arrête l'exécution de more
La commande cat - Concatène des fichiers
Théoriquement destinée à concaténer des fichiers, elle est aussi utilisée pour afficher tout le
contenu d'un fichier en une fois - on l'utilise aussi pour créer de nouveaux fichiers ou des fichiers
vides. Commande pouvant être comparée à la commande type sous DOS.
cat /home/max/[Link] [Entrée]
Chapitre
Chapitre 2. Le système de fichiers
Sous Linux, tout est fichier, organisé suivant une unique arborescence (dont la racine est
nommée / et dont l'administrateur est root)
1. Systèmes de fichiers
Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support
(disque, disquette, CD ...). Chaque OS propriétaire a développé sa propre organisation.
On peut faire cohabiter plusieurs systèmes dans des partitions d'un même disque.
Linux possède son système appelé ext2 mais peut en gérer d'autres. La liste en est donnée
dans /proc/filesystems. L'utilisateur peut donc accéder sous Linux à d'autres systèmes de fichiers,
comme DOS, Vfat,…provenant d'un périphérique ou importé par le réseau.
2. Les différentes catégories de fichiers
Fichiers normaux
* texte : courrier, sources des programmes, scripts, configuration ...
* exécutables : programmes en code binaire
Fichiers répertoires
Ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers.
véritable charpente de l'arborescence, ils permettent d'organiser les fichiers par catégories
Fichiers spéciaux situés dans /dev, ce sont les points d'accès préparés par le système aux
périphériques. Le montage va réaliser une correspondance de ces fichiers spéciaux vers
leur répertoire "point de montage". Par exemple, le fichier /dev/hda permet l'accès et le
chargement du 1er disque IDE.
Fichiers liens symboliques. Ce sont des fichiers qui ne contiennent qu'une référence (un
pointeur) à un autre fichier. Cela permet d'utiliser un même fichier sous plusieurs noms
sans avoir à le dupliquer sur le disque.
3. Arborescence du système Linux
La racine est le sommet de la hiérarchie des répertoires. Il s'agit d'une arborescence
logique, indépendante de l'implantation physique des différents sous-répertoires, qui peut
s'étendre sur plusieurs partitions incluses sur un ou plusieurs disques, et même sur des disques
réseaux. Sa structure est standard, avec des extensions imposées par les distributions. Toute
modification est de la compétence exclusive de l'administrateur, à l'exception des répertoires
personnels situés dans /home. Il est recommendé de respecter cette architecture standard.
Liste des répertoires principaux et leur rôle :
Ou
/ Le répertoire racine
/bin les fichiers exécutables (en binaire) (initialisation du système + commandes
"essentielles")
/boot le noyau linux et les fichiers de démarrage
/dev répertoire de fichiers spéciaux, qui servent de canaux de communication avec les
périphériques (disques, adaptateur réseau, cartes son etc...)
/etc les fichiers de configuration du système et les principaux scripts de paramétrage
o /etc/rc.d scripts de démarrage du système
o /etc/X11 scripts de configuration du serveur X
o /etc/sysconfig configuration des périphériques
o /etc/cron description des tâches périodiques à effectuer
o /etc/skel fichiers recopiés dans le rép. personnel d'un nouvel utilisateur
/home la racine des répertoires personnels des utilisateurs
/lib les bibliothèques et les modules du noyau
/mnt la racine des points de montage des systèmes de fichiers périphériques ou
extérieurs (cd, disquette, nfs ..).
/opt lieu d'installation d'applications supplémentaires (comme starOffice, java …)
/root répertoire personnel du super-utilisateur root
/sbin les fichiers exécutables pour l'administration du système
/tmp stockage des fichiers temporaires
/usr programmes accessibles à tout utilisateur; sa structure reproduit celle de la racine /
/var données variables liées à la machine (fichiers d'impression, traces de connexions
http, smb … dans /var/log)
/proc ce pseudo-répertoire contient une "image" du système (/proc/kcore est l'image de
la RAM
Ou
Parcourir et lister les répertoires
Voici les commandes indispensables (suivies bien sûr d'une validation) pour visiter
l'arborescence.
ls commande générale d'accès aux infos des fichiers du répertoire courant
Essayez ls, puis successivement ls -l, ls –a
ls rep
cd chemin le chemin peut être absolu (indiqué à partir de la racine) ou relatif (à partir du rép.
courant)
cd ..
cd raccourci vers le rép. Personnel
file fichier renseigne sur la nature du contenu du fichier
pwd donne le nom complet du rép. Courant
mkdir rep pour créer un sous-rep du rep courant
rmdir rep pour supprimer un sous-rep vide
Chapitre 3 : les commandes de base en console linux
Ce chapitre vise à présenter une liste non exhaustive de commandes connues et souvent utilisées.
Il ne sera pas précisé si les commandes doivent être exécutées avec des droits plus
élevés que ceux des simples utilisateurs
Les mots répertoire et dossier sont équivalents.
I. Les commandes Unix de base à connaître par cœur
1. man
Équivalent Windows : help
Signification : manual
Affiche les pages du manuel système.
Chaque argument donné à man est généralement le nom d'un programme, d'un utilitaire,
d'une fonction ou d'un fichier spécial.
Exemples d'utilisation :
o man man affiche les informations pour l'utilisation de man
o man exports décrit le contenu et la syntaxe du fichier /etc/exports pour les
partages NFS
2. ls
Équivalent Windows : dir
Signification : list
Permet de lister un répertoire
Options les plus fréquentes :
o -l : Permet un affichage détaillé du répertoire (permissions d'accès, le nombre de
liens physiques, le nom du propriétaire et du groupe, la taille en octets, et
l'horodatage)
o -h : Associé avec -l affiche la taille des fichiers avec un suffixe correspondant à
l'unité (K, M, G)
o -a : Permet l'affichage des fichiers et répertoires cachés (ceux qui commencent par
un . (point))
o -lct : Permet de trier les fichiers et répertoires par date de modification
décroissante
Exemples d'utilisation :
o ls –a affiche tous les fichiers et répertoires y compris les cachés du répertoire
courant
o ls /etc/ affiche le contenu du répertoire /etc/
o lspci ou lsusb affiche les périphériques PCI ou USB connectés.
o lshw affiche les caractéristiques de tout le matériel physique, non-logiciel
(hardware).
Remarque : Il existe également une commande dir quasi identique à la commande ls. Elle
s'utilise de la même façon, avec les mêmes options, et les pages man (manuel) les 2 commandes
sont d'ailleurs identiques. Seul l'affichage par défaut de la sortie est différent avec dir :
par défaut la sortie n'est pas en couleur (il faut utiliser l'option --color pour obtenir une
sortie en couleur avec dir) ;
les caractères spéciaux tels que les espaces dans les noms des fichiers et dossiers sont
précédés d'un caractère \ (backslash).
La commande « ls -C -b » produira une sortie identique à la commande dir employée sans
options.
3. cd
Équivalent Windows : cd
Signification : change directory
Permet de se promener dans les répertoires
Exemples d'utilisation :
o cd permet de revenir au répertoire /home/utilisateur (identique à cd ~)
o cd -permet de revenir au répertoire précédent
o cd ..permet de remonter au répertoire parent (ne pas oublier l'espace
contrairement à windows)
o cd / permet de remonter à la racine de l'ensemble du système de fichiers
o cd /usr/bin/ ou usr/bin se place dans le répertoire /usr/bin/
4. mv
Équivalent Windows : move / ren
Signification : move
Permet de déplacer ou de renommer des fichiers et des répertoires
Options les plus fréquentes :
o -f : Écrase les fichiers de destination sans confirmation
o -i : Demande confirmation avant d'écraser
o -u : N'écrase pas le fichier de destination si celui-ci est plus récent
Exemples d'utilisation :
o mv monFichier unRep/ Déplace monFichier dans le répertoire unRep
o mv unRep/monFichier .Déplace le fichier monFichier du répertoire unRep là où
on se trouve
o mv unRep monRep Renomme unRep en monRep
5. cp
Équivalent Windows : copy / xcopy
Signification : copy
Permet de copier des fichiers ou des répertoires
Options les plus fréquentes :
o -a : Archive. Copie en gardant les droits, dates, propriétaires, groupes, etc.
o -i : Demande une confirmation avant d'écraser
o-f : Si le fichier de destination existe et ne peut être ouvert alors le détruire et
essayer à nouveau
o -R ou -r : Copie un répertoire et tout son contenu, y compris les éventuels sous-
répertoires
o -u : Ne copie que les fichiers plus récents ou qui n'existent pas
o -v : permet de suivre les copies réalisées en temps réel
Exemples d'utilisation :
o cp monFichier sousrep/ Copie monFichier dans sousrep
o cp -r monRep/ ailleurs/ Copie le répertoire monRep (et ses éventuels sous-
répertoires) vers ailleurs en créant le répertoire ailleurs/monRep s'il n'existe pas.
o cp monRep/{*.cpp,*.h,MakeFile,[Link]} ailleurs/ Copie les fichiers
spécifiés dans {} contenus dans le répertoire monRep vers ailleurs. Notez bien
qu'il n'y a pas d'espace entre ces noms de fichiers.
6. Rm
Attention cette commande est très dangereuse. Exécutez-la uniquement si vous savez ce que
vous faites !
Équivalent Windows : del / erase
Signification : remove
Permet d'effacer des fichiers
Options les plus fréquentes :
o -i : Demande confirmation avant d'effacer
o -f : Ne demande pas de confirmation avant d'effacer
o -r : Efface récursivement. Ce mot signifie "y compris ses sous-répertoires et leur
contenu".
Exemples d'utilisation :
o rm CeFichier Efface du répertoire courant le fichier CeFichier.
o rm -rf /tmp/LeRep Efface le répertoire /tmp/LeRep ainsi que tous ses fichiers,
liens et sous-répertoires sans demander de confirmation.
o rm -rf /*…Disparition immédiate de tous vos fichiers.
7. mkdir
Équivalent Windows : mkdir / md
Signification : make directory
Crée un répertoire vide
Options les plus fréquentes :
o -p : Crée les répertoires parents s'ils n'existent pas
Exemples d'utilisation :
o mkdir photos Crée le répertoire photos
o mkdir -p photos/2005/noel Crée le répertoire noel et s'ils n'existent pas les
répertoires 2005 et photos
8. rmdir
Équivalent Windows : rmdir / rd
Signification : remove directory
Supprime un répertoire (vide)
Options les plus fréquentes :
o -p : Supprime les répertoires parents s'ils deviennent vides
Exemples d'utilisation :
o rmdir LeRep Supprime le répertoire LeRep
9. top
Montre la charge CPU
La combinaison des touches [Majuscules + M] permet de classer en fonction de
l'occupation de la mémoire.
La combinaison des touches [Majuscules + P] classe en fonction de l'occupation du CPU.
La combinaison des touches [Majuscules + W] permet de conserver ces préférences
La touche [k] permet de tuer directement un processus en rentrant son PID
La touche [q] permet de quitter le programme
Options les plus fréquentes :
o -u : affiche les processus pour un utilisateur donné
Exemples d'utilisation :
o top
o top -u root
10. pwd
Équivalent Windows : chdir
Signification : print working directory
Affiche le répertoire de travail
11. ln
Signification : link
Crée un lien (physique ou symbolique) vers un fichier (ou un répertoire)
Options les plus fréquentes :
o -s : Crée un lien symbolique (similaire au raccourci Windows)
o -f : Force l'écrasement du fichier de destination s'il existe
o -d : Crée un lien sur un répertoire (uniquement en mode sudo ou root)
Exemples d'utilisation :
o Ln -s Rep1/Rep2/Monfichier MonLien Crée un lien symbolique MonLien
de Rep1/Rep2/Monfichier dans le répertoire où on se trouve
o ln Monfichier unRep/AutreNom Crée un lien physique AutreNom
de Monfichier dans le répertoire unRep
Note :
o Vérifiez que vous vous trouvez bien dans le répertoire dans lequel vous souhaitez
créer le lien avant d’exécuter cette commande.
12. find
Équivalent Windows : find
Signification : find
Permet de chercher des fichiers et éventuellement d'exécuter des commandes sur ceux-ci ;
la recherche est récursive c'est-à-dire qu'elle concerne le répertoire de départ et toute sa
descendance (sous-répertoires ainsi que toute leur descendance …)
Options les plus fréquentes :
o -name : Recherche d'un fichier par son nom
o -iname : Même chose que -name mais insensible à la casse
o -type : Recherche de fichier d'un certain type
o -atime : Recherche par temps écoulé depuis le dernier accès
o -mtime : Recherche par temps écoulé de dernière modification
o -newermt : Recherche par date de la dernière modification
o -newerct : Recherche par date limite de la dernière modification
o -link : Recherche du nombre de liens au fichier
o -user : Recherche de fichiers appartenant à l'utilisateur donné
o -group : Recherche de fichiers appartenant au groupe donné
Actions les plus fréquentes :
o -exec : Exécute la commande donnée aux fichiers trouvés
o -ok : Même chose que -exec mais demande une confirmation
o -ls : exécute la commande ls à chaque fichier trouvé
Opérateurs les plus fréquents :
o -a : Opérateur ET
o -o : Opérateur OU
o ! ou -not : Opérateur NOT
Exemples d'utilisation :
simple
Placez-vous dans le répertoire à partir duquel la recherche récursive doit être effectuée et faites :
find monfichier* Recherche un fichier commençant par "monfichier"
find -name *monfichier*.ogg Recherche un fichier contenant "monfichier" et ayant pour
extension ".ogg"
avancé
find /home/ -name monfichier Recherche le fichier monfichier dans toute la
descendance de /home/
find . -name "*.c" Recherche tous les fichiers ayant une extension .c
find . -mtime -5 Recherche les fichiers du répertoire courant qui ont été modifiés entre
maintenant et il y a 5 jours
find /home/ -mtime -1 \! -type d Recherche uniquement les fichiers (! -type d signifie
n'était pas un répertoire) ayant été modifiés ces dernières 24h
find / -newermt '2019-05-28 23:00' -not -newermt '2019-05-29 23:00' Recherche des
fichiers modifiés entre le 28 mai 2019 à 23 h 00 et le 29 mai 2019 à 23 h 00
find . ! -user root Affiche tous les fichiers n'appartenant pas à l'utilisateur root
find . \( -name '*.wmv' -o -name '*.wma' \) -exec rm {} \; Recherche et supprime tous
les fichiers WMA et WMV trouvés
find . \( -type f -exec sudo chmod 664 "{}" \; \) , \( -type d -exec sudo chmod 775 "{}"
\; \) Modifie récursivement les droits en 664 sur les fichiers et en 775 sur les répertoires
en une seule instruction
13. grep
Équivalent Windows : find
Signification : global regular expression print
Recherche une chaîne de caractères dans des fichiers (ou depuis la console si aucun
fichier n'est indiqué) ; souvent utilisé en filtre avec d'autres commandes.
Options les plus fréquentes :
o -c : Retourne le nombre de lignes au lieu des lignes elles-mêmes
o -n : Retourne les lignes préfixées par leur numéro
o -i : Insensible à la casse
o -r : Recherche récursivement dans tous les sous-répertoires ; on peut utiliser la
commande rgrep
o -G : Recherche en utilisant une expression rationnelle basique (option par défaut)
o -E : Recherche en utilisant une expression rationnelle étendue ; on peut utiliser la
commande egrep
o -F : Recherche en utilisant une chaîne fixe ; on peut utiliser la commande fgrep
o -v toto : Recherche les lignes qui ne contiennent pas le mot toto
Exemples d'utilisation :
o grep -n montexte monfichier Retourne toutes les lignes ainsi que leur numéro
où montexte apparaît dans monfichier
14. cat
Équivalent Windows : type
Signification : concatenate
Affiche le contenu d'un fichier
Options les plus fréquentes :
o -n : Affiche les numéros de ligne
o -v : Affiche les caractères de contrôles
Exemple d'utilisation :
o cat -n monFichier Affiche monFichier en numérotant les lignes à partir de 1
o créer un fichier texte contenant quelques lignes sans avoir recours à un éditeur :
cat > fichier
texte à inclure dans le fichier
Ctrl+D pour terminer.
15. more
Équivalent Windows : more
Signification : more
Affiche un fichier page par page
Options les plus fréquentes :
o -s : Regroupe les lignes vides consécutives en une seule
o -f : Ne coupe pas les lignes longues
Exemple d'utilisation :
o more -sf monFichier Affiche monFichier page par page en concaténant les lignes
vides sans couper les lignes longues.
16. less
Équivalent Windows : less
Signification : less
Affiche un fichier en permettant la navigation, ainsi que certaines possibilités de vi (par
ex: la recherche)
Options les plus fréquentes :
o -e ou -E : Quitte automatiquement la deuxième fois que la fin du fichier est
atteinte, ou dès la première fois avec -E.
o -F : Quitte automatiquement si le fichier tient sur le terminal.
o -m ou -M : Prompt long a la more.
o -r ou -R : Autorise les caractères spéciaux.
o -x : Règle la taille des tabulations.
o -~ : ne comble pas les lignes vides par des ~
Exemple d'utilisation :
o less -Emr~ monFichier Affiche monFichier page par page avec un prompt long
(affichage du pourcentage du fichier parcouru) en affichant les caractères
spéciaux sans combler les lignes vides par des ~
17. id
La commande id affiche les informations utilisateur et de groupe pour un utilisateur spécifié, ou
si aucun utilisateur n'est spécifié, elle affiche les informations sur l'utilisateur courant
id ubuntu-user
uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),29(audio)
II. Commandes système
1. chmod
Équivalent Windows : cacls
Signification : change mode
Modifie les permissions d'accès à un fichier ou à un répertoire.
Type d'autorisations (une autorisation d'exécution sur un répertoire autorise son
ouverture) :
o + : Ajoute une permission
o - : Enlève une permission
o = : Autorise uniquement l'autorisation indiquée
o r : Lecture ; Valeur octale 4
o w : Écriture ; Valeur octale 2
o x : Exécution ; Valeur octale 1
o s : Utilise les droits du propriétaire ou du groupe lors de l'exécution
o u : Propriétaire du fichier
o g : Groupe propriétaire du fichier
o o : Tous les autres utilisateurs
Options les plus fréquentes :
o -R : Récursif, modifie les autorisations d'un répertoire et tout ce qu'il contient
o -c : Ne montrer que les fichiers ayant été réellement modifiés
o -f : Ne pas afficher les messages d'erreur
Exemples d'utilisation :
o chmod ugo+x monRep Ajoute l'exécution (ouverture) du répertoire monRep à
tous (propriétaire, groupe, autres)
o chmod go-wx monRep Supprime l'autorisation d'écriture et l'exécution
de monRep au groupe et aux autres
o chmod u=rw,go=r MonFichier Fixe l'autorisation de lecture et d'écriture au
propriétaire de MonFichier et une autorisation de lecture au groupe et aux autres.
o chmod 644 MonFichier Exactement la même chose que ci-dessus mais en
utilisant les valeurs octales (Nota : 6 = 4+2 = lecture + écriture)
o chmod u=rw,g=r MonFichier Fixe l'autorisation d'ouverture et de lecture
de MonFichier au propriétaire, uniquement la lecture au groupe et interdit tout
accès aux autres.
o chmod 640 MonFichier Exactement la même chose que ci-dessus mais en
utilisant les valeurs octales
2. chown
Équivalent Windows : cacls
Signification : change owner
Change le propriétaire et le groupe propriétaire d'un fichier
Options les plus fréquentes :
o -R : Modifie récursivement un répertoire et tout ce qu'il contient
Exemples d'utilisation :
o chown autreUtilisateur MonFichier Change le propriétaire de MonFichier
en autreUtilisateur
o chown -R lui:nous monRep Change le propriétaire en lui et le groupe
propriétaire en nous du répertoire monRep ainsi que tout ce qu'il contient
3. chgrp
Signification : change groupe
Change le groupe propriétaire d'un fichier
Options les plus fréquentes :
o -R : Change récursivement un répertoire et tout ce qu'il contient
o -h : Change le groupe propriétaire d'un lien symbolique et seulement lui (ne
touche pas à la destination du lien)
o -L : Si fournie avec R , change le groupe propriétaire d'un répertoire et des
fichiers qu'il contient s'il est pointé par un lien symbolique rencontré lors de
l'exécution
Exemples d'utilisation :
o chgrp unGroupe MonFichier Change le groupe propriétaire du fichier
MonFichier en unGroupe
o chgrp -R unGroupe monRep Change le groupe propriétaire du
répertoire monRep ainsi que tout ce qu'il contient en unGroupe
4. free
Signification : free
Affiche la mémoire disponible / utilisée du système
Options les plus fréquentes :
o -b : Affiche la mémoire en octets (bytes)
o -k : Affiche la mémoire en kilooctets
o -m : Affiche la mémoire en mégaoctets
o -g : Affiche la mémoire en gigaoctets
o -h : Affiche la mémoire en unités pertinentes
o -s : Spécifie le délai de réaffichage de la mémoire
o -t : Affiche en plus la ligne des totaux (RAM + swap)
Exemples d'utilisation :
o free –th Affiche la mémoire du système en unités pertinentes pour l'humain ainsi
que la ligne des totaux (RAM + swap)
o free -m -s 5 Affiche la mémoire du système en mégaoctets toutes les 5 secondes
5. mount
Signification : mount
Monter un système de fichiers
Options les plus fréquentes :
o -a : Monter tous les systèmes de fichiers déclarés dans le fichier /etc/fstab
o -t : Précise le type de fichier à monter
o-o : Ajouter une option. Options adjointes à -o les plus fréquentes :
oauto : Permet d'être monté par -a
oasync : Les entrées/sorties sur le système de fichiers seront asynchrones
odefaults : Utilise les options rw, suid, dev, exec, auto, nouser, et async.
odev : Interprète les fichiers spéciaux de périphériques du système présent
dans /dev/
o exec : Permet l'exécution de fichiers binaires du système monté
o noauto : Empêche d'être monté avec -a
o nodev : Ne pas interpréter les fichiers spéciaux de périphériques du système
o noexec : Empêche l'exécution de fichiers binaires du système monté
o nouser : Ne pas autoriser d'autres utilisateurs que root (ou sudo) à monter le
système de fichiers (comportement par défaut)
o ro : Monte le système en lecture seule
o rw : Monte le système en lecture et écriture
o suid : Prend en compte les bits SetUID ou SetGID du système monté
o user : Permet aux utilisateurs ordinaires de monter et démonter le système de
fichiers (implique noexec, nosuid, et nodev sauf si surchargées)
Exemples d'utilisation :
o mount Liste tous les systèmes de fichiers actuellement montés
o mount –a Monte tous les systèmes de fichiers déclarés dans le fichier /etc/fstab
o mount /mnt/maPartion Monte le système de fichiers ad-hoc déclarés dans le
fichier /etc/fstab
o mount -t iso9660 [Link] /mnt/monIso -o loop Monte dans
un périphérique boucle (loop) le fichier iso [Link] dans le
répertoire /mnt/monIso
o mount -t vfat -o defaults,rw,user,umask=022,uid=1000 /dev/sda1
/mnt/Mondisk/ Monte un disque dur USB (/dev/sda1) formaté en FAT32 (-t vfat)
en lecture écriture (rw) dans le répertoire /mnt/Mondisk/ ; tous les utilisateurs
peuvent le démonter (user), les droits d'exécution (uid=1000) sont fixés à
l'utilisateur ayant l'UID 1000 (sous Ubuntu, l'uid 1000 correspond au premier
utilisateur créé) et la création d'un fichier s'effectuera avec les permissions 644
(rw-r---r--) et pour un répertoire 644 (rwxr-xr-x) (umask 022) 666-022
6. umount
Signification : unmout
Démonte un système de fichiers
Options les plus fréquentes :
o -a : Démonte tous les systèmes de fichiers présents dans /etc/mtab
o -d : Si le système monté est un périphérique loop, libérer le périphérique.
o -f : Forcer le démontage
o -r : Si impossible de démonter, monter en lecture seule
Exemples d'utilisation :
o umount /mnt/Mondisk Démonte le système de fichiers monté
dans /mnt/Mondisk
o umount -f /dev/cdrom Force le démontage du périphérique CDROM
o umount -d /mnt/monIso Démonte et libère le périphérique loop
o umount –a Démonte tous les systèmes de fichiers montés (à l'exception de /proc)
; ne sert que lorsque l'on veut redémarrer ou éteindre sa machine manuellement et
[Link] non valide
7. sudo
Équivalent Windows : runas
Signification : substitute user do
Permet d'exécuter des commandes en tant qu'un autre utilisateur, donc avec d'autres
privilèges que les siens.
Options les plus fréquentes :
o -s : Importe les variables d'environnement du shell
o -k : Lorsque l'on utilise sudo, il garde en mémoire le mot de passe ; cette option
déconnecte l'utilisateur et forcera à redemander un mot de passe si sudo est
exécuté avant le timeout défini.
Exemples d'utilisation :
o sudo reboot Lance la commande reboot avec les droits de l'utilisateur root
8. ps
Équivalent Windows : tasklist
Signification : processes snapshot
Affiche les processus en cours
Options les plus fréquentes :
o -u : Affiche les processus de l'utilisateur qui exécute la commande
o -au : Affiche les processus de tous les utilisateurs
o -aux : Affiche l'intégralité des processus du système. Équivalent à ps -A
o -faux : Affiche tous les processus du système en les regroupant par enchaînement
d'exécution.
Exemples d'utilisation :
o ps –u Tous les processus de l'utilisateur courant
o ps –aux Tous les processus en cours
pensez à utiliser avec grep pour limiter la liste :
ps -aux | grep tuxpaint
ne vous retournera que les processus contenant tuxpaint
9. kill / killall
Équivalent Windows : taskkill
Signification : kill / kill all
Permet d'envoyer un signal à un processus ; kill ne comprend que les PID (Process
Identifier, numéro d'ordre du processus), killall quant à lui comprend le nom du
processus.
Options les plus fréquentes :
o -s : Indique quel signal envoyer au processus ; Le signal peut être identifié soit par
son nom (exemple : SIGTERM) soit par son numéro (exemple : 9) ; Cette option
peut être remplacée par le numéro du signal : -s 9 est équivalent à -9.
o -l : Affiche la liste des signaux connus.
Les signaux les plus courants sont :
HUP signal 1 : signal de fin d'exécution où le processus doit relire son fichier de
configuration.
TERM signal 15 : Le signal Terminate indique à un processus qu'il doit s'arrêter.
KILL signal 9 : Le signal Kill indique au système qu'il doit arrêter un processus qui ne
répond plus.
Exemples d'utilisation :
o kill -15 14774 : Envoie le signal 15, ou TERM, au processus ayant le numéro
14774 ce qui a pour effet de terminer proprement le processus.
o kill -9 7804 : Envoie le signal 9, ou KILL, au processus ayant le numéro 7804 ce
qui a pour effet de tuer le processus.
o killall -TERM firefox-bin : Envoie le signal TERM, ou 15, au processus firefox-
bin ce qui a pour effet de le fermer.
Il est généralement conseillé de lancer des signaux de faible importance avant de lancer la
grosse artillerie. En pratique, tester dans l'ordre et deux fois chacune de ces commandes :
kill pid (envoie le signal 15, TERM)
kill -INT pid (envoie le signal 2, INT)
kill -KILL pid (envoie le signal 9, KILL)
L'option par défaut de kill est TERM, c'est pourquoi il n'est pas nécessaire de le préciser
explicitement. kill et kill -TERM sont donc équivalents.
Ça ne marche pas ? Deux possibilités, diagnosticable à l'aide de la commande ps
aux|grep nom_du_process :
o Le processus est devenu « zombie ». Dans ce cas, la commande précédente
affiche un 'Z'. Pour le tuer, il faut tuer ou redémarrer son processus parent, que
l'on peut déterminer avec la commande ps -ef ou ps afx.
o Le processus est ininterruptible (il apparaît comme 'D' avec la commande
précédente), bloqué sur une opération d'entrée/sortie (I/O), vraisemblablement
suite à un bug dans un pilote matériel. Dans ce cas, aucune issue : la politique des
développeurs du noyau linux est de considérer qu'avoir la main sur ce type de
processus compromettrait trop profondément la stabilité du système. C'est l'un des
rares cas où l'on n'a pas d'autre choix que de redémarrer l'ordinateur.
10. shutdown
Équivalent Windows : shutdown
Signification : shutdown
Permet d'éteindre ou relancer la machine au bout d'un temps déterminé (requis : on peut
mettre now pour éteindre immédiatement). Les nouvelles connexions seront bloquées
quelques minutes avant l'extinction et les utilisateurs connectés sont prévenus à l'avance.
Options les plus fréquentes :
o -r : pour relancer (reboot).
o -P : pour éteindre.
o -t : pour programmer le temps (en secondes)
o -c : pour annuler
Exemples d'utilisation :
o shutdown -r now : reboot immédiat
o shutdown -P now : extinction immédiate
o shutdown -r -t 600 : reboot dans 600 secondes (10 minutes)
o shutdown -c : annule toutes programmation d'extinction
o
Il semblerait que shutdown now ne fonctionne plus, ni sur Ubuntu, ni sur OpenBSD (du moins
sur les miens). Cependant, la commande shutdown -P now fonctionne.
En effet, il suffit de remplacer "now" par "0" soit 0 minutes et le tour est joué.
11. passwd
Signification : password
Permet de modifier le mot de passe d'un utilisateur.
Options les plus fréquentes :
o -S : Affiche l'état d'un compte (nom du compte, bloqué (L), si l'utilisateur n'a pas
de mot de passe (NP) ou a un mot de passe utilisable (P), date de dernière
modification du mot de passe, durée minimum avant modification, durée
maximum de validité, durée d'avertissement, durée d'inactivité autorisée)
À moins d'être administrateur système ou réseau (auquel cas pourquoi lisez-vous
ces lignes ?) cette commande s'utilise généralement sans option.
Exemple d'utilisation :
o passwd <nom_compte_a_modifier> Demande à changer le mot de passe
12. groups
Signification : groups
Affiche les groupes auxquels appartient un utilisateur
Exemples d'utilisation :
o groups Affiche la liste des groupes auxquels appartient l'utilisateur ayant tapé la
commande.
o groups MonUtilisateur Affiche tous les groupes auxquels appartient
l'utilisateur MonUtilisateur.
13. adduser
Signification : add user
Ajoute un utilisateur ou un groupe au système.
Options les plus fréquentes :
o --disabled-login : Crée un nouvel utilisateur qui ne pourra se connecter jusqu'à ce
qu'un mot de passe lui soit attribué.
o --disabled-password : Comme --disabled-login sauf que le nouvel utilisateur
pourra se connecter en SSH avec des clefs RSA : pratique pour créer un utilisateur
qui ne se connectera que via SSH.
o --system : Crée un utilisateur système.
o --group --system : Un groupe ayant le même nom et le même identifiant
numérique que l'utilisateur système est créé.
o --home tel-répertoire : Utilise "tel-répertoire" comme répertoire personnel de
l'utilisateur, plutôt que la valeur par défaut. Si le répertoire n'existe pas, il est créé,
et les fichiers du squelette y sont copiés.
o --no-create-home : Ne crée pas de répertoire HOME.
Exemples d'utilisation :
o adduser MonUtilisateur Crée l'utilisateur MonUtilisateur.
o adduser --disabled-password --no-create-home UtilisateurSSH Crée un
utilisateur UtilisateurSSH sans mot de passe ni répertoire personnel dans /home,
qui ne pourra pas se connecter à la machine directement, mais en SSH, oui.
o adduser --disabled-password --home /home/UtilisateurSSH UtilisateurSSH
Même chose que ci-dessus sauf qu'on lui donne le même répertoire HOME qu'à
l'utilisateur UtilisateurSSH créé en premier.
o adduser UtilisateurSSH fuse Ajoute l'utilisateur UtilisateurSSH (créé
préalablement) dans le groupe "fuse". On peut faire aussi un: gpasswd -a $USER
fuse
o adduser NouvelUtilisateur --ingroup users Crée l'utilisateur NouvelUtilisateur
et l'ajoute au groupe "users".
o adduser NouvelUtilisateur --ingroup users --uid 1000 Crée
l'utilisateur NouvelUtilisateur avec l'uid 1000 et l'ajoute au groupe "users" (utile
pour écrire sur une partition ext2/3/4 externe au système ou un dossier
appartenant au uid 1000).
14. deluser
Signification : delete user
Supprime un utilisateur du système.
Option la plus fréquente :
o --system : Ne supprime l'utilisateur que si c'est un utilisateur système.
o --remove-home : Supprime l'utilisateur ainsi que son répertoire dans le home.
Exemple d'utilisation :
o deluser UtilisateurSSH Supprime l'utilisateur UtilisateurSSH
o deluser –remove-home NouvelUtilisateur Supprime l'utilisateur
NouvelUtilisateur ainsi que le répertoire /home/NouvelUtilisateur
o deluser NouvelUtilisateur users Supprime l'utilisateur NouvelUtilisateur du
groupe "users"
15. usermod
Signification : user modification
Modifie les paramètres d'un compte utilisateur.
Options les plus fréquentes :
o -G, –groups GROUPE1 [, GROUPE2,… [, GROUPEN]]] : Ajouter l'utilisateur
aux groupes précédents. ATTENTION : si l'utilisateur fait partie d'un groupe qui
n'est pas listé dans votre ligne de commande ("admin" par exemple), l'utilisateur
sera supprimé de ce groupe avec des conséquences pouvant être désastreuses. Ce
comportement peut être changé avec l'option -a, qui permet d'ajouter l'utilisateur à
une liste de groupes supplémentaires sans prendre le risque de le supprimer
d'autres groupes importants.
Exemples d'utilisation :
o usermod -aG toto machin Ajoute l'utilisateur machin au groupe toto sans
supprimer machin de ses groupes d'origine.
o usermod -g group1 user1 Défini pour l'utilisateur user1 le groupe group1 comme
groupe primaire
o sudo usermod -d /home/nouveau_login -m -l nouveau_login ancien_login
Permet de renommer le répertoire (dossier) utilisateur et de changer son nom.
Pratique lorsque le pc change de mains.
16. df
Signification : disk free
Affiche la quantité d'espace disque utilisée par les systèmes de fichiers.
Options les plus fréquentes :
o -a : Affiche tous les systèmes de fichiers, y compris ceux de 0 blocs (par exemple
: proc, sysfs, usbfs et tmpfs)
20
o -h : Ajoute aux valeurs un M pour mébioctet (2 octets) pour que ce soit plus
lisible.
6
o -H : Pareil que -h mais en mégaoctets (10 octets).
o -T : Affiche le type du système de fichiers.
Exemples d'utilisation :
o df –h Affiche la quantité d'espace disque utilisé en mébioctets par les systèmes de
fichiers.
o df /home Affiche la quantité d'espace disque utilisé par la partition /home (si elle
existe)
o df -T –h Affiche le nom des partitions et leur point de montage.
17. fdisk
Équivalent Windows : fdisk
Signification : format disk
Formater un disque dur et modifier une table de partition
Options les plus fréquentes :
o -l Informations détaillées des disques
Exemples d'utilisation
o sudo fdisk /dev/sda
o sudo fdisk -l
18. du
Équivalent Windows : dir
Signification : disk usage
Affiche l'espace disque utilisé par les fichiers et/ou les répertoires
Options les plus fréquentes :
o -a : Afficher pour tous les fichiers et pas uniquement les répertoires.
o -s : Afficher le total sans lister les différents fichiers
o -c : Faire un total après avoir tout affiché.
o -h : Ajoute un suffixe correspondant à l'unité (K, M, G)
o -H : Idem que -h mais en puissance de 10
Exemple d'utilisation :
o du -hs dir Affiche la taille du répertoire dir ou du répertoire courant si dir est
omis.
o du -ch /home/MonUtilisateur Affiche la taille des répertoires contenus
dans /home/MonUtilisateur en utilisant un suffixe puis le total.
o du -sm ~/Images/*.jpg Affiche la taille totale des fichiers JPEG contenus dans le
répertoire ~/Images
19. uptime
Signification : uptime
Indique depuis quand le système fonctionne.
Exemples d'utilisations :
o uptime Affiche l'heure actuelle, la durée depuis laquelle le système fonctionne, le
nombre d'utilisateurs actuellement connectés, et la charge système moyenne ;
Commande de geek par excellence qui ne sert pas à grand chose pour un
utilisateur lambda, mais utile pour un administrateur.
20. lspci
Signification : list peripheral component interconnect
Liste tous les périphériques PCI
Option la plus fréquente :
o -v : Affiche des informations plus détaillées
Exemples d'utilisation :
o lspci
21. lsusb
Signification : list universal serial bus
Liste tous les périphériques USB
Option la plus fréquente :
o -v : Affiche des informations plus détaillées
Exemples d'utilisation :
o lsusb
22. uname
Signification : unix name
Affiche des informations sur le système.
Options les plus fréquentes :
o -s : Affiche le nom du noyau.
o -n : Affiche le nom de la machine (hostname).
o -r : Affiche la révision du noyau
o -v : Affiche la version du noyau
o -m : Affiche le type de processeur de la machine (i386, i686, etc.)
o -o : Affiche le nom du système d'exploitation
o -a : Afficher les informations en utilisant les options -snrvmo
Exemple d'utilisation :
o uname –a Affiche tout.
23. apt-get
Signification : avanced package tool - get
Permet l'installation et la désinstallation de paquets en tenant compte des dépendances
ainsi que le téléchargement des paquets s'ils sont sur une source réseau.
Commandes les plus fréquentes :
o update : Met à jour la liste des paquets disponibles en fonction des sources
fournies.
o upgrade : Met à jour tous les paquets déjà installés.
o dist-upgrade : Pareil à upgrade mais permet en plus de passer à une version
supérieure du noyau et de certains paquets, sans changer de version d'ubuntu.
o install : Installe un ou plusieurs paquets.
o remove : Supprime un ou plusieurs paquets.
o clean : Efface du système les installateurs, sans désinstaller de paquets.
Options les plus fréquentes :
o -f : Utilisée avec install ou remove cette option permet de réparer un système
dont les dépendances sont défectueuses.
o -m : Ignore les paquets manquants (à éviter si on ne sait pas exactement ce que
l'on fait).
o -s : Fait une simulation des actions à mener sans rien toucher au système.
o -y : Répond automatiquement oui à toutes les questions.
o -u : Affiche les paquets mis à jour.
o
--purge : À utiliser conjointement avec remove pour supprimer tout ce qui peut
l'être (fichiers de configuration par exemple, sauf ceux éventuellement présents
dans /home).
o --reinstall : Réinstaller les paquets avec leur version plus récente.
Exemples d'utilisation :
o sudo apt-get update Met à jour la liste des paquets disponibles.
o sudo apt-get upgrade Met à jour tous les paquets installés.
o sudo apt-get install paquet1 paquet2 Installe paquet1 paquet2.
o sudo apt-get --purge remove paquet3 Supprime paquet3 ainsi que tous ses
fichiers de configuration sauf ceux éventuellement présents dans /home.
Ne pas confondre avec apt, plus jeune, qui a beaucoup moins d'options.
24. apt-cache
Signification : avanced package tool - cache
Gestion des paquets et manipulation du cache par APT
Commandes les plus fréquentes :
o show : Affiche les informations associées au paquet.
o search : Recherche l'expression régulière donnée sur tous les paquets disponibles.
o depends : Affiche les paquets dépendants du paquet donné.
o rdepends : Affiche les paquets qui ont en dépendance le paquet donné.
o madison : Affiche le dépôt dans lequel se trouve le paquet donné.
Options les plus fréquentes :
o -f : Affiche tous les champs d'information.
o -n : Ne recherche que dans les noms des paquets.
Exemples d'utilisation :
o apt-cache show xeyes Affiche les informations associées au paquet xeyes.
o apt-cache depends ubuntu-desktop Affiche toutes les dépendances du
paquet ubuntu-desktop.
o apt-cache rdepends gnome-about Affiche tous les paquets dont dépend le
paquet gnome-about.
o apt-cache search -n irc Recherche et affiche tous les paquets ayant dans leur
nom irc
o apt-cache madison brasero Indique le dépôt fournissant le paquet brasero
25. file
Signification : file
Permet d'identifier le type de fichier grâce à son MIME en utilisant les tests magic sur le
contenu des fichiers (en général les premiers bits). Les tests sont fournis par le paquet
libmagic1.
Exemples d'utilisation :
o file dossier/* Affiche une ligne de description pour chaque fichier contenu dans le
dossier.
26. systemctl
Signification : system control
Équivalent Windows : net / sc
Contrôler le lancement d'un service et afficher son état.
Commandes les plus fréquentes:
o start : Lancer le service.
o stop : Arrêter le service.
o status : Afficher l'état du service.
o enable : Le service se lancera au démarrage.
o disable : Le service ne se lancera plus au démarrage.
Exemple d'utilisation :
o systemctl start [Link] Lancer le service "MySQL".
o systemctl stop [Link] Arrêter le service "Bluetooth".
Chapitre 4 Installer Ubuntu 20.04 LTS : le guide complet
Ubuntu 20.04 est la meilleure distribution pour découvrir, adopter puis utiliser Linux au
quotidien. C’est une distribution Linux accessible et simple d’utilisation. Jouissant d’une forte
communauté, Ubuntu est parfait pour une utilisation quotidienne que ce soit sur PC de bureau ou
PC portable.
De part sa simplicité, Ubuntu est actuellement considéré comme l’alternative n°1 à
Windows même si d’autres distributions comme Linux Mint sont aussi bonnes, notamment pour
les débutants.
1. Présentation d’Ubuntu 20.04 LTS
Ubuntu 20.04 « Focal Fossa » est une version LTS (Long Term Support) dont le support
technique sera assuré pendant cinq ans (jusqu’en 2025). Ubuntu 20.04 est la 8e version LTS
d’Ubuntu, elle succède à la 18.04 « Bionic Beaver » :
C’est une version qui vient avec des nouveautés intéressantes comme l’environnement de bureau
GNOME 3.36, un démarrage plus rapide.
NB : Ubuntu existe en plusieurs variantes : Kubuntu, Xubuntu, Lubuntu… Si vous avez envie
d’installer une de ces variantes, sachez que la procédure d’installation est la même que celle
d’Ubuntu.
Étape 1 : créer une clé USB d’installation d’Ubuntu
1. Téléchargez l’ISO d’Ubuntu 20.04.
2. Vérifiez l’intégrité du fichier ISO avec l’empreinte SHA-256 du fichier original.
3. Créez une clé USB d’installation d’Ubuntu 20.04 à partir de l’ISO téléchargé :
o depuis Windows : créer une clé USB bootable de Linux
o depuis Linux : créer une clé USB bootable de Linux depuis Linux
4. Une fois votre clé USB prête, passez à l’étape suivante : l’installation d’Ubuntu 20.04
LTS !
Étape 2 : installer Ubuntu 20.04 LTS
1. Démarrez votre PC à partir de la clé USB d’installation d’Ubuntu.
2. Cliquez sur Install Ubuntu pour démarrer l’installation du système d’exploitation.
3. Patientez pendant la vérification des disques.
4. L’installeur d’Ubuntu, alias Ubiquity, se lance. Sélectionnez la
langue Français puis cliquez sur le bouton Installer maintenant.
5. Indiquez la disposition de votre clavier : French – French (legacy, alt.).
6. À l’écran suivant, sélectionnez les options suivantes :
o Installation minimale : l’installation minimale installe la base du système,
l’environnement graphique, un navigateur web et quelques outils. Et c’est tout !
Environ 80 paquets sont supprimés, parmi lesquels Thunderbird, Transmission,
Rythmbox, LibreOffice, Cheese ou Shotwell. L’installation occupe 3,5 Go
d’espace, contre 4 Go en moyenne pour l’installation normale.
o Télécharger les mises à jour pendant l’installation d’Ubuntu.
o Installer un logiciel tiers pour le matériel graphique et Wi-Fi et des formats
de média supplémentaires : installe le paquet ubuntu-restricted-addons (qui
contient des codecs audio et vidéo) et les drivers nécessaires au support des cartes
Wi-Fi et cartes graphiques.
7. Sélectionnez Effacer le disque et installer Ubuntu. puis cliquez sur Installer
maintenant. Attention, toutes les données présentes sur votre disque seront
définitivement effacées !
En cliquant sur le bouton Fonctions avancées, vous avez la possibilité de chiffrer Ubuntu
avec LVM (Logical Volume Manager, ou gestionnaire de volumes logiques en français,
lequel permet la création et la gestion de volumes logiques sous Linux) et d’utiliser le
système de fichiers ZFS (Zettabyte File System qui permet un stockage aux dimensions
quasi illimitées).
8. Validez le formatage du disque en cliquant sur Continuer.
9. Sélectionnez votre pays puis faites Continuer.
10. Entrez votre nom d’utilisateur, votre mot de passe, le nom du PC, puis cliquez
sur Continuer.
11. L’installation d’Ubuntu 20.04 LTS commence!
L’installation prend plus ou moins de temps selon les performances de votre système
(CPU, SSD ou HDD…).
12. Une fois l’installation terminée, cliquez sur Redémarrer maintenant pour
redémarrer votre PC.
13. Retirez la clé USB de votre PC puis appuyez sur Entrée ↲.
14. Votre PC est automatiquement configuré pour exécuter GRUB, le gestionnaire de
démarrage d’Ubuntu, au démarrage.
Etape 3 Configurer Ubuntu 20.04 LTS
1. Allumez votre PC puis patientez pendant le chargement d’Ubuntu.
2. À l’ouverture de session, connectez-vous avec votre nom utilisateur.
3. Au besoin, connectez votre compte Ubuntu, Google, Nextcloud ou Microsoft, etc.
pour pouvoir accéder à vos données en ligne. Sinon, cliquez sur Passer.
4. Choisissez de configurer ou non Livepatch. Livepatch permet d’installer
certaines mises à jour de sécurité du noyau critiques sans redémarrer le système, en
appliquant directement un correctif au noyau en cours d’exécution.
5. Acceptez ou non de partager des informations sur votre matériel à Ubuntu
6. Autorisez ou non les applications à géolocaliser votre position actuelle.
7. Ubuntu est maintenant configuré, cliquez sur le bouton Terminé.
8. Bienvenue sur Ubuntu 20.04!
9. Installez les mises à jour parues depuis la sortie d’Ubuntu 20.04.
10. Pour installer des applications, utilisez Ubuntu Software ou bien le gestionnaire
de paquets APT (recommandé). Pour plus d’informations : télécharger et installer des
applications sur Ubuntu Linux.
TP 2: Comment configurer la connexion internet sur Ubuntu ?
Pour cela, la démonstration se fera en Ethernet (avec le câble), mais pour le WiFi le principe
reste le même.
Afficher les paramètres de la carte réseau : ifconfig
Dans un premier temps, ouvrir un terminal et entrer la commande « ifconfig » qui va afficher les
paramètres de votre carte réseau actuelle. Comme on peut le constater, il n’y a pas d’adresse IP
actuellement (dans mon cas). Vous allez donc découvrir comment l’ajouter manuellement.
Paramétrer manuellement une carte réseau
Pour commencer le paramétrage, cliquez sur le symbole des ondes (WiFi) ou un ordinateur avec
le point d’exclamation. Cela va afficher un menu défilant. Dans celui-ci, on trouve plusieurs
informations, notamment le nom de la carte réseau, ici elle se nomme eth0. Vous pouvez
d’ailleurs retrouver le nom lorsqu’on a tapé la commande « ifconfig » dans le terminal.
Un clic droit avec la souris sur l’icône représentant les ondes (la connexion internet), un autre
menu va apparaître, Puis cliquez sur « modification des connexions » pour paramétrer la
connexion internet sur Ubuntu.
Dans le menu qui apparaît, cliquez sur auto eth0 (ou sur le nom de votre carte réseau), puis sur
modifier pour commencer le paramétrage.
Dans le nouveau menu qui apparaît, cliquez sur « Paramètre IPV4 ».
Dans le menu qui se nomme « Méthode », cliquez sur « automatique DHCP » (Dynamic Host
Configuration Protocol) pour choisir la méthode d’attribution de l’adresse IP. Un menu
déroulant va apparaître.
Comme prévu, un menu déroulant apparaît dans lequel sélectionnez « manuel » pour remplir et
paramétrer vous-même les informations IP local.
Une fois la méthode « manuel » sélectionnée, cliquez sur « Ajouter ».
Rentrez les paramètres pour configurer la connexion internet sur Ubuntu :
Le premier est l’adresse IP, qui peut être différente selon le réseau, mais généralement
les box sont sur des réseaux [Link], sinon il suffit de s’adapter. Ex : mettre l’adresse
IP [Link], le 5 peut être remplacé par n’importe quel chiffre entre 2 et 254 (et il ne
doit pas être déjà utilisé sur le réseau),
le masque de sous réseau est toujours en fonction de votre réseau, dans notre cas
[Link]
et enfin la passerelle qui est l’adresse de la box qui vous permettra ensuite d’accéder à
internet (souvent, il s’agit de [Link]).
NB : une fois terminé, cliquez sur la touche entrée après avoir mis votre passerelle pour valider
ces étapes.
Ensuite, renseignez un serveur DNS, dans ce cas entrez un des plus connus avec l’adresse
[Link] (Google), puis cliquez sur « appliquer », votre mot de passe utilisateur sera
demandé pour valider.
NB : Le système de noms de domaine (DNS, Domain Name System) est la méthode par laquelle
une adresse IP (Internet Protocol), un ensemble de chiffres ([Link]), est convertie sur un
ordinateur ou un autre dispositif connecté en un nom de domaine lisible par l'homme, tel que
[Link].
Au niveau de votre barre de menu, constatez que la connexion s’établit. Si cette dernière ne se
fait pas automatiquement suite à la validation, faites apparaître le menu comme au début puis
cliquer sur auto eth0.
TP 3 : Administration de base de la sécurité