Note au lecteur
Durant votre lecture, vous serez amené(e) à manipuler des commandes, du texte ou des raccourcis clavier par l’intermédiaire de lignes formatées de la façon suivante :
CTRL + T
Vous rencontrerez également des liens pour télécharger des programmes ou pour obtenir un complément de lecture.
Certains liens pourront pointer vers des pages inexistantes ou des sites web qui ne sont plus accessibles. Cela est hors de mon contrôle, bien que je fasse le nécessaire pour mettre à jour les liens périmés.
Enfin, il se peut également que des informations données dans ce guide (par exemple des captures d’écran) deviennent obsolètes à travers le temps. Si jamais cela se produit, vous pouvez me contacter pour obtenir une information à jour.
Les explications données dans ce guide sont basées à la fois sur ce qui est enseigné en école d’informatique, mais aussi (et surtout) sur ma façon d’enseigner les choses. Ce guide n’est donc pas écrit par l’IA, mais bien par l’envie de partager sans compter les dizaines d’heures passées devant l’écran. Que vous soyez débutant complet ou utilisateur intermédiaire, j’ai regroupé tout ce qu’il vous faut savoir pour débuter avec Linux, à partir de zéro.
Les chapitres se suivent, je vous conseille donc fortement de les lire du début à la fin sans sauter les chapitres.
Au début, Linux semble rebutant, on pense que seules des personnes « geek » l’utilisent pour taper des lignes de commande vertes sur fond noir.
Mais, c’est faux, Linux est absolument tout public et tend à se généraliser chez les internautes. Vous ferez bientôt partie de cette communauté de « Linuxiens » très active, qui, je l’espère, saura vous guider au-delà de vos espérances !
J’insiste simplement sur un point qui vous permettra d’apprendre Linux de la meilleure façon possible : pratiquez beaucoup, notamment en recopiant ce que je fais de votre côté et en cherchant toujours à en savoir plus.
La pratique est ce qui fonctionne le mieux pour apprendre, je l’ai appris relativement tard, et je le regrette. J’ai lu énormément de ressources sur Linux et sur la programmation en général, sans jamais les avoir appliquées. Et à présent, je me rends compte que je ne les ai jamais retenues.
Ce guide n’est pas destiné à être une bible de commandes ou d’informations données sans explications ni exemples concrets. Il se veut être un assistant qui vous présente de façon ludique et compréhensible toutes les commandes et techniques qu’il vous faut savoir pour bien débuter avec Linux.
Le guide se présente donc de façon chronologique (les exemples donnés se suivent et se complètent au fur et à mesure) plutôt que de façon alphabétique.
1. Introduction
Dans la famille des systèmes d’exploitation libres, les définitions s’utilisent dans tous les sens et se mélangent. Unix, GNU, GNU/Linux, Linux, Ubuntu… Faisons donc pour commencer un point sur les termes employés.
Unix est un système d’exploitation dont le développement a débuté en 1969. Il a été initialement écrit en langage assembleur, puis plus tard développé en langage C.
GNU est quant à lui un autre système d’exploitation libre reprenant les concepts de Unix, lancé en 1983 par Richard Stallman, puis maintenu par le projet GNU. Son nom est un acronyme récursif qui signifie en anglais « GNU is Not UNIX » car GNU se voulait entièrement libre et indépendant, contrairement à Unix.
En 1991, Linus Torvalds, encore étudiant, développe le noyau Linux. Le noyau Linux reprend aussi les concepts de Unix, c’est pourquoi on dit souvent que Linux est « basé » sur Unix, même si Linux ne reprend pas le code source de Unix.
Mais le noyau ne faisant pas grand-chose tout seul, il a été combiné aux outils GNU pour former le système d’exploitation libre appelé GNU/Linux. Les puristes continuent à utiliser la juste expression « GNU/Linux » pour bien marquer la liberté totale du système et pour montrer qu’il s’agit d’une variante du système GNU dont le noyau est le noyau Linux.
C’est donc pour cela qu’aujourd’hui, l’appellation « Linux » devrait faire référence soit au « noyau Linux » soit à « GNU/Linux ».
Une distribution Linux est quant à elle un ensemble de programmes libres ou non assemblés autour du noyau Linux.
Cela semble prêter à confusion, mais je vais de toute manière simplifier comme on le fait dans la vie de tous les jours et employer le terme « Linux » pour faire référence aux systèmes d’exploitation basés sur GNU/Linux, distributions y comprises. Les puristes me pardonneront.
Passer sous Linux est un choix. Un choix qui est souvent dicté par une éthique et des besoins. Et afin de bien faire ce choix, il y a un certain nombre de questions à se poser avant de continuer.
2. Questions générales sur Linux
Je vais ainsi répondre à des questions souvent posées par les débutants et qui méritent des éclaircissements avant d’installer Linux.
2.1 Combien Linux va-t-il me coûter ?
Qui n’a jamais été plongé dans la situation suivante en achetant Windows : vous installez Windows, vous attendez que tout soit prêt pour pouvoir commencer à travailler, vous lancez Microsoft Word, et là… vous devez entrer la clé de licence. En effet, vous tombez sur un logiciel avec un compteur de jours restants pour pouvoir l’utiliser gratuitement avant de devoir le payer.
Vous payez donc le système d’exploitation, en l’occurrence Windows, mais aussi Word, Excel, PowerPoint, l’antivirus potentiellement déjà préinstallé en version d’essai, et j’en passe.
Si vous êtes sous Mac, c’est un peu la même chose, vous payez les licences des différents logiciels que vous souhaitez installer ou mettre à jour.
Bien qu’on puisse débattre à ce sujet et y voir des avantages à utiliser des technologies payantes, ce « problème » n’existe pas sous Linux.
Habituellement, Linux est directement livré avec la suite LibreOffice qui reprend les mêmes programmes que la suite Office de Windows à quelques détails près, sous forme d’alternatives. C’est-à-dire que vous pourrez faire des diapositives comme PowerPoint, faire des feuilles de calcul comme Excel, faire de la mise en page comme Word, etc.
Ce n’est pas tout, avec Linux vous pourrez aussi faire de l’édition photo, jouer de la musique ou de la vidéo, graver des CD et plein d’autres.
Cependant, le point négatif lié à cette gratuité est le fait que le support client ou technique n’est pas fourni en cas de souci et que nous avons plus de tâches à réaliser nous-mêmes. Mais le fait de toucher soi-même au système convient bien à l’esprit hacker.
2.2 Est-ce que Linux fonctionne partout ?
Linux fonctionnera sur n’importe quel ordinateur, que vous ayez un bon vieux PC ou le dernier processeur à seize cœurs. Linux est prévu pour être un système d’exploitation léger. La compatibilité matérielle de Linux, qui souffrait de quelques problèmes au début, a bien été améliorée au fil des années.
Le fait de passer de Windows à Linux donnera donc souvent l’impression de faire revivre certains ordinateurs tant le système est léger et adapté. À ce sujet, Linux est également très utilisé dans les systèmes embarqués et dans l’IoT.
2.3 Linux est-il plus sécurisé que Windows ?
Il s’agit certainement d’un des arguments les plus connus des pro-Linux : les virus y sont moins nombreux. Linux contient effectivement moins de virus que Windows. Attention cependant aux pièges de cette affirmation, le risque dépend beaucoup de l’activité de chacun plutôt que de son système.
Linux, étant Open Source, repose sur une communauté très active qui observe le code source et dont les feedbacks reçus sur les bugs ou fonctionnalités manquantes sont nombreux. Le déploiement des patchs de sécurité et d’autres mises à jour du système est donc lui aussi nombreux et rapide.
Un autre point concerne la gestion des droits d’administrateur. Sous Linux, le mot de passe « root » (donc de l’administrateur) est défini par vous-même et sans disposer de ce mot de passe, personne ne peut accéder aux fonctions d’administration.
Sous Windows, cependant, l’accès en tant qu’administrateur est parfois bafoué, Microsoft prévoyait par exemple un accès administrateur sans mot de passe pour vérifier que la version de Windows n’est pas piratée.
Les utilisateurs eux-mêmes sont parfois administrateurs de la machine sans même s’en rendre compte, un beau point d’entrée pour les programmes malveillants qui profiteront de ces accès privilégiés.
2.4 Comment Linux gère-t-il les mises à jour ?
Encore un souci lorsqu’on est sous Windows, les mises à jour des programmes tiers ne sont pas (bien) gérées par défaut. Cela veut dire que vous devez vérifier manuellement si une nouvelle version de votre programme est disponible ou laisser le programme se mettre à jour lui-même dès qu’il en a envie.
Linux, quant à lui, contient un gestionnaire de mises à jour central. Toutes les mises à jour se font depuis une seule place.
2.5 Doit-on utiliser Linux pour apprendre le hacking ?
Disons que le hacking est lié à l’esprit du logiciel libre. L’idée du logiciel libre étant de permettre d’étudier, de modifier et de dupliquer les codes sources des programmes.
À ce sujet, Linux n’est pas qu’un simple logiciel libre mais un système d’exploitation libre.
Voici les 4 principes d’un logiciel (ou système) libre :
- La liberté d’exécuter le programme, pour tous les usages.
- La liberté d’étudier le fonctionnement du programme et de l’adapter à ses besoins.
- La liberté de redistribuer des copies du programme (ce qui implique la possibilité aussi bien de donner que de vendre des copies).
- La liberté d’améliorer le programme et de distribuer ces améliorations au public, pour en faire profiter toute la communauté
Ces droits sont souvent établis sous forme de licences libres aussi appelées « licences copyleft ».
En cybersécurité, on cherche à connaître le fonctionnement intime des programmes et systèmes. Et pour cela il nous faut justement avoir au maximum la main sur ces derniers, et les logiciels propriétaires (à l’opposé des logiciels libres) ne le permettent pas vraiment.
En quelque sorte, si vous développez un logiciel et que vous souhaitez autoriser tout le monde à exécuter, étudier, redistribuer, améliorer ce dernier, vous allez créer un logiciel libre.
Par exemple : Internet Explorer est un logiciel propriétaire, Mozilla Firefox est un logiciel libre.
Windows est un système d’exploitation propriétaire, Linux est un système d’exploitation libre.
Dans le cas des logiciels propriétaires, la documentation est non seulement inexistante ou pauvre, mais en plus le fait d’étudier le fonctionnement du programme est illégal.
On appelle « Rétroingénierie » ou « Reverse Engineering » en anglais le fait d’étudier un programme pour en déterminer son fonctionnement.
Dans plusieurs domaines de la cybersécurité, on étudie souvent les virus par rétroingénierie pour comprendre comment ils fonctionnent ou comment ils sont créés afin de s’en protéger.
Bien entendu, il faut préciser que le hacking ne se limite pas non plus à Linux, il peut très bien exister des logiciels libres pour Windows, sans qu’il soit lui-même libre.
2.6 Doit-on utiliser Linux pour apprendre la programmation ?
Même s’il tend à se généraliser pour l’utilisateur classique dit « lambda », Linux est un peu le système créé par des programmeurs pour des programmeurs. Vous obtenez donc plusieurs outils et méthodes de travail permettant de programmer facilement et rapidement.
Par exemple, beaucoup de compilateurs sont présents de base sous Linux. Vous n’avez pas besoin de tout télécharger avant de commencer à programmer, comme c’est le cas pour Windows.
À propos de téléchargement, vous n’avez habituellement pas non plus besoin d’aller systématiquement sur le site web du programme, de télécharger et puis d’installer ce programme. Mais vous le ferez directement en lignes de commande. On verra ce que c’est un peu plus tard.
On apprend souvent la programmation sous Linux car le fait qu’il soit un système libre permet de mieux étudier son comportement. On arrive mieux à « toucher au système », on peut aussi choisir de changer des fonctionnalités du système qui sont bloquées sous Windows (par exemple le gestionnaire de bureau, etc…).
Cela dit, Windows permet également de programmer, pour tous types de plateformes. Ainsi, il n’est donc pas non plus indispensable d’utiliser Linux pour programmer, tout est une question de choix, et sans avoir essayé auparavant, on ne peut pas dire si on aime ou pas.
Pareillement pour les langages web, utiliser Linux ou Windows ne changera pas beaucoup, car la programmation web fonctionne de la même manière pour Windows, Mac, Linux, Android ou encore iOS.
Nous noterons donc qu’à chaque question concernant l’utilisation d’un système plutôt qu’un autre, on obtient toujours des avantages et des inconvénients l’un par rapport à l’autre. Il n’y a pas de réponse objective universelle. La différence est donc principalement philosophique.
2.7 Y a-t-il moins de virus sous Linux ?
Oui mais attention.
J’en parlais plus tôt lorsque je disais que Linux est plus sécurisé que Windows. En fait, on estimait qu’il y avait environ 90% des internautes qui utilisaient Windows. Même si les dernières statistiques montrent un écart de moins en moins important, la différence est toujours assez importante aujourd’hui.
Nous expliquions également précédemment que Linux a été créé par des programmeurs pour des programmeurs.
Cela signfie que la plupart des utilisateurs « non expérimentés » ou « lambdas », si vous me permettez ce qualificatif, utilisent Windows. Il est donc préférable pour les créateurs de programmes malveillants de développer des outils ciblant Windows car non seulement ils touchent plus de monde, mais en plus ce sont des cibles plus « faciles ». C’est pour cela qu’il y a aujourd’hui encore davantage de risques en étant sous Windows.
Cela dit, croire que sous Linux (ou sous Mac) on est invincible est une énorme erreur. Les attaques comme l’hameçonnage, l’ingénierie sociale, le Java Drive By et j’en passe, sont indépendantes du système.
Pour bien comprendre, imaginez que vous envoyez par e-mail votre mot de passe d’un compte en ligne à un pirate, que ce soit volontairement ou non. Quoi qu’il arrive, ce dernier aura accès à votre compte, peu importe le système utilisé.
Plus d’informations sur les virus Mac : https://www.leblogduhacker.fr/les-virus-mac-sommes-nous-hors-danger/
Plus d’informations sur le Java Drive By : https://www.leblogduhacker.fr/hacker-en-visitant-site-java-drive-by/
Et j’insiste sur ce point, car on devient trop souvent laxiste sur les systèmes Linux en se pensant protégés. On l’est certes plus que sous Windows mais pas totalement. « Ce qui est sécurisé à 99% n’est pas sécurisé ».
2.8 Pourquoi passer sous Linux ?
De manière générale, les utilisateurs migrant vers Linux donnent souvent les arguments suivants : La sécurité, le prix, et la stabilité.
On a parlé de ces arguments dans les points précédents, j’ajouterai que Linux est très bien vu par la communauté cyber contrairement à Windows et son désormais populaire « écran bleu de la mort » alias Blue Screen.
Il faut cependant garder en tête qu’il n’y a pas non plus que des avantages à utiliser Linux.
Par exemple, les jeux et autres applications que vous utilisez actuellement sous Windows ne seront certainement pas toutes utilisables sous Linux.
Ce problème pour jouer sous Linux peut constituer un « point faible » de Linux, même s’il reste possible d’utiliser Linux et Windows sur un même ordinateur.
Il arrive également que certains codecs comme pour l’enregistrement audio ne soient pas installés de base sous Linux, même si cela fait partie des petits problèmes spécifiques inévitables.
Linux est donc un système à voir et à connaître si déjà on s’intéresse à l’informatique et à la cybersécurité, mais vous n’êtes pas obligé de l’utiliser tous les jours.
Utiliser et rester sous Linux plutôt que sous Windows est donc un choix, tout à fait subjectif, qui répond à des besoins spécifiques ainsi qu’à un état d’esprit spécifique, comme ceux dont nous avons parlé.
2.9 Un mot sur le manchot
Le manchot est la mascotte officielle du noyau Linux et a été proposé par Linus Torvalds lui-même.

Linus affirme avoir été mordu par un manchot en Australie avant de rêver de manchots pendant plusieurs jours. Il voulait également une mascotte qui ressemble à un animal gentil plutôt qu’un féroce.
En 1996, il a donc décidé d’en faire la mascotte de Linux. Le nom officiel du manchot est « Tux », et semble provenir de (T)orvalds (U)ni(X).
3. Installer Linux
Après avoir saisi les concepts de base de Linux, il va nous falloir commencer la pratique en l’installant sur notre ordinateur.
Je rappelle qu’on peut décomposer Linux de la façon suivante : le noyau (kernel) et l’ensemble de logiciels assemblés autour du noyau. Le tout forme ce que l’on appelle une distribution, appelée plus familièrement une « distro ».
Vous n’allez donc pas vraiment « télécharger Linux », mais télécharger une distribution Linux de votre choix, et il y en a beaucoup. Il existe plusieurs distributions Linux, un peu comme il existe plusieurs versions de Windows ; certaines sont plus ciblées pour les débutants, d’autres sont spécialisées.
Kali Linux (anciennement BackTrack) est un exemple de distribution spécialisée dans le pentesting (test d’intrusion). Si vous souhaitez continuer votre chemin vers le hacking, je vous conseille d’ailleurs Kali Linux (ou son alternative française Exegol ;-)), qui regroupe beaucoup d’outils de tests d’intrusion. Kali est à télécharger à l’adresse suivante : http://www.kali.org/downloads/
Et enfin, si toute la liste des distributions vous intéresse, vous pouvez vous rendre sur la page Wikipédia qui maintient une liste de distributions à jour : http://fr.wikipedia.org/wiki/Liste_des_distributions_Linux
3.1 Quelle est la meilleure distribution pour débutants ?
Voilà une question intéressante. Et…, je ne saurais vous donner une réponse précise, c’est un peu comme les goûts et les couleurs ; certaines personnes adorent des distributions que d’autres détestent.
Cela dit, on recommande souvent les distributions Ubuntu, Debian et Linux Mint pour les débutants, car elles sont parmi les plus faciles à apprivoiser.
Ubuntu est également l’une des distributions les plus populaires, et c’est celle que j’utilise moi-même souvent. Je vais donc l’utiliser pour la suite de ce tutoriel et vous invite à en faire de même.
Si vous ne souhaitez pas l’installer, choisissez une autre distribution ; le tutoriel restera valable dans les grandes lignes.
Cela dit, je vais donc maintenant employer le mot « Ubuntu » à la place de « Linux », ne soyez pas déboussolés, Ubuntu n’est qu’une distribution Linux.
Ubuntu est un projet lui-même basé sur Debian et fondé par l’entrepreneur sud-africain Mark Shuttleworth. Son but était de créer un système d’exploitation accessible pour tout le monde, peu importe qui l’utilise, peu importe la langue, et même pour les personnes sourdes ou malvoyantes.
Ubuntu fonctionne directement et entièrement après être installé ; il n’y a pas de version d’essai, et il n’y a rien à payer. Certaines versions ont un nom finissant par « LTS ». Il s’agit de « Long Term Support » en anglais, signifiant que la version sera maintenue durant plusieurs années, alors que les versions standards sont maintenues 18 mois. Quoi qu’il arrive, vous pourrez passer à une autre version facilement de façon à être toujours à jour.
Ubuntu est un système d’exploitation orienté bureau, c’est-à-dire qu’il dispose de tout un panel d’applications installées comme LibreOffice, un gestionnaire de photos, un client mail, etc.
Par rapport à Debian, qui est plus orienté serveur, Ubuntu est un système pour débutants, facile à utiliser et à comprendre.
Dernière chose : dans ce monde du logiciel libre, les créations, dérivations, reproductions ne cessent de naître. Sachez qu’il existe aussi des dérivés d’Ubuntu comme :
- Kubuntu : utilise l’environnement de bureau KDE
- Lubuntu : utilise l’environnement de bureau LXDE
- Goobuntu : utilisé par les employés de Google et remplacé par gLinux depuis
Voici la liste très longue et très complète est disponible à l’adresse suivante : http://distrowatch.com/search.php?basedon=Ubuntu
3.2 Les différents types d’installation d’Ubuntu
Pour installer Ubuntu, rendez-vous sur le lien suivant : https://www.ubuntu-fr.org/telechargement
Sélectionnez ensuite la dernière version. Cliquons donc sur le lien de téléchargement et téléchargeons l’image disque (iso) d’Ubuntu.
Lorsque vous lancez une image disque, elle agit comme si vous aviez placé un CD-ROM dans votre lecteur de disque. Elle est simplement utilisée pour pouvoir lancer des systèmes ou jeux sans avoir à entrer physiquement de disques. Ceci est très utile lorsqu’on est sur des systèmes virtuels dont les lecteurs CD n’existent tout simplement pas.
Deux choix s’offrent à présent à nous :
- Vous installez Ubuntu avec un logiciel d’émulation.
- Ou vous installez Ubuntu et Windows sur le même disque dur en dual boot.
Un logiciel d’émulation (plus techniquement appelé un « hyperviseur ») permet d’émuler un système complet, et se lance au sein d’un autre système. Il est donc lancé comme un programme sur le système en cours d’exécution.
Le mode dual boot quant à lui est l’installation réelle de deux systèmes d’exploitation sur un seul ordinateur. Vous vous retrouverez donc avec Windows et Linux installés sur votre disque dur et vous utilisez entièrement l’un ou l’autre mais pas les deux en même temps.
Je vous conseille très fortement de passer par le logiciel d’émulation si vous débutez. Les parties qui suivent sont assez techniques, celle sur le mode dual boot sera simplifiée et dépendra beaucoup de votre version de Windows actuelle. Je ne traite pas non plus le cas Mac dans ce tutoriel. Si vous avez un Mac, sachez que c’est encore plus compliqué, rendez-vous ici : http://doc.ubuntu-fr.org/mac
Si vous installez Ubuntu sur une clé USB bootable aussi appelée Live USB (votre système est installé sur une clé USB), la méthode est similaire au logiciel d’émulation.
Cette dernière est souvent utilisé pour dépanner les systèmes, les clés USB permettent de restaurer ou tester des systèmes d’exploitation. Elles peuvent également être utilisées à la place d’un CD. Si vous êtes intéressé par ce choix, rendez-vous ici : http://www.linuxliveusb.com/fr/home
Après avoir téléchargé Linux Live USB Creator, lancez-le et suivez les étapes. Ces dernières sont très faciles et très documentées (en ligne et via le logiciel), je ne ferai donc pas de démonstration. Il vous suffira ensuite de vous rendre plus bas dans ce guide, dans la partie appelée « Se familiariser avec Linux ».
3.2.1 Installation de Ubuntu avec logiciel d’émulation
Habituellement vous aurez plutôt envie de tester Ubuntu avant de réellement l’installer sur votre système. Si c’est le cas vous êtes donc au bon endroit.
Note : vous pouvez également essayer Ubuntu uvez également essayer Ubuntu directement en ligne. Voici le lien en question :
https://tour.ubuntu-fr.org/fr/index.html
La virtualisation du système, permettra de lancer Ubuntu à l’intérieur de Windows de façon émulée. Pour installer Ubuntu (ou toute autre distribution), vous aurez d’abord besoin de ce que l’on appelle un logiciel d’émulation aussi appelé outil de virtualisation de système d’exploitation.
Le plus populaire est Oracle VM Virtualbox (gratuit) qu’on abrégera VirtualBox, vous pouvez aussi utiliser une alternative appelée Vmware Workstation.
Pour continuer avec nos installations gratuites, nous allons ici utiliser VirtualBox. Pour le télécharger, rendez-vous sur le site officiel à cette adresse : https://www.virtualbox.org/wiki/Downloads
Puis cliquez sur « Windows hosts ».
Une fois téléchargé, installez VirtualBox en double cliquant sur le programme. VirtualBox va automatiquement installer tout ce dont il a besoin, vous aurez peut-être des alertes du pare-feu qui vont s’afficher pour vous demander si vous voulez bien autoriser VirtualBox à utiliser le réseau.
Autorisez simplement toutes ces actions, ou vous risquez de vous retrouver sans réseau dans votre machine virtuelle. Vous devrez éventuellement redémarrer le système pour compléter l’installation.
Lancez enfin Virtualbox. Dans la fenêtre principale, cliquez sur Nouvelle pour créer une nouvelle machine virtuelle. Une machine virtuelle est simplement un système qui sera émulé. Ici Ubuntu sera la machine virtuelle.

Donnez ensuite un nom à votre machine virtuelle, par exemple « Ubuntu » puis cliquez sur Suivant.

Vous devez à présent choisir la taille allouée à ce système. Sachez que vous avez toujours Windows qui fonctionne actuellement sur votre ordinateur, et que vous avez toujours la même quantité de mémoire (car vous n’avez pas ajouté physiquement de la mémoire à votre ordinateur).
Il faut alors décider combien de mémoire RAM on alloue pour la machine virtuelle lorsqu’elle est lancée afin de partager les ressources.
VirtualBox recommande souvent de lui-même une certaine quantité de mémoire vive, 1024Mo suffisent habituellement.

Si vraiment vous avez beaucoup de mémoire RAM (6Go ou plus) vous pouvez passer à 1 ou 2Go. Vous verrez par vous-même la limite verte et rouge comme sur la capture d’écran précédente.
Cliquez ensuite sur Suivant.
Dans l’écran qui s’affiche, sélectionnez Créer un disque dur virtuel maintenant et cliquez sur Créer.
Voici la capture d’écran en question :

Dans la fenêtre qui s’ouvrira ensuite, sélectionnez VDI et cliquez sur Suivant :

Cliquez sur Dynamiquement alloué puis sur Suivant.

Vous pouvez à présent sélectionner un nom pour le disque dur virtuel ou le laisser tel quel. Vous pouvez également choisir la taille de ce disque dur virtuel.
Comme pour la RAM, le disque dur sera partagé entre votre système Windows et votre système Ubuntu.

Attention, il y a des risques de plantage plus tard si vous n’allouez pas assez d’espace, soyez sûr de prendre au moins 10Go ou 15Go et choisissez plus si vous avez assez de place puis cliquez sur Créer.
Vous retournerez au menu principal de VirtualBox. Il reste maintenant à associer l’image disque (ISO) de Ubuntu précédemment téléchargée à la machine virtuelle.
Pour cela sélectionnez la machine récemment créée, puis cliquez sur l’onglet Configuration.

Rendez-vous dans l’onglet Stockage et cliquez sur l’icône en forme de CD avec un plus vert à côté de Contrôleur IDE, cliquez sur Choisir un disque, sélectionnez votre image disque et cliquez sur OK.

Vous êtes maintenant prêt à lancer la machine virtuelle !
Dans le menu principal de VirtualBox, faites un double-clic sur votre machine virtuelle pour le lancer ou cliquez sur Démarrer.
Ubuntu commence son installation comme pour tout système que vous installeriez vraiment.

Cliquez sur « Installer Ubuntu ».
Prenez note que Ubuntu ne sait pas qu’il est lancé dans VirtualBox il croit être lancé depuis son CD physique. Il propose donc de faire un essai depuis le CD ou une installation normale, mais quoi qu’il arrive nous « l’essayerons » depuis la machine virtuelle. Ubuntu sera donc installé sur l’environnement virtuel et non pas sur notre vrai disque dur.
Vous aurez ensuite quelques configurations minimes à faire avant de laisser le programme d’installation faire son travail automatiquement.

Cliquez sur Continuer lorsque vous êtes prêt, vous pouvez ici déjà cocher la case « Télécharger les mises à jour pendant l’installation », mais vous pourrez le faire quoi qu’il arrive par la suite.
Rappel : Tout ce qui apparaît sur mon écran est susceptible d’être différent chez vous, je n’utilise pas forcément la même version que vous au moment de l’écriture de ces lignes.

Choisissez ensuite votre fuseau d’horaire et votre type de clavier puis cliquez sur le bouton Continuer :

Vous aurez enfin à créer un utilisateur administrateur du système aussi appelé « root ».
Sélectionnez également un mot de passe et éventuellement votre nom d’utilisateur et d’ordinateur :

Patientez plusieurs minutes le temps que Ubuntu s’installe. Vous aurez également le droit à des écrans vous présentant rapidement Ubuntu pendant qu’il s’installe. Il vous restera enfin à redémarrer la machine virtuelle :

Si lors du redémarrage, beaucoup de lignes s’affichent sur un écran noir, c’est normal, on vous demandera peut-être également d’appuyer sur Entrée (« PRESS Enter » en anglais). Et vous aurez peut-être besoin d’entrer le mot de passe défini précédemment si vous en avez défini un.
Une fois que vous arrivez sur le bureau de Ubuntu, vous pouvez directement activer le copier-coller bidirectionnel et le glissé-déposé bidirectionnel depuis la fenêtre de VirtualBox afin de partager facilement vos données entre Windows et Ubuntu.

En plus de cela, vous remarquerez que si vous redimensionnez la fenêtre de VirtualBox, Ubuntu reste affiché tel quel sans changer de taille.
Pour gérer cela, il faut installer ce que l’on appelle les Additions Invité.
Dans le même menu que précédemment, cliquez directement sur Insérer l’image CD des Additions Invité… (Vous devez être dans Ubuntu pour que ce menu s’affiche).

Cliquez ensuite sur « Lancer dans un terminal ». Donnez votre mot de passe et laissez la procédure se terminer.

Redémarrez enfin Ubuntu et vous pourrez agrandir la fenêtre.
Sachez que les Additions Invité sont parfois un peu têtues. Si cela ne fonctionne pas du premier coup, éteignez proprement la machine virtuelle et relancez-la.
Vous pouvez également bidouiller avec les options dans le menu Écran pour trouver ce qui vous arrange. À ce propos, j’en profite pour rappeler un point important pour apprendre la programmation et l’informatique d’une manière générale : il faut bidouiller, tester, et chercher jusqu’à ce que cela fonctionne. C’est ainsi que vous pourrez apprendre le plus rapidement et concrètement possible. Vous apprendrez en fait énormément par la pratique. Et vous n’avez pas de risque de casser quoi que ce soit !
Note importante sur le dernier point cité : apprendre par la pratique peut également prendre la forme d’un tutoriel que vous allez créer sur le sujet qui vous intéresse et en imaginant qu’en enfant va vous lire. Cela vous force à faire le travail nécessaire pour tout comprendre afin de l’enseigner de la meilleure de façon ensuite. Et c’est litéralement une technique dite de « Feyman » que je développe dans cette vidéo sur l’apprentissage du code, qui s’adapte également à d’autres sujets :
Dites-vous ainsi que tout ce qui ne fonctionne pas contient au moins une bonne nouvelle : vous saurez le faire la prochaine fois, car vous aurez appris comment résoure le souci par la pratique.
Ne vous attendez jamais à ce que tout fonctionne du premier coup en informatique, cela n’arrive quasiment jamais.
Note concernant Virtualbox : ce dernier prend automatiquement en compte la capture de la souris lorsque celle-ci passe sur la fenêtre de Ubuntu. Auparavant, il fallait capturer la souris et appuyer sur une touche pour arrêter la capture, sinon la souris restait piégée dans la fenêtre de la machine virtuelle. Maintenant vous n’avez qu’à passer la souris sur la machine virtuelle pour qu’elle soit directement transformée en souris et active sur ce dernier.
Pour finir, si vous avez besoin d’aide concernant VirtualBox, et si vous avez passé des heures à bidouiller sans trouver la solution à un éventuel problème, voici la documentation complète en ligne : http://download.virtualbox.org/virtualbox/UserManual_fr_FR.pdf
Il est également possible que VirtualBox ou Ubuntu subissent des mises à jour. Pour cela il vous faudra systématiquement rechercher sur Internet les éventuels changements dans l’installation.
Vous obtiendrez de l’aide plus rapidement à jour sur le net que dans les livres ou e-books. Par exemple voici le lien maintenu à jour concernant l’installation de Ubuntu sous VirtualBox : http://doc.ubuntu-fr.org/virtualbox
3.2.2 Installation de Ubuntu en dual boot
Si vous souhaitez installer Ubuntu en dual boot, vous aurez besoin de connaissances plus poussées. Étant donné que je recommande la méthode d’installation avec logiciel d’émulation, je vais passer plus rapidement cette étape en imaginant que vous aviez effectué les manipulations précédentes.
Sachez également que l’installation en dual boot dépend beaucoup de votre système actuel, les méthodes diffèrent si vous êtes sous Windows 10, 11 ou supérieur.
Le dual boot permet de partager virtuellement votre disque dur en deux parties : L’une pour Windows, l’autre pour Ubuntu.
Par cette double possibilité, votre système vous demandera systématiquement au démarrage quel système vous souhaitez lancer.
Voici un exemple typique de choix entre Windows 7 et Ubuntu :

Le but ici est donc de partager notre disque dur en ce que l’on appelle des partitions.
Pour se préparer avant de commencer, il faut :
- Sauvegarder ses fichiers (mieux vaut prévenir que guérir).
- S’assurer d’avoir suffisamment d’espace sur notre disque (au moins 20Go libres)
3.2.2.1 Défragmenter le disque
Commençons par défragmenter le disque sous Windows. Pour cela il existe un raccourci. Appuyez simultanément sur la touche Windows et la touche R puis tapez ce qui suit :
dfrgui.exe
Sinon recherchez manuellement dans le Panneau de configuration l’outil « Défragmenteur de disque ».
Il vous faudra ensuite re-partitionner le disque dur sur lequel Windows est présent pour laisser de la place à Ubuntu.
Là encore, tout dépend de votre version de Windows, je vous invite directement à suivre le tutoriel suivant : http://doc.ubuntu-fr.org/repartitionner#redimensionner_la_partition_windows_pour_faire_de_la_place_a_ubuntu
Remarque : si vous le souhaitez, vous pouvez également lancer des machines Linux directement dans votre navigateur via le Cloud, voici le tutoriel en vidéo :
Ainsi qu’utiliser docker ou WSL sous Windows, dont voici également le tutoriel vidéo :
3.2.2.2 Démarrer sous Ubuntu
À présent, insérez une clé USB ou un CD gravé contenant Ubuntu et redémarrez l’ordinateur. Au redémarrage, appuyez sur F8, F9, F11 ou même ECHAP suivant votre ordinateur pour tomber sur le « boot menu », menu de démarrage. De là, sélectionnez votre disque ou clé USB dans la liste et appuyez sur entrée.
Voici un exemple de menu de démarrage :

Laissez ensuite Ubuntu charger ses paramètres, et cliquez sur « Essayer Ubuntu ». Vous pouvez cliquer sur la première icône en haut à gauche appelée « Tableau de bord » et rechercher « gp », raccourci de Gparted, puis ouvrir « Gparted Partition Editor » :

Faites un clic droit sur la partie grise « espace libre » ou « unallocated » (c’est la partie que vous avez réduite dans Windows juste avant) et cliquez sur New ou Nouveau.
Dans la petite fenêtre qui s’affiche, changez simplement ext4 en ntfs dans « File system » et donnez un nom à votre partition dans « Label ».
Cliquez enfin sur l’icône en forme de V vert pour valider l’opération.
À présent, cliquez sur l’icône sur le bureau appelée Installer Ubuntu suivi de la version concernée. Choisissez « Autre chose » comme dans mon exemple :

À vous de sélectionner ensuite votre partition créée et d’y suivre les étapes jusqu’à l’installation de Ubuntu en dual boot. L’installation avec mises à jour peut prendre un certain temps, en effet installer un système entier n’est jamais très rapide.
Plus d’informations en ligne : http://doc.ubuntu-fr.org/cohabitation_ubuntu_windows
Note : n’hésitez pas à demander de l’aide sur les forums Ubuntu concernant l’installation en dual boot car elle dépend beaucoup des systèmes à faire cohabiter et il vaut mieux suivre les conseils à jour et venant d’une personne ayant déjà réussi la cohabitation, plutôt que de commettre une erreur irréparable : https://forum.ubuntu-fr.org/
4. Se familiariser avec Linux
Dans cette partie, nous allons nous familiariser avec Linux. Après l’avoir installé, vous allez apprendre les bases de ce système, notamment comment il fonctionne et comment effectuer la plupart des tâches basiques.
Peu importe si vous l’avez installé en dual boot, en environnement virtuel ou sur clé USB bootable, vous y êtes, félicitations !
Vous êtes sur le bureau de Ubuntu, et c’est plutôt joli.

Plus précisément, vous êtes sur l’interface utilisateur par défaut d’Ubuntu qui s’appelle Unity. Je ne vais pas commenter en détail l’interface graphique pour deux raisons :
- La vôtre peut être entièrement différente de la mienne selon votre version. Heureusement, les fonctionnalités que je vais vous montrer seront toujours les mêmes.
- Vous savez probablement utiliser Windows. Ubuntu sera encore plus facile à utiliser et reprend bien entendu toutes les tâches d’un système d’exploitation classique.
4.1.1 Prise en main de Linux
Bien, prenons en main notre cher Ubuntu. Il y a 5 icônes principales habituellement disponibles directement depuis le bureau dans la barre de lanceurs (la barre latérale gauche sur ma capture d’écran) :
- Le tableau de bord pour accéder rapidement à vos applications : Il est conçu pour faciliter la recherche, l’ouverture et l’utilisation des programmes et fichiers. N’hésitez pas à le solliciter pour rechercher quelque chose.
- La logithèque de Ubuntu pour installer des programmes : Vous aurez accès aux logiciels installés mais aussi à l’historique d’installation et vous pourrez bien entendu chercher de nouveaux programmes à installer.
- Le gestionnaire de fichiers pour ouvrir vos dossiers et fichiers : Il est facile d’utilisation et ressemble aux gestionnaires de fichiers typiques. Vous pouvez directement copier, créer, renommer, déplacer vos fichiers ou dossiers.
- Les paramètres systèmes : Il s’agit de toutes les options liées au système. Vous pouvez par exemple changer les paramètres d’affichage, la luminosité, la date, les comptes utilisateurs, etc.
- Le gestionnaire de mises à jour : Il affiche toutes les mises à jour du système. Il est très fortement recommandé de les faire dès que possible. Ces mises à jour contiennent souvent des patchs de sécurité, et laisser son ordinateur vulnérable n’est jamais une bonne idée.
Pour ajouter ou retirer des icônes de ce lanceur, vous pouvez faire un clic droit dessus puis choisir de la retirer ou de l’ajouter.
Note : Vous pouvez d’ailleurs prendre l’habitude de systématiquement lancer le gestionnaire de mises à jour lorsque vous utilisez un nouveau système ou téléchargez téléchargez de nouvelles applications.
Pour gérer vos connexions réseaux, le son et pour éteindre/redémarrer l’ordinateur, tout se passe maintenant dans le coin en haut à droite de l’écran contrairement à Windows qui dispose de ces options en bas de l’écran.
Cette barre noire qui remplit le haut de l’écran est appelée la « barre de menu ». Elle contient les boutons pour gérer les fenêtres mais aussi les menus des applications. Contrairement à Windows, toutes les applications utilisent ce même menu qui change dynamiquement en fonction de l’application active.
Ces menus apparaissent seulement lorsque vous déplacez le pointeur sur la gauche de la barre de menu. À condition que l’application active ait un menu à proposer.
Pour afficher tous les menus disponibles pour l’application active vous pouvez également utiliser le raccourci suivant :
Alt + F10
Bien d’autres fonctionnalités existent sous Ubuntu, et il n’y a pas besoin d’en écrire tout un livre. Je vais tout de suite vous dire pourquoi.
Cliquez donc sur l’icône en forme de roue dentée dans la barre de menu en haut droit de votre écran puis cliquez sur « Aide Ubuntu ».
Une fenêtre « Guide du bureau Ubuntu » s’affiche comme sur la capture d’écran suivante :

Vous y retrouverez toutes les informations pour apprendre à maîtriser Ubuntu.
Tout ce que vous devez savoir pour bien commencer à utiliser Unity a déjà été écrit et se trouve donc dans le « Guide de bureau Ubuntu ».
Ce guide de bureau est fait pour débutants et les conseils sont écrits par l’équipe de développement d’Ubuntu elle-même, quoi de mieux pour apprendre ?
Si vous êtes débutant complet, je vous invite dès à présent à lire les quelques explications de ce guide de bureau, la plupart vous seront familières et faciles à comprendre.
On va donc tout de suite se plonger dans un point plus important pour nous et qui n’est pas expliqué de base : Le Terminal.
Le Terminal est cette fameuse fenêtre avec de l’écriture verte sur fond noir qu’on aperçoit souvent dans les films de hackers.
Note : Terminal ou Shell ? Sous Linux, le shell est en fait le programme qui traite les commandes et retourne les résultats. La plupart des shells gèrent aussi les processus en arrière-plan, l’historique des commandes, etc. Ces commandes sont standards dans « bash », qui est le shell le plus populaire. Le Terminal peut être vu comme un programme englobant contenant un shell et proposant à l’utilisateur d’entrer des commandes au clavier. C’est en quelque sorte une interface pour communiquer avec le shell.
Pour ouvrir ce mystérieux outil, rendez-vous dans le tableau de bord et tapez : « Terminal » ou saisissez la combinaison de touches suivante :
CTRL + ALT + T
Pour bien comprendre et partir du bon pied, je vous propose d’effectuer les mêmes commandes que moi et en même temps que votre lecture, sauf bien entendu si vous les connaissez déjà.
De plus j’imaginerai que les commandes utilisées précédemment sont maîtrisées à chaque fois que l’on avance dans les étapes. Tout en les réutilisant souvent pour créer une répétition et ainsi une assimilation parfaite.
Astuce : Si vous voulez aller plus vite dans la résolution de votre problème sans devoir bidouiller, tester et chercher pendant des heures (bien que ce soit souvent le cas), vous pouvez chercher votre problème sur Internet en anglais (ou demander à l’IA tout simplement).
4.1.2 Comprendre et modifier le prompt
Bien, retournons donc à notre terminal qui ressemble pour le moment à cela :

Le texte actuellement visible (« michel@michel-VirtualBox:~$ » dans mon cas) est ce que l’on appelle le prompt. Il commence chaque nouvelle ligne (appuyez sur Entrée plusieurs fois pour comprendre) et un curseur clignote à sa droite en attendant des commandes.
Pour changer ce prompt, tapez simplement la commande suivante :
PS1="\u:u:\tt\ww\$ "$ "
Validez ensuite en appuyant sur Entrée.
Une « commande » dans le langage Linux est une instruction que vous exécutez directement dans le Terminal et qui produit un résultat.
PS1 est une variable interprétée pour définir notre prompt. Et les différentes valeurs comme ici u, t, w toutes précédées d’un backslash (« \ ») sont elles aussi des variables définissant respectivement :
- User (« \u »), l’utilisateur de la machine
- Time (« \t »), l’heure actuelle
- Working directory (« \w »), le répertoire courant
Les doubles points et le caractère dollar sont des caractères à afficher dans le prompt directement à l’endroit voulu.
Vous devez apercevoir quelque chose de similaire à l’image suivante :

Votre prompt indique à présent votre nom et l’heure actuelle. Dans mon exemple « \u » est « michel », « \t » est « 14:02:25 » et « \w » est « ~ ».
Pour revenir au prompt initial, entrez la commande suivante :
PS1="\u@u@\h:h:\ww\$ "$ "
Sachez à présent que le prompt peut être modifié selon vos envies en définissant la variable PS1 comme nous venons de le faire.
Seulement, les changements ne sont actifs que pour la session actuelle. Cela signifie que si vous fermez le terminal et le rouvrez, le prompt initial sera rechargé.
Pour que les changements soient sauvegardés pour toujours, il faut écrire et sauvegarder cette variable PS1, dans le fichier ~/.bashrc. On reparlera plus tard de ce fichier spécial dans la partie sur l’édition de fichiers.
Nous avons précédemment parlé de répertoires. On peut aussi les appeler « dossiers », et à ce niveau Linux fonctionne pareillement que Windows : il y a des dossiers et des sous-dossiers.
Même si vous ne le voyez pas actuellement, vous êtes dans un dossier. Ce dossier est « ~ », il se situe juste avant le symbole dollar du prompt et a été défini précédemment. En effet, rappelez-vous de « \w » qui permet d’indiquer le répertoire courant.
« ~ » est le symbole bizarre trouvé pour décrire notre répertoire home, c’est à dire notre répertoire personnel. Ce répertoire est unique pour chaque compte sur le système.
Pour comprendre, tapez :
pwd
Et appuyez sur Entrée.

Du texte s’affiche, et le prompt réapparaît en attendant une commande suivante. Mais avant de continuer, regardons ce qui s’est affiché :
« /home/michel ».
La commande pwd permet d’afficher le chemin d’accès complet vers le dossier actuel. Ce chemin d’accès complet est appelé un chemin absolu. Tous les chemins absolus commencent par « / ». Les autres sont appelés des chemins relatifs. Ils commencent soit par un nom soit par « ./ » ou encore par « ~ ».
Pensons à Windows et le dossier personnel que nous avons, comme C:\Users\michel. Ici c’est pareil, nous n’avons plus de C:\ sous Linux mais nous avons « / » qui est le répertoire appelé « répertoire racine« , c’est le dossier principal du système, tous les autres sont des sous-dossiers de « / ».
Ce même « / » est celui visible au tout début de l’affichage précédent, le voici en gras :
/home/michelhome/michel
Note : « . » et « .. » sont deux répertoires particuliers, le premier fait référence de façon relative au répertoire courant (il s’agit toujours du répertoire courant peu importe ce dernier). « .. » fait de même, mais fait référence au répertoire parent.
Tous les chemins relatifs peuvent être transformés en chemin absolus et inversement. En effet, si vous êtes dans le répertoire /home/michel, vous vous trouvez dans :
.
Mais aussi dans :
/home/michel
Ces deux répertoires sont les mêmes, le premier est relatif et le second est absolu.
Enfin, voici un schéma récapitulant l’arborescence sous Linux :

Voici les répertoires principaux et leurs utilisations habituelles :
- /home : ce dossier contient les répertoires personnels des différents utilisateurs du système. Par exemple, « /home/michel » contient les données de l’utilisateur « michel ».
- /dev : ce dossier contient tous les périphériques de votre ordinateur. On dit que sous Linux tout est fichier (même si ce n’est pas exactement juste). Ainsi la souris, le clavier, les clés USB…etc sont vus comme des fichiers, pour permettre une communication facile avec ces périphériques.
- /etc : ce dossier contient les fichiers de configuration du système. Les paramètres utilisateur sont indépendants de ces configurations.
- /boot : ce dossier contient le noyau Linux, ainsi que le fichier de configuration du chargeur d’amorçage.
- /bin : ce dossier contient notamment les programmes les plus souvent utilisés dont les commandes que nous allons voir (ls, cd, pwd…etc.
- /usr : ce dossier contient toutes les applications. Il est divisé en plusieurs sous-dossiers dont « /usr/bin » qui contient les fichiers exécutables des applications, « /usr/share » qui contient les données des applications et « /usr/lib » qui contient les bibliothèques de fonctions (des fonctions communes à plusieurs programmes).
- /lib : ce dossier contient aussi des bibliothèques de fonctions communes à plusieurs programmes.
- /var : ce dossier contient les données créées par différents services (logs systèmes, données MySQL, Apache…etc). Il contient plusieurs sous-dossiers dont le populaire « /var/log » contenant les logs du système et des applications, c’est-à-dire des fichiers dans lesquels les applications enregistrent leur activité, pour faire des statistiques ou détecter des problèmes éventuels. On note également « /var/www » qui est le répertoire par défaut d’un serveur web.
4.1.3 Tirer plein parti du Terminal
Dans cette partie, nous allons récapituler beaucoup de raccourcis et de techniques pour utiliser un maximum de fonctionnalités offertes par le Terminal. Bien entendu il est difficile d’apprendre tous les raccourcis d’une traite, et l’assimilation se fera plutôt en pratiquant. Cela dit, une fois que vous aurez assimilé ces raccourcis, vous ne pourrez plus jamais vous en passer ! N’hésitez pas à revenir dans cette partie par la suite.
Le terminal est intelligent et vous facilite la tâche, vous pouvez pour commencer utiliser ce que l’on appelle l’auto complétion. Par exemple, commencez à taper ce qui suit :
cd /ho
Et appuyez sur la touche TAB(ULATION). Le terminal remplit automatiquement le reste de la commande avec /home.
Appuyez ensuite sur « / » et tapez le début de votre nom et une nouvelle fois sur TAB pour finir l’écriture de votre nom. Si TAB ne fonctionne pas, le dossier n’existe simplement pas. À ce moment il est possible d’appuyer rapidement deux fois de suite sur la touche TAB afin d’afficher une liste des dossiers ou fichiers disponibles pour l’expression courante.
Voici un exemple qui montre les fichiers affichables avec la commande cat (la touche TAB est appuyée deux fois de suite à la fin de la ligne) :

Les flèches haut et bas du clavier permettent quant à elles de parcourir l’historique des commandes tapées. Appuyez par exemple sur la flèche du haut, et vous observerez que la dernière commande tapée s’affiche.
À chaque appui sur cette flèche, vous allez remonter dans l’historique. Inversement, appuyez sur la flèche du bas pour descendre dans l’historique jusqu’à la dernière commande (ou l’espace vide si aucune commande n’a été entrée).
À ce propos, vous pouvez afficher tout l’historique en tapant la commande :
history
Notons également que les combinaisons de touches comme « CTRL + C » sont utilisées pour arrêter des programmes et non pour copier, il faut donc soit passer par un clic droit, soit utiliser d’autres raccourcis, que voici :
Pour Copier :
CTRL + INSERT ou CTRL + SHIFT + C
Pour Coller :
SHIFT + INSERT ou CTRL + SHIFT + V
Il existe également un comportement standard pour coller dans un terminal ou programme Linux : Le clic avec la molette de la souris.
Pour Couper en ayant le curseur en début de ligne :
CTRL + K
Pour Couper en ayant le curseur en fin de ligne (aussi utile pour effacer la commande courante) :
CTRL + U
Cela aura pour effet d’effacer la ligne courante. Si vous voulez juste effacer le dernier mot vous pouvez vous servir de :
CTRL + W
En fait, les trois raccourcis précédents pour couper enregistrent en même temps le contenu coupé dans un presse-papier spécial. En utilisant ensuite CTRL + Y pour coller, vous collerez uniquement le contenu coupé par l’un de ces trois raccourcis.
Ainsi, en utilisant le raccourci classique CTRL + SHIFT + V vous collerez le contenu qui lui a été copié dans le presse-papier normal.
Pour passer rapidement le curseur en début de ligne, vous pouvez effectuer le raccourci suivant :
CTRL + A
Et inversement, pour envoyer le curseur en fin de ligne, vous pouvez utiliser le raccourci :
CTRL + E
La recherche inversée est également disponible pour ré-exécuter une commande déjà exécutée dans le passé.
Il s’agit du raccourci suivant :
CTRL + R
Vous pouvez ensuite taper une commande mot à mot et laisser la recherche automatique faire son travail jusqu’à trouver la commande recherchée.
Les commandes peuvent aussi être cumulées en une seule commande à l’aide de l’opérateur « && » qui passe à la commande suivante si la précédente réussi :
cd home && cd michel
L’enchaînement de commandes est bien géré par le Terminal.
Voici un récapitulatif des manières d’enchaîner l’exécution de commandes (A et B étant des commandes) :
- A ; B Exécute séquentiellement A puis B
- A & B Exécute simultanément A et B
- A && B Exécute B si et seulement si A s’est terminé correctement
- A || B Exécute B si et seulement si A ne s’est pas terminé correctement
- A | B Redirige la sortie standard de A vers l’entrée standard de B (nous en reparlerons dans le chapitre dédié aux redirections)
Enfin, vous pouvez utiliser la commande :
clear
Elle permet de vider le contenu du Terminal et y voir plus clair. Cela fonctionne de la même manière que d’appuyer sur les touches :
CTRL + L
4.1.4 Changer de répertoire
Nous allons maintenant voir comment changer de répertoire via le terminal. Pour cela, on utilise la commande
cd
C’est l’abréviation de « change directory ».
Avant de continuer il va nous falloir parler des paramètres des commandes (ou options de commandes). Nous avons utilisé la commande pwd et celle pour changer le prompt (PS1=…) sans utiliser de paramètres.
La plupart des commandes sous Linux peuvent prendre des paramètres pour leur préciser des données à utiliser et traiter.
Un paramètre commun à beaucoup de commandes est le paramètre qui suit :
--help
Il permet d’afficher de l’aide au sujet de la commande courante.
cd peut prendre jusqu’à deux paramètres. On en utilise presque toujours un, qui est le nom du répertoire vers lequel on souhaite se rendre.
Les paramètres sont tout simplement tapés à la suite de la commande, obligatoirement séparés par un espace.
Voici une commande sans paramètres :
cd
Voici une commande avec un paramètre qui est « / » :
cd /
Voici une commande avec deux paramètres qui sont « / » et « dossier » (ne fonctionne pas car cd ne peut pas changer vers deux dossiers en même temps) :
cd / dossier
Tapez donc :
cd /
Vous remarquerez une très brève modification dans notre prompt. Ce dernier est dynamique, il nous affiche le dossier en cours.

Avant il s’agissait du caractère « ~ » visible avant le symbole dollar, et nous étions donc dans « ~ », le raccourci de « /home/michel » dans mon cas. Nous sommes maintenant dans « / » qui est, je le répète, le répertoire racine.
Nous parlions plus haut de deux répertoires spéciaux que sont « . » et « .. ». Étant donné qu’ils sont tout de même des répertoires, vous pouvez les utiliser avec « cd ».
Je rappelle que « . » fait référence au dossier en cours, et « .. » indique le dossier parent.
Exemple : Si le dossier b est dans le dossier a, et que vous demandez « .. » en étant dans « b », vous ferez référence à « a ».
Autre exemple, si nous sommes dans le dossier /home/michel et souhaitons directement nous rendre dans le dossier « /home/patrick », nous pouvons utiliser la commande suivante :
cd ../patrick
Qui se traduit par : changer le dossier par « /home/patrick ». « /home » étant le dossier parent du dossier « michel » dans lequel nous sommes actuellement.
Pour finir cette partie, je vais vous demander de jouer avec cd, vous êtes sûrement en ce moment même pas sûr de tout, peut-être que vous avez oublié quelque chose, n’hésitez donc pas à taper des commandes comme :
cd .
(cela ne devrait rien changer : on change le répertoire vers le répertoire en cours)
cd ./
(ici c’est la même chose, on ajoute juste « / » à la fin du dossier actuel, cela ne change rien)
cd ..
(on devrait à présent remonter d’un dossier, sauf si on est à la racine « / »)
cd /home/michel/sousdossier
(on est dans le cas d’un chemin absolu, on se rend donc dans « /home/michel/sousdossier » s’il existe)
cd ~
(on se rend dans notre répertoire personnel)
cd a
(entre dans le dossier a, ou affiche une erreur si a n’est pas dans notre dossier actuel)
cd ../../home
(remonte de deux dossiers, puis redescend dans le dossier home s’il existe)
Autre fonctionnalité de « cd » : la possibilité de revenir dans le répertoire précédent sans retaper une commande entière. Cela est très utile lorsqu’on change beaucoup de répertoires et que l’on souhaite rapidement retourner au répertoire précédent. Pour cela il suffit d’utiliser « cd » avec « – » comme cela :
cd -
Essayez par exemple avec :
cd /home
cd -
Il est important que ce système de navigation inter-répertoires soit compris car il sera en permanence utilisé sous Linux.
4.1.5 Lister les répertoires
Maintenant que nous savons qu’il est possible de nous déplacer dans nos dossiers avec cd et que nous pouvons afficher le chemin complet du dossier, il nous faudrait lister ces répertoires.
Rien de plus simple, utilisons la commande :
ls
Voici une capture d’écran :

Beaucoup de sous-dossiers s’affichent, ils sont même colorés. Les couleurs indiquent simplement les propriétés des dossiers, par exemple le dossier « tmp » est un dossier contenant les fichiers temporaires dont l’accès est autorisé pour toutes les applications, contrairement aux dossiers plus protégés comme etc ou boot. Pensez par exemple à Windows et son dossier système System32 qui est lui-aussi bien protégé.
Vous noterez maintenant que l’on retrouve notre dossier home !
Nous pouvons donc retourner dans notre dossier /home/michel. Pour cela on peut utiliser la commande :
cd home
suivie de :
cd michel
ou directement en utilisant la commande suivante :
cd home/michel
En effet, « home/michel » est un seul paramètre et on peut se rendre directement dans un dossier précis de cette façon.
Revenons à notre commande « ls » qui a elle aussi plusieurs paramètres que l’on peut définir si on le souhaite, par exemple afficher les fichiers cachés.
Utilisez pour cela la commande :
ls -a
Je clique en même temps dans le Gestionnaire de fichiers dans le menu affichage puis sur Afficher les fichiers cachés :

Les fichiers cachés sous Linux commencent tous par « . ». Ainsi si vous souhaitez cacher un fichier, nommez-le avec un point devant.
Pour rappel, nous avons un fichier caché populaire qui s’appelle « .bashrc » et qui se cache dans le répertoire personnel « /home/nomutilisateur ». Il permet de définir des options ou des commandes à lancer à chaque démarrage du Terminal.
Une autre commande intéressante de « ls » est « ls -l » qui permet d’afficher les droits des dossiers et fichiers.

Cela semble compliqué, à vrai dire une fois qu’on comprend la signification des colonnes c’est un jeu d’enfant.
- La première colonne concerne les droits d’accès au fichier ou dossier.
- La deuxième colonne est le propriétaire du fichier ou dossier.
- La troisième colonne est le groupe propriétaire du fichier ou dossier.
- La quatrième colonne est la taille du fichier ou dossier.
- Viennent enfin la date et les noms de chaque dossier et fichier.
Nous verrons la signification des droits d’accès plus tard, et nous noterons que la taille des dossiers est souvent la même : 4096 octets.
Il s’agit de la taille initiale nécessaire pour stocker des métadonnées sur les fichiers contenus dans ce dossier.
Cette taille peut tout de même augmenter si le dossier contient beaucoup de fichiers ou si ces derniers ont de très longs noms.
La commande utilisée ne donne donc pas la taille complète de tout le dossier et de son contenu. Vous pouvez combiner les deux paramètres précédents avec :
ls -a -l
Cela permet d’afficher les droits des fichiers et dossiers avec les fichiers cachés inclus.
Remarque : Sous Linux on marque souvent les paramètres avec un tiret juste devant eux pour que l’on puisse justement bien distinguer où ils sont. Certaines commandes fusionnent plusieurs paramètres en un seul, par exemple les deux commandes suivantes sont identiques :
ls -a -l /home/michel
Et :
ls -al /home/michel al /home/michel
On distingue habituellement les paramètres (qui sont donc précédés d’un tiret) des arguments (données arbitraires). Par exemple, « -a » est un paramètre qui est commun à toutes les commandes, et « /home/michel » est un argument susceptible de changer.
La plupart des commandes Linux prennent en compte les expressions régulières. Il s’agit d’expressions spéciales permettant de faire correspondre des modèles de mots.
Voici des expressions régulières que vous pouvez utiliser avec ls :
- « * » n’importe quel caractère, répété 0, 1 ou plusieurs fois
- « ? » n’importe quel caractère (1 seul caractère)
- « [ ] » permet d’indiquer un des caractères parmi ceux spécifiés entre les crochets
Nous allons passer à des exemples d’utilisation.
Lister l’ensemble des fichiers avec l’extension « .c » :
ls *.c
Cela se traduit précisément par « lister n’importe quel caractère répété 0, 1 ou plusieurs fois finissant par .c ».
Lister l’ensemble des fichiers contenant « a », un caractère quelconque et un « b » :
ls a?b
4.1.6 Utiliser le manuel
Pour avoir de l’aide générale sur toutes les commandes Linux, tapez la commande suivante :
man
Suivie de la commande dont vous recherchez de l’aide en paramètre.
Exemple pour de l’aide sur « ls » :
man ls
Vous pouvez également faire une recherche générale dans le manuel. Ici on cherche les commandes liées à « login » :
man –k login
Appuyez sur q pour quitter le manuel. Il est habituellement en anglais (comme beaucoup de documentation en informatique) mais suivant votre système ou si vous installez un pack de langues pour manuel, vous l’obtiendrez en français.
Nous parlions plus tôt de « paramètres de commandes » ou « options de commandes », nous observons à présent que ces options sont données dans le manuel.
Par exemple, le manuel nous indique que l’option « -a » de la commande « ls » permet de lister tous les fichiers, y compris les fichiers cachés commençant par « . ».
Il est impossible de lister toutes les commandes et tous les paramètres dans un seul livre même si on voulait le faire. Il faut donc prendre l’habitude de systématiquement utiliser le manuel lorsque l’on cherche des informations sur une commande.
En plus de cela, personne ne connaît toutes les commandes par cœur, et on retourne donc à notre slogan : Bidouiller, tester, chercher. Personne n’ose vraiment le dire, mais l’apprentissage et l’utilisation des commandes Linux se déroulent typiquement comme cela :
Admettons que l’on souhaite obtenir la taille des répertoires de notre dossier home, on recherche sur Google ou demande à l’IA : « Linux taille répertoire ».
Sur le premier site trouvé, on trouve la commande :
du -sh /repertoire
Il s’agit donc de la commande « du » avec un paramètre « -sh » et un paramètre prenant le nom du répertoire en question. Le manuel m’indique ensuite que « -sh » permet d’afficher la taille sous la forme « 2Mo » donc plus lisible que sous forme purement numérique « 2048 ».
Un ancien sondage sur le site developpez.net nous montre également qu’un quart des programmeurs seulement n’utilisent que leur mémoire pour programmer. Les autres cherchent jusqu’à mémoriser par cœur à force de faire. L’apprentissage par la pratique fonctionne donc bien et est très utilisé dans la vie de tous les jours d’un développeur.
4.1.7 Créer et supprimer des dossiers ou fichiers
Pour créer des fichiers et dossiers sous Ubuntu, vous pouvez utiliser la méthode classique comme avec Windows, à savoir faire un clic droit puis choisir Nouveau document pour un fichier ou Nouveau dossier pour créer un dossier.
Cela dit, notre but ici et de tout faire en lignes de commande.
Commençons avec les dossiers (les puristes parleront d’ailleurs de « répertoires » sous Linux mais je ne ferai pas cette distinction.)
La commande permettant de créer un nouveau dossier est la commande « mkdir ». Elle vient de l’anglais « make directory » qui signifie bien entendu « créer un dossier ».
La commande mkdir s’utilise de cette façon :
mkdir {options} {nom du dossier}Pour les options, on ne s’en occupera pas directement, on peut par exemple directement définir les droits d’accès du dossier à créer. Je vous laisse visiter la page du manuel (« man mkdir ») pour plus d’informations.
Nous allons donc pour la pratique créer un dossier puis un dossier dans ce dossier et enfin un fichier dans ce sous-dossier.
Vérifiez donc dans quel répertoire vous vous trouvez en regardant votre prompt, et affichez les dossiers et fichiers qui s’y trouvent actuellement en exécutant dès maintenant la commande ls.

Je suis ici dans le répertoire « ~ » (exécutez « cd ~ » pour vous y rendre si vous n’y êtes pas) et les dossiers et fichiers s’affichent comme sur l’image.
Exécutons maintenant la commande :
mkdir mondossier
Lorsque vous appuyez sur Entrée, vous remarquez que le prompt s’affiche comme si rien ne s’était passé. À vrai dire c’est le comportement standard sous Linux pour dire que la commande s’est déroulée correctement. En cas d’erreur on aurait justement vu ce message d’erreur.
Ré-exécutons ainsi la commande ls pour voir si notre nouveau dossier a bien été créé :

Nous observons bien que « mondossier » a été créé.
Cela dit, nous sommes toujours dans le dossier « ~ », ainsi si maintenant nous ré-exécutons la commande mkdir, le dossier sera crée lui aussi dans le dossier « ~ » à côté de « mondossier ».
Nous voulons donc nous rendre dans le dossier « mondossier », rien de plus simple :
cd mondossier
Puis pour créer le sous-dossier :
mkdir monsousdossier

Bien entendu, avec ls, on remarque qu’il n’y a qu’un dossier dans le dossier « mondossier », c’est tout à fait normal, nous venons de les créer tous les deux.
Remarque : Sous Linux, les dossiers sont sensibles à casse. Cela signifie que, contrairement à Windows, un répertoire appelé « Rep » est différent d’un répertoire appelé « rep ».
Pour supprimer un dossier, on a la commande suivante :
rmdir {dossier}Cependant cette commande demande à ce que le dossier soit vide pour être supprimé. On peut donc utiliser la commande « rm » pour « remove » qui nous permet grâce à certains paramètres de supprimer des dossiers non vides. Voici la commande qui permet de supprimer un dossier et tous ces sous-dossiers ainsi que les fichiers qu’il contient :
rm -ri {dossier}Le paramètre « -ri » indique « récursif » et « informatif ». Chaque dossier qui sera supprimé sera d’abord affiché pour vous demander si vous voulez bien le supprimer.
Attention car la commande « rm » peut être très dangereuse. En effet, elle peut demander de forcer la suppression (en ignorant donc tous messages d’information) en plus d’être récursive.
La commande suivante force donc sans demander confirmation la suppression de tous les fichiers, dossiers et sous-dossier du dossier visé :
rm --rf {nom dossier}En espérant que vous me suivez jusqu’à là, nous allons passer à la création de fichiers. Pour créer un fichier en ligne de commande, nous avons trois grandes possibilités. La première : Utiliser la commande touch.
Voici la commande :
touch {fichier}Cette commande permet de créer un fichier vide dans le répertoire actuel.
Elle permet de le faire mais n’est en fait pas prévue pour à la base, regardons donc la page du manuel en tapant man touch. En fait, touch permet de modifier les dates d’accès du fichier donné en paramètre. Seulement, si le fichier donné en paramètre n’existe pas encore, il sera créé. Cette commande est donc devenue le raccourci pour les Linuxiens afin de créer rapidement des fichiers vides.
Exécutons donc la commande suivante dans le dossier « monsousdossier » :
touch
puis ls pour observer ce qu’il s’est passé :

Bien entendu seul « monfichier » est présent dans « monsousdossier ».
La deuxième possibilité pour créer un fichier : Utiliser les redirections. Nous en reparlerons dans la partie concernant les redirections. Il s’agit notamment d’utiliser la commande « echo » pour afficher du texte, et de rediriger l’affichage non pas vers le Terminal mais vers un fichier qui sera créé à la même occasion :
echo "contenu fichier" > nomfichier
« > » étant un opérateur de redirection.
Nous voyons que ces deux possibilités ici, car ce sont les plus populaires, mais bien entendu il y a des dizaines d’autres façons de créer des fichiers avec des commandes.
4.1.8 Éditer des fichiers
Pour éditer des fichiers, il existe beaucoup d’éditeurs de texte différents. Plusieurs sont entièrement lancés dans le terminal et ne disposent donc pas d’interface graphique particulière.
Dans le point précédent, nous avons créé des fichiers. Nous allons maintenant les déplacer.
Il existe pour cela la commande « mv » pour « move » :
mv {nom fichier source} {nom fichier destination}Qui s’utilise très facilement, par exemple de la façon suivante :
mv ~/mondossier/monsousdossier/monfichier ~/mondossier/
Le fichier « monfichier » sera déplacé du sous-dossier « monsousdossier » au dossier parent appelé « mondossier ».
La particularité de « mv » est qu’elle permet également de renommer des fichiers. Pour cela c’est simple, les dossiers source et destination doivent être les mêmes mais le nom du fichier doit varier.
Voici un exemple :
mv ~/mondossier/monfichier ~/mondossier/fichierrenomme
Pour écrire dans un fichier, vous pouvez soit double-cliquer directement sur le fichier dans l’interface graphique et utiliser le programme gedit qui s’ouvre par défaut, soit utiliser des programmes comme nano ou vi en ligne de commande.
Je ne suis pas particulièrement fan de vi, je vais donc vous montrer avec nano. Tapez simplement la commande suivante :
nano monfichier
Si « monfichier » existe, il sera éditable, sinon il sera simplement créé.
Vous pouvez ensuite entrer du texte, et une fois terminé appuyez sur CTRL + O puis sur Entrée pour sauvegarder, puis CTRL + X pour fermer nano.
Voici un exemple en image :

À partir de maintenant vous savez donc créer un fichier, l’éditer et le sauvegarder.
On va à présent afficher son contenu. Pour cela on utilise la commande :
cat
cat affiche par défaut le contenu du fichier dans le terminal.
Essayez donc d’afficher le contenu du fichier précédemment édité avec :
cat monfichier
Concernant l’édition des fichiers, il est également utile de parler des commandes « more » et « less ». La commande « more » permet d’afficher de longs fichiers textes par « pages ».
Elle s’utilise comme suit :
more {fichier}Il suffit d’appuyer sur la touche Entrée pour avancer dans la lecture du fichier, ou d’appuyer sur « Q » pour arrêter la lecture avant d’être arrivé à la fin du fichier.
La commande « less » permet également de lire par pages un long fichier texte mais est habituellement très rapide car elle ne lit pas d’avance tout le fichier comme le font les autres commandes.
Elle permet de circuler dans le texte en avant ou en arrière (contrairement à « more » qui ne revient pas en arrière).
Son utilisation est similairement à « more » :
less {fichier}Pour terminer, nous avons déjà vu plus tôt qu’il était possible de supprimer un dossier avec ces sous-dossiers et fichiers via la commande « rm ». Elle s’utilise bien entendu pour supprimer un seul fichier. Voici un exemple :
rm -i monfichier
Je rappelle que le paramètre « -i » demande confirmation de suppression.
Note sur les alias : mes alias permettent de définir comme leur nom l’indique des alias pour certaines commandes. C’est-à-dire des substitutions abrégées de commandes. Pour que l’alias soit pris en compte, il doit être écrit dans lle fichier fichier .bashrc. Ce fichier est situé dans votre répertoire de connexion et contient un ensemble de commandes exécutées automatiquement au démarrage du Terminal. Chaque utilisateur du système a donc son propre fichier .bashrc et peut y placer ses commandes à exécuter. Ce fichier contient déjà de base des alias et autres configurations personnalisées. Vous pouvez par exemple définir l’alias suivant dans le fichier .bashrc afin qu’il soit toujours actif et chargé dès le lancement du Terminal :
alias rm ='rm -i'
Cet alias permettra de substituer automatiquement la commande « rm » par la commande plus sûre « rm -i » . Après enregistrement de l’alias précédent dans le fichier .bashrc et après redémarrage du Terminal, la commande « rm », deviendra automatiquement la commande substituée « rm -i ».
4.1.9 Comprendre les redirections
Maintenant que vous avez compris les commandes de base et que vous savez comment créer et éditer des fichiers, nous allons voir que Linux sait faire bien plus que cela. En effet, vous avez notamment observé que la commande « cat » affiche par défaut le contenu du fichier dans un terminal. Cela ne pose pas vraiment de problèmes tel quel.
Mais admettons maintenant que l’on veuille seulement afficher la première ligne du fichier car il pourrait très bien contenir cent mille lignes.
Pour cela on a une commande qui s’appelle « head » et qui nous permet de sélectionner un nombre de ligne à afficher à partir du début du fichier.
Faisons donc la commande suivante :
cat monfichier | head -n1
Vous remarquez que seule la première ligne s’affiche.
Démystifions cette commande :
La première partie avant le « | » est évidente, on affiche le fichier. Seulement le caractère « | » qui est appelé « pipe » ou « tube » en français permet de rediriger la sortie d’une commande sur l’entrée de la seconde.
Concrètement cela signifie que « cat monfichier » n’affiche plus le fichier sur la sortie standard qui était notre terminal mais l’affiche « dans head ».
Cette commande « head » ne lit plus les informations via l’entrée standard (qui est aussi par défaut le terminal), mais les lit depuis le résultat de la commande « cat » précédente.
Après « head », il n’y a plus d’autre pipe et le résultat des fonctions combinées s’affiche donc à nouveau dans la sortie standard et donc dans le terminal.
Note : Sous Linux, l’entrée standard et la sortie standard sont des termes couramment utilisés en programmation. Par défaut, il s’agit du terminal. L’entrée standard permet d’entrer des instructions pour une commande. La sortie standard permet d’afficher ou utiliser le résultat d’une commande.
Ces redirections ne semblent pas extrêmement utiles à première vue mais le pipe est très utilisé, notamment pour plusieurs enchaînements de commandes lorsqu’on fait des recherches et des découpages précis de textes. Nous n’avons pas fini avec les redirections, il y en a encore d’autres !
Nous pouvons à présent utiliser les redirections pour écrire directement dans des fichiers à partir du terminal. Nous avions donné rapidement un exemple dans la partie sur la création de fichiers.
Pour cela nous pouvons utiliser la commande echo qui permet d’afficher du texte :
echo "texte"
Exemple :
echo "Bonjour"
Nous allons donc rediriger la sortie standard de « echo » dans un fichier qu’on appellera « fichier.txt ».
Pour rediriger la sortie standard d’une commande dans un fichier, on utilise plus le pipe (« | ») mais le symbole « supérieur à » (« > ») qui fait office de flèche :
echo "Ligne écrite dans le fichier." > fichier.txt
Inutile de créer le fichier auparavant, il sera créé s’il n’existe pas. Vous remarquerez que si vous réexécutez cette commande, le fichier est écrasé à chaque fois.
Pour écrire à la suite, il est possible d’utiliser l’opérateur : « >> » :
echo "Deuxième ligne." >> fichier.txt
Inversement, on peut prendre le contenu d’un fichier pour l’utiliser comme entrée standard d’une commande.
Cette opération inverse s’effectue à l’aide du symbole « inférieur à » (« < »). Par exemple, je peux afficher le contenu du fichier comme cela : cat cat < fichier.txt< fichier.txt La commande « cat » reçoit directement tout le contenu du fichier et l’affiche. Ce n’est pas tout, il y a encore deux autres opérateurs de redirection. En effet, sous Linux les erreurs ont aussi le droit à leur propre sortie appelée la sortie d’erreur. Cela permet notamment de créer des fichiers contenant les erreurs afin de mieux les traiter plus tard.
Il est difficile de faire la différence à l’heure actuelle, car le terminal affiche la sortie standard et la sortie d’erreur par défaut. Par exemple, si j’essaie d’afficher avec « cat » un fichier qui n’existe pas, j’obtiens le message suivant :

Ce message nous provient de la sortie d’erreur. On va maintenant essayer de rediriger la sortie d’erreur pour afficher les erreurs dans un fichier qu’on appellera « erreurs.txt ». L’opérateur de redirection de la sortie d’erreur est « 2> ». Et voici un exemple :
cat existepas.txt 2> erreurs.txt
En exécutant cette commande, vous verrez que le terminal n’affiche plus d’erreur mais le fichier « erreurs.txt » contient la ligne :
« cat: existepas.txt: Aucun fichier ou dossier de ce type »
On terminera sur les opérateurs de redirection avec « &> ». Il permet de rediriger à la fois la sortie d’erreur et la sortie standard d’une commande dans un fichier.
Vous pouvez la tester en essayant d’afficher deux fichiers avec « cat », l’un existant, l’autre non :
cat fichier.txt existepas.txt &> erreurs.txt
Le terminal n’affiche rien alors que le fichier « erreurs.txt » contient le contenu du fichier « fichier.txt » ainsi que le message d’erreur concernant le fichier « existepas.txt ».
4.1.10 Fonctionnement des processus
Pour commencer avec les processus, nous allons commencer par les définir correctement.
Quelle est la différence entre un programme et un processus ?
Réponse : Le programme est le fichier « physique » comme par exemple un fichier finissant par « .exe » sous Windows alors que le processus est l’instance du programme en mémoire.
Cela veut dire que lorsque vous faites un double-clic sur votre programme, il va s’exécuter et lancer un ou plusieurs processus. Les processus étant un ensemble d’instructions exécutées à partir de la mémoire vive (RAM).
Pour commencer, tentons d’afficher tous les processus actifs sur notre système. Pour cela, tapons la commande :
top
Cela permet d’afficher tous les processus actifs sous forme de liste se rafraîchissant automatiquement, le tout dans le terminal :

Entrer dans les détails des informations affichées par « top » sort du cadre de ce guide et touche les utilisateurs avancés du système.
Cependant, je vais vous décrire ce qu’il est indispensable de connaître.
Les 5 premières lignes vous donnent plusieurs informations sur le système, comme la charge de celui-ci, les tâches courantes, le pourcentage de processeur utilisé ou encore la mémoire disponible et utilisée. Ensuite vient la liste des processus.
- La 1ère colonne indique l’identifiant du processus (PID).
- La 2ème colonne indique le propriétaire du processus (USER).
- La 9ème colonne indique le pourcentage de processeur qu’utilise le processus (%CPU).
- La 10ème colonne indique le pourcentage de mémoire RAM utilisée par le processus (%MEM).
- La dernière colonne indique le nom du processus.
Vous pouvez ignorer les autres colonnes, mais si vous êtes curieux (et c’est une bonne chose !) vous pouvez visiter la page du manuel de « top » :
man top
Pour quitter « top », appuyez sur « q ».
Une autre commande populaire pour lister les processus sous Linux est :
ps
La différence avec « top » est que « ps » ne s’actualise pas automatiquement et est plutôt prévu pour être utilisé par d’autres programmes.
Pour afficher les processus de tout le système, tapez la commande :
ps aux
Cette commande permet notamment de rechercher rapidement un PID d’un processus, avec la commande « grep » :
ps aux | grep "firefox"
La commande « grep » est très souvent utilisée sous Linux pour rechercher quelque chose de précis. Son utilisation peut-être assez difficile car elle permet de faire des recherches très poussées, notamment en utilisant des expressions régulières (nous en avions parlé dans la partie « Lister les répertoires » avec les fameux caractères « * », « ? », etc).
C’est l’occasion de vous parler d’un enchaînement de commandes classiques lorsqu’on veut rechercher quelque chose efficacement. La partie qui suit peut sembler avancée, si vous ne comprenez pas tout essayez de pratiquer ou d’y revenir plus tard.
Voici la commande en question :
ps aux | tr -s " " | cut -d " " -f1 | grep f1 | grep "michel" | wc -l
Via cette commande, nous cherchons à compter tous les processus dont le propriétaire s’appelle « michel ». J’ai introduit 3 nouvelles commandes d’un coup, pas d’inquiétude elles vont souvent ensembles.
Souvenez-vous que le pipe (« | ») permet de faire passer la sortie d’une commande sur l’entrée de la suivante.
Lorsque « ps aux » est exécuté, toute la liste précise des processus s’affiche. Cela est trop pour nous, et nous ne voulons pas tout compter à la main. Nous allons donc éliminer des colonnes. Et pour cela, la commande « cut » nous permet de choisir un délimiteur (paramètre « -d ») suivant lequel découper nos colonnes.
L’option « -f » permet ensuite de choisir la colonne à afficher. Ici « -f1 » sélectionne la première colonne, on aurait pu en sélectionner plusieurs par exemple en utilisant « -f1,2,3 ».
Le problème c’est que « cut » découpe suivant le délimiteur « » » » c’est-à-dire « espace ». Or, toutes les colonnes de tous les fichiers ne sont pas forcément séparées par un espace.
Pour automatiquement « standardiser » cela, nous utilisons d’abord la commande « tr » et nous standardisons automatiquement la séparation des colonnes avec un espace (option « -s » » »).
On arrive à la fin de la commande, une fois notre première colonne découpée du reste, on affiche seulement celles qui contiennent « michel » via la commande « grep ».
Pour couronner le tout, on utilise la commande « wc » (word count) avec l’option « -l » pour compter toutes les lignes sans même les afficher.
Le résultat de cette commande correspond typiquement à un chiffre : le nombre de processus dont le propriétaire s’appelle « michel ».
Pour résumer, voici à nouveau la commande commentée :

Et voici ce qu’il se passe concrètement :

À présent, nous allons essayer de « tuer » un processus.
Habituellement, le raccourci standard pour tuer un processus en cours dans le terminal est :
CTRL + C
Essayez par exemple de lancer « top » puis d’appuyer sur CTRL + C. Cela fonctionne car le terminal ne reprend pas la main mais attend que « top » termine pour pouvoir continuer à taper des commandes. On dit que le processus « top » est lancé en premier-plan. Pour le lancer en arrière-plan, on ajoute le caractère « & » à la fin d’une commande.
Par exemple :
top &
Vous remarquerez que la liste de « top » ne s’affiche plus, mais laisse place à une ligne comme :
« [1] 3478 »
Le numéro final étant le PID (identifiant) du processus crée. Le terminal continue son exécution sans se mêler de « top » qui continue à fonctionner en arrière-plan.
Ici bien sûr il serait bête de faire tourner « top » en arrière-plan car on veut justement voir ce qu’il affiche, mais la plupart des services comme ceux de mises à jour n’ont pas besoin d’afficher quoi que ce soit et fonctionnent donc en arrière-plan.
Pour tuer ce programme, CTRL + C est inefficace, on peut employer un second moyen, la commande :
kill
Comme son nom l’indique, kill permet de tuer un processus à partir de son PID. Dans mon cas, je peux donc taper :
kill 3478
pour tuer mon processus « top » lancé en arrière-plan.
Pour tuer tous vos processus (et donc éteindre la machine), vous pouvez utiliser la commande :
kill -9 -1
Pour afficher la liste des processus que vous avez lancé en arrière-plan, vous pouvez utiliser la commande :
jobs
Le numéro entre crochets que nous avons vu précédemment était en fait le numéro de « job ». Si un processus est lancé en premier-plan (sans « & »), il est possible d’utiliser le raccourci :
CTRL + Z
Pour le suspendre et le passer en arrière-plan. On peut ensuite le ramener en premier plan et continuer son exécution avec :
fg
Ou simplement le laisser finir en arrière-plan ave
bg
Si plusieurs commandes sont lancées en arrière-plan, il est possible d’utiliser le numéro du job obtenu via la commande « jobs » avec la commande « fg » pour le repasser en premier-plan.
Imaginons par exemple un programme qui tourne de manière infinie :
./infini
Pour le placer en arrière-plan, on utilise le raccourci CTRL + Z suivi de la commande « bg » :
./infini
^Z
[1]+ Stopped
infini
bg
[1]+ ./infini &
Nous pouvons utiliser le terminal sans problème tandis que la commande infinie fonctionne en arrière-plan.
Utilisons maintenant la commande « jobs » :
jobs
jobs [1]+ Running
infini &
On observe que notre programme est lancé « Running », on peut le replacer en premier-plan :
fg
./infini
Notre programme est à nouveau en premier-plan et on peut le terminer pour de bon avec :
CTRL + C
4.1.11 Fonctionnement des droits d’accès
Sous Linux, tout comme sous Windows, il y a différents types d’utilisateurs sur le système. Certains ont plus de priorité et de droits que d’autres, ce sont typiquement les administrateurs. Les autres utilisateurs n’ont pas le droit de modifier, supprimer ou même voir certains dossiers ou fichiers protégés.
Ces droits sont particulièrement utiles dans un environnement multi-utilisateur comme un serveur d’entreprise sur lequel les employés ont des comptes normaux et seuls les administrateurs disposent de comptes privilégiés.
Les droits d’accès permettent de verrouiller ou d’autoriser l’accès à des fichiers pour certains utilisateurs ou certains groupes.
Pour observer quels sont les droits actuels sur les fichiers ou dossiers, vous pouvez utiliser la commande suivante que nous avions déjà vue :
ls -al
« -al » est un paramètre signifiant all (-a) et format de liste détaillée (-l).

L’option « -a » permet d’afficher tous les fichiers, même les fameux fichiers cachés commençant par un point.
Les droits d’un utilisateur ou d’un groupe sur un fichier sont représentés par les 10 premiers caractères.
Il faut systématiquement découper les droits en quatre groupes :
- Le premier caractère représente le type de fichier : « d » si c’est un dossier ou « – » si c’est un fichier régulier
- Les 3 suivants : les droits du propriétaire du fichier
- Les 3 suivants : les droits du groupe auquel appartient le propriétaire
- Les 3 suivants : les droits des autres utilisateurs
Les triplets de caractères représentant les droits sont de la forme d1d2d3 où :
- d1 représente le droit de lire (read) le fichier (« r » si oui ou « – » si non)
- d2 : le droit d’écrire (write) dans le fichier (« w » ou « – »)
- d3 le droit d’exécuter (execute) le fichier (« x » ou « – »).
Pour prendre l’exemple avec l’image précédente, le ligne contenant « aeeb » nous indique que :
« aeeb » est un fichier (« – »), le propriétaire peut lire et écrire dans le fichier (« rw- »), le groupe peut en faire de même alors que les autres utilisateurs ne peuvent que le lire (« r– »).
La première colonne qui contient le nom d’utilisateur (« michel » dans mon cas) indique le propriétaire du fichier, la deuxième indique le groupe.
Ici je suis donc le propriétaire du fichier, et je fais partie du groupe « michel ».
Pour modifier les droits d’accès, on utilise la commande :
chmod
Cette commande s’utilise avec beaucoup de paramètres différents.
Elle peut aussi s’utiliser de deux façons différentes pour faire la même chose, l’une travaille avec les masques, l’autre avec les lettres classiques.
Je ne détaillerai pas la façon avec les masques, elle n’a que peu d’importance ici.
Essayons dès maintenant de modifier les droits de notre fichier « aeeb » pour nous retirer le droit de lecture de ce fichier.
Voici la commande en question :
chmod u-r aeeb
Ici, « u » signifie « user », plus particulièrement il s’agit du propriétaire. « -r « signifie que l’on retire le droit de lecture.
Les autres paramètres sont « a », « g » et « o » pour faire référence à, respectivement, tout le monde (« all »), le groupe (« g ») et les autres utilisateurs (« o »). N’oubliez pas d’utiliser le manuel si vous avez un doute :
man chmod
On a utilisé le moins (« -r ») pour dire que l’on retire le droit de lecture, on peut aussi utiliser le « +r » pour dire que l’on ajoute ce droit.
Et enfin, on peut combiner les droits « r », « w » et « x » dans une seule commande. Par exemple, je donne maintenant tous les droits à tout le monde pour le fichier « aeeb » :
chmod a+rwx aeeb
4.1.12 Gérer les utilisateurs et les groupes
La gestion des utilisateurs et des groupes est importante sous Linux. Elle permet d’attribuer des rôles spécifiques et ainsi de bien maîtriser la sécurité du système. On parle couramment de UID et de GID pour identifier les utilisateurs et les groupes.
- UID : User Identifier (Nombre identifiant un utilisateur)
- GID : Group Identifier (Nombre identifiant un groupe d’utilisateurs)
Les utilisateurs « systèmes » possèdent un UID entre 0 et 500. Les autres utilisateurs possèdent un UID compris entre 500 et 60000.
Le super-utilisateur root a pour UID : 0 et GID : 0.
Les fichiers stockant des informations sur les utilisateurs et les groupes sont les suivants :
- /etc/passwd : Il contient toutes les informations relatives aux utilisateurs. Seul le superutilisateur (root) doit pouvoir le modifier.
- /etc/shadow : Il contient les mots de passe chiffrés.
- /etc/group : Il contient la liste des utilisateurs appartenant aux différents groupes.
- /etc/sudoers : Ce fichier très important qui permet une élévation des droits pour exécution de commandes. « sudo » étant la commande permettant de s’identifier en tant que super utilisateur.
Note : La commande sudo permet d’exécuter la commande passée en paramètre en tant qu’administrateur. Cette commande est l’une des plus utilisées car la gestion des droits sous Linux est quelque chose d’important et de bien maîtrisé. Pour l’utiliser, on utiliser habituellement « sudo » suivi de la commande à entrer normalement. Cela va donc l’exécuter en tant qu’administrateur a condition qu’on ait les droits de le faire.
La commande permettant d’ajouter un utilisateur est la suivante :
adduser {nom utilisateur}Le système vous guide ensuite automatiquement pour ajouter un nom, un groupe ou encore un mot de passe à l’utilisateur.
Pour modifier un utilisateur, il faut utiliser la commande :
usermod
Utilisez le paramètre « -l » pour renommer un utilisateur et « -g » pour changer le groupe de l’utilisateur.
Enfin, pour supprimer un utilisateur vous pouvez utiliser la commande :
deluser
Alternativement, vous pouvez supprimer l’utilisateur d’un groupe :
deluser
Pour affecter ou changer un mot de passe :
passwd
Pour les groupes, les commandes sont similaires :
addgroup
groupmod
delgroup
gpasswd
Pour se connecter sous un autre login, il existe la commande « su » :
su
4.1.13 Installer des nouveaux paquets
Sous Linux on ne parle plus de « programmes » mais de « paquets ». Pour faire la correspondance avec Windows, il s’agit du fichier « Setup.exe » ou « Fichier.zip » à lancer pour installer un programme.
Les paquets (packages en anglais) sont un ensemble de fichiers qui constituent une application et qui sont habituellement stockés en ligne.
Cet ensemble de fichiers peut contenir :
- Des codes sources ou fichiers binaires exécutables
- Des fichiers de configurations
- Des fichiers de documentation
- Divers autres scripts
- Des dépendances logicielles (certains paquets demandent l’installation d’autres paquets auparavant)
Le format standard de paquets sous Linux est RPM (Redhat Package Management).
RPM est un système de gestion de paquets développé par Red Hat et très utilisé dans la communauté Linux. Cela dit, toutes les distributions ne l’utilisent pas. Celles qui l’utilisent sont Mandriva, Fedora, Red Hat et SUSE.
Un autre format de package usuel est le format DEB utilisé initialement par la distribution Debian. Les packages Debian et l’outil APT (Advanced Packaging Tool) ont été les premiers à introduire plusieurs fonctionnalités avancées qui sont maintenant beaucoup utilisées comme la résolution automatique de dépendances logicielles.
Les paquets DEB sont bien sûr utilisés par Debian lui-même mais aussi sur les systèmes basés sur Debian, comme Ubuntu.
Pour travailler avec les paquets DEB, il existe une multitude d’outils mais le plus courant est :
apt-get
C’est sans doute l’outil de gestion de paquets le plus facile à utiliser. Non seulement il garde les traces des paquets actuellement installés mais aussi de ceux disponibles.
Il permet également de télécharger ces paquets directement depuis Internet. Pour installer un paquet on utilise la commande suivante :
apt-get install {nom paquet}Pour le désinstaller c’est de la même manière :
apt-get remove {nom paquet}Les paquets sont stockés en ligne dans ce que l’on appelle des dépôts de logiciels. Il s’agit d’une ou plusieurs base(s) de données de fichiers centralisé(e) permettant aux utilisateurs de télécharger ou de mettre à jour les paquets.
APT sauvegarde en plus sa propre base de données en local qui contient une liste de paquets disponibles avec l’endroit où les chercher.
Cette base de données doit être explicitement mise à jour, et cela se fait avec la commande suivante :
ap--get update
De manière technique, on utilise habituellement deux commandes ensembles : On met à jour la base de données locale puis on met à jour les paquets qui présentent des nouvelles versions disponibles :
apt-get update
apt-get upgrade
Habituellement, vous aurez besoin d’être administrateur pour installer des paquets. Vous pouvez donc combiner ces commandes à sudo si nécessaire.
Note : Si vous n’utilisez pas Ubuntu ou Debian, yum fait approximativement ce que apt-get fait pour les paquets RPM. Vous utiliserez donc dans ce cas yum install, yum remove, yum update.
Enfin, il est important de préciser qu’il existe une procédure standard sous Linux pour installer des paquets qui ne seraient pas automatiquement installés. Admettons par exemple que vous téléchargez un code source sur Internet et que vous souhaitez le compiler et lancer le programme.
Imaginons aussi que « apt-get » ne propose pas d’installation tout-en-un et qu’il nous faut donc la faire nous-même « à la main ».
Pas de problème, après avoir téléchargé l’archive en question, vous allez d’abord devoir extraire le dossier de l’archive (rendez-vous dans la partie 4.1.14.5 pour ce faire).
Vous pouvez ensuite vous rendre dans le dossier extrait puis taper les commandes suivantes à la suite :
./configure
Cela permet de configurer avant d’installer
make
Il s’agit du programme classique permettant de donner une liste d’instructions au compilateur.
make install
Cela permet d’installer votre programme nouvellement téléchargé.
4.1.14 Tâches diverses
Dans cette dernière partie de ce guide, nous allons voir certaines tâches dont nous n’avons pas eu le temps de parler précédemment.
Ces tâches sont spécifiques à des utilisations particulières de votre système mais elles sont suffisamment populaires pour mériter qu’on en parle ici.
4.1.14.1 Chercher des fichiers et applications
Bien que Linux propose habituellement de chercher des fichiers sous forme graphique, vous pouvez utiliser des commandes pour chercher très précisément certains fichiers sur votre système.
La commande « find » est la plus populaire car elle permet de chercher efficacement mais aussi de faire des opérations sur des fichiers.
La commande s’utilise ainsi :
find {endroit} {fichier} {post traitement}Par défaut, si l’endroit n’est pas spécifié, « find » recherche dans le dossier actuel et ses sous-dossiers.
Le paramètre « fichier » est obligatoire, et permet de rechercher un fichier par son nom mais aussi par sa date de modification, sa taille, etc.
Le « post traitement » permet de faire une opération finale en fonction des fichiers, comme les afficher.
Exemple avec tous les paramètres :
find /var/log --name "syslog" --type f
La commande suivante cherche dans « /var/log » les fichier (« -type f ») dont le nom est syslog (« -name « syslog » »).
Pour recherche un dossier, il suffit d’utiliser le paramètre « -type d », pour rechercher un fichier par sa taille, on peut utiliser « -size +/-taille ».
Voici un exemple d’utilisation :
find ~ --size +20M
Cette commande cherchera tous les fichiers dans le dossier personnel qui sont supérieurs à 20 Mégaoctets.
Toujours dans la recherche de fichiers, nous avons la commande « locate » qui va chercher un fichier par son nom dans la base de données de Linux :
locate {nom}La commande « whereis » cherche quant à elle tout nom d’exécutable et toute page de manuel correspondante au nom donné en paramètre :
whereis {nom}4.1.14.2 Variables d’environnement
Les variables d’environnement sont des variables permettant d’influencer le comportement des logiciels sur un système. Elles sont constituées d’un nom et d’une valeur associée. L’appel à une variable donnée se fait en ajoutant le symbole « $ » devant le nom de celle-ci.
Exemple :
echo $PWD
Cette variable équivaut à utiliser la commande qui suit :
pwd
Elle affiche bien le répertoire courant.
Pour afficher toutes les variables d’environnement, nous pouvons utiliser la commande :
printenv

On y aperçoit notamment les variables définissant la langue du système « LANGUAGE » et « LANG », la variable « PWD », la variable « HOME »…etc.
Les variables d’environnement sont notamment utilisées dans les scripts shell, lorsque l’on souhaite passer des arguments à des commandes sans connaître la valeur exacte employée par le système.
Par exemple, si l’on ne connaît pas le nom du répertoire personnel de l’utilisateur du système sur lequel une commande sera exécutée, on peut utiliser la variable d’environnement « $HOME» dans une commande :
cd $HOME/Documents
Nous avions parlé du fichier « ~/.bashrc », ce dernier peut notamment contenir des variables d’environnement personnalisées. Cela permet de les rendre actives de manière permanente.
Variables populaires :
USER : Il s’agit du nom d’utilisateur courant. Par exemple :
echo "Bonjour $USER"
Qui affichera « Bonjour michel »
PATH : Lorsqu’une commande est tapée, le système la cherche dans les dossiers spécifiés par la variable « PATH », dans l’ordre où ils sont indiqués.
PS1: Il s’agit de la toute première variable dont nous avions parlé dans ce guide, dans la partie sur l’initiation au terminal. PS1 signifie « Prompt String 1 » et il s’agit de la variable définissant le format du prompt.
? : La variable « ? » permet d’obtenir la valeur de retour de la dernière commande exécutée par le shell.
Par exemple, lançons la commande suivante :
sleep 30
et stoppons-la avec « CTRL + C ». Affichons enfin la variable :
echo $?
Nous observons la valeur « 130 » s’afficher dans le terminal, cela signifie justement que la dernière commande a été terminée, avec « CTRL + C ».
Voici d’autres codes et leur signification :
- 1 : Erreur générale (comme division par zéro)
- 126 : Problème de permission
- 127 : Commande non trouvée
4.1.14.3 Utiliser cron pour automatiser les tâches
Cron est un programme Linux permettant de lancer périodiquement certaines tâches (processus). En effet, vous serez amené à vouloir lancer vos propres scripts toutes les x heures ou jours. Typiquement des scripts qui vérifient le bon fonctionnement du système ou mettent à jour certaines données.
Cron permet d’exécuter ces programmes périodiquement, mais avant cela il faut les définir.
Pour les définir la commande est :
crontab
Vous pouvez utiliser crontab avec ces trois paramètres :
- « -l » : afficher le fichier crontab
- « -e » : modifier le fichier crontab
- « -r »: supprimer le fichier crontab
Si vous n’avez jamais crée de crontab, il y a de fortes chances que le texte suivant s’affiche lorsque vous tapez « crontab -l » : « no contrab for nom »
Tapons donc :
crontab -e
La commande rappelle qu’il n’existe pas encore de crontab et va donc en créer un.
Il vous propose ensuite de sélectionner un éditeur, choisissez « nano » en tapant le numéro correspondant (puisque nous l’avions déjà utilisé précédemment) et validez avec la touche « Entrée ».
Le fichier qui s’affiche contient déjà des explications en anglais dont la ligne commence par « # ».
Ceci est standard sous Linux, une ligne qui commence par « # » est souvent interprétée comme commentaire et n’est donc pas utilisée par le programme.
La dernière ligne montre un exemple :
m h dom mon dow command
Elle est de la forme :
- m : minutes (entre 0 et 59)
- h : heures (entre 0 et 23)
- dom (day of month) : jour du mois (entre 1 et 31)
- mon (month) : mois (entre 1 et 12)
- dow (day of week) : jour de la semaine (entre 0 et 6, dimanche étant 7 ou 0)
- command : La commande à exécuter
Pour bien comprendre, prenons directement un exemple :
59 23 * * * /user/michel/monscript.sh
Cela signifie que l’on souhaite exécuter le script « monscript.sh » :
- tous les jours de la semaine (dow = « * »)
- tous les mois (mon = « * »)
- tous les jours du mois (dom = (« * »)
- toutes les 23 heures (23)
- toutes les 59 minutes (59).
En combinant le tout, cela signifie que le script sera lancé toutes les 23h59 min, c’est-à-dire tous les jours à cette heure précise.
Voici d’autres exemples pour vous aider à comprendre encore mieux :
Tous les jours du mois de novembre à 15h30 :
30 15 * 12 * {commande}Toutes les heures le 10 novembre :
0 * 10 11 *{commande}Toutes les minutes (cron ne peut pas faire plus vite) :
* * * * * {commande}Chaque champ peut contenir différente signification, ici vous avez vu le caractère « * » qui signifie « tout ». Il existe aussi les suivants :
1,2,3 : exécuté pour tous les 1, 2 ou 3 unité(s) de temps. Tous les lundis (1), mercredis (3) et vendredis (5) à 15h30 :
30 15 * * 1,3,5 {commande}1-5 : exécuté de 1 à 5 unité(s) de temps. Entre le 1 et le 15 du mois à 15h30 :
30 15 1-15 * * {commande}*/x : toutes les x unités de temps. Toutes les 30 minutes, du samedi au dimanche :
*/30 * * * 6-7 {commande}Une fois le fichier sauvegardé, cron exécutera la ou les commande(s) aux moments donnés.
Une dernière chose à faire pour savoir si ça fonctionne est d’utiliser nos opérateurs de redirection de sortie pour afficher le résultat de l’exécution dans un fichier log. Par exemple :
30 15 * * 1,3,5 /user/m/user/michel/script >> ./log.txt
4.1.14.4 Raccourcis clavier utiles
Les raccourcis sont plutôt standards entre les systèmes d’exploitation. Ils le sont non seulement par convention mais en plus parce que chaque programme pris séparément utilise lui aussi les mêmes conventions peu importe le système sur lequel il est lancé. Par exemple, le navigateur web Firefox utilise les mêmes raccourcis sur Windows et sur Linux.
Voici un sommaire des raccourcis les plus courants :
Fermer la fenêtre actuelle :
ALT + F4
Changer de fenêtre :
ALT + TAB
Se déconnecter :
CTRL + ALT + SUPPR
Exécuter une commande :
ALT + F2
Ouvrir le terminal :
CTRL + ALT + T
Déplacer facilement une fenêtre :
ALT + SOURISGAUCHE
Dupliquer la fenêtre actuelle :
CTRL + N
4.1.14.5 Archiver et compresser des fichiers
Bien que l’interface graphique se charge habituellement de traiter les archives et de décompresser les fichiers, nous allons voir ici la commande « tar » qui nous permet de faire tout cela en ligne de commandes.
Créer une archive tar :
tar --cvf nomarchive.tar /dossier
Créer une archive tar.gz :
tar -cvzf nomarchive.tar.gz /dossier
Décompresser une archive tar :
tar -xvf nomarchive.tar
Décompresser une archive tar.gz :
tar -xvf nomarchive.tar.gz
Ajouter des fichiers ou dossiers à une archive tar :
tar -rvf nomarchive.tar fichier.txt
tar -rvf rvf nomarchive.tar dossier
Ajouter des fichiers ou dossiers à une archive tar.gz :
tar -rvf rvf nomarchive.tar.gz fichier.txt
tar -rvf rvf nomarchive.tar.gz dossier
4.1.14.6 Commandes réseau
Voici à présent un ensemble de commandes réseau couramment utilisées et leur signification.
Tout d’abord, nous souhaitons afficher les adresses IP de tous les périphériques de notre machine. Pour cela, utilisons la commande suivante :
ifconfig
C’est ici que s’affichent les adresses IP dont nous avons souvent besoin pour tel ou tel service.
Voici un exemple d’affichage :

- eth0 est la première interface ethernet. Les interfaces ethernet additionnelles seront appelée eth1, eth2…etc. Ce type d’interface est habituellement une interface réseau connectée avec un câble RJ-45.
- lo est l’interface loopback. C’est une interface réseau spéciale pour que le système puisse communiquer à lui-même. Il s’agit habituellement de vérifier si une connexion fonctionne.
- wlan0 est le nom de la première interface réseau sans fil connectée. Les interfaces sans fil additionnelles seront appelées wlan1, wlan2…etc.
Ensuite, pour tester si un équipement réseau est connecté, nous avons la commande :
ping
Cette commande est souvent utilisée pour obtenir le temps de latence en millisecondes ou encore l’adresse IP du site web en question.
À propos des informations sur les sites web, nous pouvons récupérer divers enregistrements, dont les enregistrements whois sur le propriétaire du site :
whois site.com
Ou encore les divers enregistrements DNS du site en question :
dig site.com
Si nous souhaitons télécharger un fichier à partir d’une adresse donnée, nous pouvons utiliser la commande « wget » :
wget http://site.com/nomfichier
Pour afficher toutes les connexions actives nous utilisons la commande netstat. Les paramètres choisis ici permettent d’afficher les connexions TCP et UDP actives avec les processus utilisant ces connexions :
netstat -plntu
Enfin, il est possible de se connecter sur une machine distante via le protocole de communication sécurisé SSH :
ssh login@ADRESSE_IP
« login » est le nom d’utilisateur sur la machine distante avec lequel on souhaite se connecter. Après le « @ » il faut spécifier l’adresse web ou IP de la machine à laquelle on souhaite se connecter. Le mot de passe associé au login en question sera ensuite demandé et la connexion sera établie.
Si jamais ssh n’est pas installé, vous pouvez l’installer avec :
sudo apt-get install openssh-server
Pour transférer directement un fichier d’une machine à l’autre, il existe la commande suivante pour copier un fichier local sur une machine distante :
scp fichier.txt [email protected]:~/Documents/
Et inversement, pour copier un fichier d’une autre machine vers la nôtre :
scp [email protected]:~/Documents/fichier.txt fichier.txt
L’option « -r » est disponible pour faire des copies récursives de dossiers et sous-dossiers.
5 Conclusion
À travers ce guide, vous avez été amené à utiliser Linux de façon à bien cerner ses bases tout en l’utilisant de façon plus avancée qu’un simple utilisateur.
Apprendre tout le fonctionnement de Linux dans les moindres détails est une chose impossible ou extrêmement difficile, mais connaître les bases afin de se débrouiller avec dans la plupart des circonstances est maintenant chose faite pour vous.
Le meilleur conseil que je peux vous donner pour continuer sur votre lancée est de rester curieux/se et motivé(e) pour apprendre encore plus, chaque jour. Le plus gros de votre apprentissage se fera sur la durée et par la pratique.
Ce guide a été volontairement organisé de telle sorte à ce que les connaissances s’additionnent et s’assimile plus facilement qu’en lisant un livre sous forme de « dictionnaire Linux » dont la plupart des informations ont été oubliées à la fin. Il est possible qu’à la fin de ce guide, certaines zones d’ombre apparaissent encore et cela est tout à fait normal. Ces zones d’ombres doivent vous donner la motivation pour continuer à en savoir plus.
Vous pouvez dès à présent continuer votre aventure vers des tutoriels plus ciblés, selon vos objectifs.