Linux sans magie #1 — Linux n’est pas réservé aux experts

Une introduction rassurante et pratique pour celles et ceux qui veulent enfin apprendre Linux sans jargon inutile ni lourdeur académique.

Vous avez peut-être déjà ouvert un terminal Linux, vu défiler quelques commandes incompréhensibles et pensé :

« Non. Ce truc-là, ce n’est pas pour moi. »

Ou regardé quelqu’un taper une commande comme :

grep -R "error" /var/log/

et eu l’impression d’assister à une forme obscure de sorcellerie informatique.

C’est précisément pour cela que cette série existe.

Linux sans magie part d’une idée simple : Linux n’est pas inaccessible. Il possède simplement son vocabulaire, ses habitudes et sa logique. Une fois qu’on les découvre progressivement, beaucoup de choses qui paraissaient mystérieuses deviennent étonnamment cohérentes.

Et nous allons les découvrir ensemble.

Pas besoin d’être développeur pour apprendre Linux

Commençons par éliminer une confusion fréquente.

Utiliser Linux n’implique pas de savoir programmer.

Bien sûr, un développeur peut utiliser Linux. Mais c’est également le quotidien de nombreux administrateurs systèmes, ingénieurs cloud, DevOps, spécialistes cybersécurité ou ingénieurs infrastructure.

Et pour commencer, vous n’avez pas besoin de connaître Python, C, Kubernetes ou le fonctionnement interne du kernel.

Vous devez surtout accepter une chose : au début, certaines commandes seront nouvelles.

C’est normal.

Lorsque vous avez utilisé Windows pour la première fois, vous avez également appris ce qu’étaient un dossier, le Gestionnaire des tâches, une adresse IP ou un compte administrateur.

Linux utilise parfois d’autres outils pour répondre aux mêmes questions.

Par exemple :

pwd

demande simplement :

« Dans quel répertoire suis-je actuellement ? »

Et :

ls

signifie essentiellement :

« Qu’est-ce qu’il y a ici ? »

Déjà nettement moins magique.

Pourquoi apprendre Linux aujourd’hui ?

Parce qu’il permet de comprendre énormément de choses que l’on rencontre ensuite ailleurs.

Prenez le cloud.

AWS fournit des instances EC2 Linux et documente leur administration, les utilisateurs système et les connexions SSH. Microsoft fournit également des machines virtuelles Linux dans Azure et maintient Azure Linux pour certains de ses scénarios cloud et conteneurisés.

Autrement dit, apprendre Linux ne consiste pas simplement à découvrir un système d’exploitation alternatif pour son ordinateur personnel.

C’est aussi acquérir des fondamentaux que vous retrouverez dans :

  • l’administration de serveurs ;
  • le cloud ;
  • les conteneurs ;
  • l’automatisation ;
  • la cybersécurité ;
  • le DevOps ;
  • le réseau ;
  • l’observabilité ;
  • et de nombreuses plateformes d’infrastructure.

Même lorsque des couches graphiques, des API ou des outils d’automatisation viennent se placer au-dessus, comprendre ce qui se passe au niveau du système reste extrêmement utile.

Et non, nous n’allons pas apprendre 200 commandes par cœur

Ce serait probablement le meilleur moyen de vous faire abandonner au troisième article.

Cette série prendra le problème dans l’autre sens.

Nous partirons d’une question concrète.

Par exemple :

Où suis-je dans le système ?

Puis nous chercherons la commande qui permet d’y répondre :

pwd

Ensuite seulement, nous verrons ce qu’elle fait et pourquoi.

Même principe pour :

Quels fichiers sont ici ?

ls

Ou :

Qui suis-je ?

whoami

Il n’y aura donc pas de chapitre intitulé « voici 73 commandes Linux indispensables ».

Nous allons construire progressivement une boîte à outils parce que nous aurons besoin de chaque outil pour résoudre un problème.

Vous aurez le droit de casser des choses

Même mieux : parfois, nous allons le faire volontairement.

Dans un environnement de laboratoire, évidemment.

Pourquoi ?

Parce qu’on apprend énormément en observant ce qui se passe lorsqu’une configuration ne fonctionne plus.

Nous pourrons par exemple créer un fichier inaccessible, constater l’erreur, comprendre les permissions puis réparer le problème.

Plus tard, nous pourrons créer un service qui refuse de démarrer, rechercher son erreur dans les logs et le remettre en fonctionnement.

L’objectif ne sera donc pas seulement :

tapez cette commande.

Mais plutôt :

tapez cette commande, regardez ce qui se passe et comprenez pourquoi.

C’est une différence importante.

Nous ne choisirons pas un camp dans la guerre des distributions

Ubuntu ? Debian ? Red Hat Enterprise Linux ? Rocky Linux ? AlmaLinux ? SUSE ?

Nous en rencontrerons probablement plusieurs.

Mais cette série ne sera pas une formation « Ubuntu ».

Nous apprendrons Linux.

Lorsqu’une distribution sera utilisée pour un laboratoire, elle servira simplement de support. Et lorsqu’une commande ou un comportement diffèrera selon les distributions, nous le signalerons.

L’objectif est qu’en découvrant plus tard une autre distribution, votre réaction soit :

« D’accord, les outils changent un peu, mais je comprends ce que je cherche à faire. »

C’est beaucoup plus utile que de mémoriser une recette unique.

Jusqu’où allons-nous aller ?

Assez loin.

Nous commencerons tranquillement avec le terminal, l’arborescence et les fichiers.

Puis viendront les permissions, les utilisateurs, les processus et les services.

Ensuite nous aborderons le réseau, le stockage, SSH et les logs.

Nous automatiserons certaines tâches avec Bash.

Puis, progressivement, nous pourrons comprendre ce qui se cache derrière des sujets qui semblent aujourd’hui nettement plus impressionnants :

systemd, LVM, nftables, sécurité Linux, conteneurs, namespaces, cgroups, performance, observabilité…

La documentation officielle du kernel elle-même couvre des interfaces d’administration, des outils userspace, des mécanismes de sécurité, eBPF, les interfaces système et de nombreuses fonctions avancées. Il existe donc un chemin considérable entre « je viens d’ouvrir mon premier terminal » et « je comprends réellement comment fonctionne mon système ».

Nous allons simplement le parcourir dans le bon ordre.

La règle de Linux sans magie

Chaque fois que cela sera possible, un article suivra la même logique :

Objectif → manipulation → explication → vérification → petit défi.

Et si notre manipulation modifie réellement le système :

nettoyage ou rollback.

Vous devrez pouvoir constater vous-même que quelque chose fonctionne.

Si nous lançons un service, nous vérifierons qu’il tourne.

Si nous ouvrons un port réseau, nous vérifierons qu’il écoute.

Si nous modifions une permission, nous vérifierons son effet.

Nous ne voulons pas simplement obtenir une commande qui « semble avoir marché ».

Nous voulons comprendre comment le prouver.

Votre premier défi Linux

Nous allons commencer très doucement.

Si vous disposez déjà d’un terminal Linux, lancez :

whoami

Puis :

pwd

Et enfin :

uname -a

Ne cherchez même pas encore à comprendre chaque information affichée.

Posez-vous simplement trois questions :

  1. Quel utilisateur suis-je ?
  2. Où suis-je ?
  3. Que me dit la machine sur le système que j’utilise ?

Voilà.

Vous venez déjà d’interroger directement votre système Linux.

Pas de magie.

Trois commandes, trois questions.

Dans les prochains articles, nous apprendrons progressivement à poser des questions beaucoup plus intéressantes.

Ce qu’il vous faut pour suivre la série

Pas un serveur hors de prix.

Pas un datacenter.

Et certainement pas une infrastructure de production sur laquelle expérimenter.

Un petit environnement Linux isolé suffira pour les premiers labs. Nous préparerons cet environnement au moment où il deviendra nécessaire, en privilégiant une solution simple et réversible.

Vous pourrez expérimenter, faire une erreur, recommencer et comprendre.

C’est exactement le but.

Références officielles

Conclusion

Si Linux vous a toujours attiré tout en vous paraissant trop compliqué, ne cherchez pas à tout apprendre d’un coup.

Commencez par une commande. Comprenez ce qu’elle fait. Vérifiez son résultat. Puis ajoutez-en une autre.

C’est exactement ce que nous allons faire dans Linux sans magie.

Et dans le prochain article, nous allons commencer par l’endroit où pratiquement tout commence sous Linux :

le terminal.