Lancé initialement comme un projet personnel par Linus Torvalds en 1991, le système d’exploitation Linux a conquis une place prépondérante. Il est aujourd’hui le moteur de nombreux supercalculateurs, serveurs web, smartphones et autres technologies de pointe.
La popularité de Linux repose sur sa stabilité, sa sécurité et son utilisation optimisée des ressources. Son adoption et sa demande n’ont fait que croître au fil des ans, une tendance qui ne semble pas près de s’inverser.
Selon un rapport de Statista datant de 2021, 47 % des développeurs professionnels recouraient à Linux. La même année, le 9e rapport annuel sur les emplois Open Source a révélé que le développement et l’administration Linux figuraient au deuxième rang des compétences les plus recherchées par les employeurs et les développeurs.
Les compétences en Linux sont indispensables dans de nombreux domaines tels que le développement de logiciels, l’administration système, le DevOps, l’administration réseau, l’ingénierie de la sécurité et la science des données. Si vous êtes attiré par l’un de ces secteurs, il est fort probable que vos compétences en Linux seront évaluées lors d’un entretien d’embauche.
Pour vous préparer au mieux, voici un aperçu des questions les plus fréquemment posées lors d’entretiens techniques sur Linux, ainsi que leurs réponses.
Qu’est-ce que Linux ?
Réponse : Linux est un système d’exploitation libre et open source. Il a été développé en 1991 par Linus Torvalds et diffusé sous la licence publique générale GNU (GPL).
Pourquoi utiliser Linux ?
Réponse : L’emploi du système d’exploitation Linux offre de multiples avantages. Tout d’abord, Linux est extrêmement sécurisé et pratiquement imperméable aux attaques de logiciels malveillants.
De plus, Linux se distingue par sa grande stabilité et sa fiabilité, avec des plantages très rares. C’est la raison pour laquelle de nombreux serveurs s’appuient sur Linux. Il se caractérise également par sa légèreté, consommant peu de RAM et de mémoire, ce qui le rend compatible avec des machines moins récentes.
Enfin, Linux est gratuit, open source, régulièrement mis à jour et hautement personnalisable. Les utilisateurs peuvent modifier le système d’exploitation selon leurs besoins. Il existe diverses distributions, adaptées aux pirates informatiques, aux développeurs ou encore au grand public.
Quels sont les éléments constitutifs fondamentaux d’un système d’exploitation Linux ?
Réponse : Un système d’exploitation Linux repose sur trois éléments essentiels.
- Le noyau : Il s’agit du composant central de Linux. Il constitue la couche la plus basse du système d’exploitation et interagit directement avec le matériel de l’ordinateur. Le noyau gère les ressources matérielles, telles que le processeur, la mémoire et le stockage, et offre des services aux autres parties du système d’exploitation et aux programmes en cours d’exécution.
- Le Shell : C’est une interface en ligne de commande qui permet aux utilisateurs d’interagir avec le système d’exploitation et d’exécuter des programmes. Il assure la communication entre les utilisateurs et le noyau, interprétant les commandes et les exécutant.
- Les applications : Ce sont les programmes qui fonctionnent au-dessus du système d’exploitation et qui fournissent des fonctionnalités spécifiques, comme la navigation web, le traitement de texte ou la lecture de musique.
Le noyau, le shell et les applications forment l’architecture du système d’exploitation Linux.
Pourquoi Linux est-il considéré comme plus sécurisé ?
Réponse : La sécurité de Linux est due en grande partie à sa nature open source. Un grand nombre de développeurs examinent régulièrement le code source, et toute erreur ou vulnérabilité découverte est rapidement signalée sur le forum Linux et corrigée en quelques jours.
De plus, la gestion des autorisations et des privilèges par Linux assure que l’accès root n’est pas accordé par défaut aux utilisateurs ordinaires.
Cela limite les dégâts potentiels en cas d’attaque virale. Sa faible part de marché auprès du grand public contribue également à sa sécurité, les pirates privilégiant les systèmes d’exploitation plus répandus.
Qu’est-ce que le noyau Linux ?
Réponse : Il s’agit de la couche la plus basse du système d’exploitation Linux et de son composant essentiel. Le noyau assure la liaison entre le matériel et le reste du système d’exploitation. Il gère les ressources matérielles telles que la mémoire, le processeur et le stockage.
Il garantit également une allocation adéquate des ressources pour que les tâches et les processus fonctionnent efficacement.
Quelle est la différence entre Linux et Unix ?
Réponse : Linux est un système d’exploitation libre et open source développé par Linus Torvalds. Unix est un système d’exploitation portable, propriétaire, multitâche et multi-utilisateur développé par AT&T. Contrairement à Linux, Unix n’est pas open source.
Qu’est-ce qu’une interface graphique ?
Réponse : Une interface graphique (GUI) est un moyen d’interagir avec un système d’exploitation au moyen d’éléments visuels tels que des fenêtres, des icônes, des menus, des pointeurs et des barres de défilement.
Ces éléments graphiques sont manipulés par des périphériques de pointage comme une souris, un stylet, un trackball ou un doigt sur des écrans tactiles.
Qu’est-ce qu’une interface en ligne de commande (CLI) ?
Réponse : Une interface en ligne de commande (CLI) est un moyen d’interagir avec un système informatique en saisissant des commandes textuelles dans le terminal.
Le système informatique répond en exécutant les commandes ou en affichant les informations demandées.
Décrivez le shell Linux.
Réponse : Le shell Linux est un programme qui interprète et exécute les commandes saisies via l’interface en ligne de commande, permettant aux utilisateurs de communiquer avec le système d’exploitation et de contrôler leur ordinateur.
Le shell reçoit les commandes en langage humain, les traduit sous une forme compréhensible par le noyau, puis les transmet à ce dernier pour exécution.
Quels sont les différents types de shell disponibles sous Linux ?
Réponse : Il existe plusieurs types de shell sous Linux, chacun étant optimisé pour des usages spécifiques. Voici quelques-uns des plus populaires :
- Le Bourne Shell (sh)
- Le Bourne Again Shell (Bash)
- Le C Shell (csh)
- Le KornShell (ksh)
- Le Z Shell (zsh)
- Le Friendly Interactive Shell (fish)
- Le Debian Almquist Shell (dash)
- Le TENEX C Shell (tcsh)
Cette liste présente quelques-uns des shells Linux les plus répandus.
Qu’est-ce qu’un script shell ?
Réponse : C’est un fichier texte contenant une suite de commandes que le shell Linux exécute dans l’ordre de leur apparition.
Les scripts shell contiennent des commandes qui, autrement, devraient être saisies une par une dans l’interface en ligne de commande. Les scripts shell sont très utiles pour automatiser les tâches répétitives ou exécuter des traitements par lots.
Décrivez les autorisations de fichiers sous Linux.
Réponse : Il existe trois types d’autorisations de fichiers sous Linux :
- Lecture (r) : Cette autorisation permet à un utilisateur d’ouvrir et de consulter le contenu d’un fichier ou d’afficher le contenu d’un répertoire. Cependant, l’utilisateur ne peut pas modifier le fichier ou le contenu d’un répertoire.
- Écriture (w) : L’autorisation d’écriture sur un fichier permet à un utilisateur de modifier son contenu. L’autorisation d’écriture sur un répertoire permet d’ajouter, de supprimer et de renommer des fichiers dans ce répertoire.
- Exécution (x) : Permet à un utilisateur d’exécuter un fichier comme un programme. Sous Linux, un utilisateur ne peut exécuter un programme qu’avec l’autorisation d’exécution.
Ce sont les types d’autorisations existants dans le système d’exploitation Linux.
Comment accorder des autorisations sous Linux ?
Réponse : Pour modifier les autorisations sous Linux, on utilise la commande « chmod », qui signifie « changer de mode ». chmod permet de modifier les autorisations d’un fichier ou d’un répertoire.
L’autorisation peut être accordée pour différents types d’utilisateurs : le propriétaire (u), le groupe (g), les autres utilisateurs (o) ou tous les utilisateurs (a). Les autorisations pour ces utilisateurs peuvent être attribuées en ajoutant (+) ou en supprimant (-) les autorisations de lecture (r), d’écriture (w) et d’exécution (x).
La syntaxe pour changer les autorisations est la suivante :
chmod autorisations fichier/répertoire
Comment retrouver l’emplacement d’un fichier sous Linux ?
Réponse : Pour trouver l’emplacement d’un fichier sous Linux, lancez d’abord la commande
find <nomDeFichier>
pour rechercher le fichier dans les répertoires disponibles. Si un fichier portant le nom indiqué est trouvé, vous pouvez exécuter la commande suivante :
realpath <nomDeFichier>
pour trouver le chemin absolu vers l’emplacement du fichier.
Comment supprimer un répertoire sous Linux ?
Réponse : Pour supprimer un répertoire sous Linux, vous pouvez utiliser la commande « rmdir ». Cette commande, qui signifie « supprimer le répertoire », sert à supprimer les répertoires vides.
Par exemple, pour supprimer un répertoire vide appelé « test », exécutez :
rmdir test
Pour supprimer un répertoire non vide, exécutez la commande « rm » avec l’option -r :
rm -r exemple
Qu’est-ce que l’espace d’échange ?
Réponse : Il s’agit d’une zone réservée sur un disque dur, généralement sous la forme d’une partition, que le système d’exploitation Linux utilise lorsque la RAM est saturée.
Quand la RAM ne suffit plus, les pages de mémoire inactives ou rarement consultées sont transférées dans l’espace d’échange, libérant de la place dans la RAM pour de nouveaux processus.
Qu’est-ce que LILO ?
Réponse : Linux Loader (LILO) est un chargeur d’amorçage pour le système d’exploitation Linux. Un chargeur d’amorçage est un programme permettant de charger un système d’exploitation en mémoire et de le démarrer au démarrage d’un ordinateur.
Une fois l’ordinateur allumé, LILO localise le noyau Linux et les autres programmes nécessaires et les charge en mémoire. Une fois cette opération effectuée, il démarre le noyau Linux.
Qu’est-ce que la redirection ?
Réponse : Elle permet de modifier la source de l’entrée standard, qui est généralement le clavier, et les destinations de la sortie standard et de l’erreur standard, qui sont généralement l’écran.
Par exemple, grâce à la redirection, l’entrée peut être obtenue à partir d’un fichier, et la sortie et les informations d’erreur peuvent également être enregistrées dans un fichier.
Qu’est-ce que le groupement de commandes ?
Réponse : C’est un moyen d’exécuter plusieurs commandes collectivement, comme une seule unité. Le regroupement permet d’exécuter plusieurs commandes dans un même bloc.
Le groupement s’appuie souvent sur des fonctionnalités telles que la redirection et les pipelines pour créer des scripts plus complexes et automatiser des tâches.
Qu’est-ce qu’un serveur Linux sans état ?
Réponse : Un serveur sans état ne conserve aucune information d’état ou données localement. Le stockage des données est effectué côté client, le serveur n’ayant aucune trace des données qu’il traite.
Qu’est-ce que l’agrégation de liens ?
Réponse : C’est une technique permettant de combiner plusieurs interfaces réseau en une seule. Elle augmente la bande passante, le débit et la redondance du réseau, améliorant ainsi les performances.
Qu’est-ce que la commande grep ?
Réponse : La commande Global regular expression print (Grep) est un outil en ligne de commande qui permet de rechercher des motifs dans un fichier et d’afficher toutes les lignes contenant ces motifs. Le motif de recherche est une expression régulière et généralement une chaîne de caractères.
Que sont les démons ?
Réponse : Les démons sont des programmes utilitaires qui s’exécutent en arrière-plan sans intervention de l’utilisateur. Ils effectuent des tâches telles que la surveillance des périphériques et la maintenance du système. Les démons assurent le bon fonctionnement du système d’exploitation.
Que sont les liens symboliques ?
Réponse : Un lien symbolique, également appelé raccourci, est un type de fichier qui pointe vers un autre fichier ou répertoire. C’est l’équivalent d’un raccourci dans le système d’exploitation Windows.
Les liens symboliques facilitent l’accès à des fichiers qui pourraient être difficiles ou peu pratiques à manipuler.
Que sont les variables d’environnement ?
Réponse : Ce sont des variables dynamiques définies dans le shell et utilisées pour stocker des informations nécessaires aux programmes pour fonctionner ou adapter leur comportement en fonction des besoins des utilisateurs.
Exemples de variables d’environnement : LANG (langue par défaut du système), TEMP (répertoire des fichiers temporaires) et HOME (répertoire personnel de l’utilisateur courant).
Comparez les commandes Bash et DOS permettant d’afficher le contenu d’un fichier.
Réponse : Dans le shell Bash, les commandes permettant d’afficher le contenu des fichiers sont les suivantes :
- cat – affiche le contenu du fichier à l’écran
- nl – similaire à cat, mais ajoute les numéros de ligne
- less – affiche le contenu d’un fichier page par page (écran par écran)
- head – affiche les 10 premières lignes d’un fichier à l’écran
- tail – affiche les 10 dernières lignes d’un fichier à l’écran
Dans le shell DOS, les commandes suivantes peuvent être utilisées pour afficher le contenu du fichier :
- type – affiche le contenu d’un fichier sans le modifier
- more – affiche le contenu d’un fichier écran par écran
Les shells Bash et DOS proposent des commandes différentes pour afficher le contenu des fichiers.
Citez quelques distributions Linux.
Réponse : Les distributions Linux sont des versions de Linux construites sur le noyau Linux et distribuées aux utilisateurs.
Voici quelques distributions Linux populaires : Ubuntu, Fedora, Debian, CentOS, Arch Linux, Red Hat Enterprise Linux et Mint Linux.
Quels sont les différents états d’un processus sous Linux ?
Réponse : Les principaux états d’un processus sous Linux sont les suivants :
- En cours d’exécution – le processus est en train d’être exécuté par le CPU
- En veille – le processus attend des ressources indisponibles
- Arrêté – le processus a été interrompu par le processeur ou un signal
- Zombie – le processus a été terminé, mais son processus parent n’a pas encore libéré ses ressources
Ce sont les principaux états d’un processus sous Linux.
Quels sont les différents appels système de gestion des processus sous Linux ?
Réponse : Les différents appels système de gestion de processus sont les suivants :
- fork() – utilisé pour créer un nouveau processus
- kill() – utilisé pour envoyer un signal afin d’interrompre un processus en cours d’exécution
- wait() – suspend l’exécution du processus appelant jusqu’à ce qu’un processus enfant se termine
- exec() – charge un programme dans le processus en cours et l’exécute
- exit() – termine l’exécution d’un programme
Ce sont les principaux appels système de gestion de processus sous Linux.
Comment connaître l’état d’un processus ?
Réponse : Vous pouvez connaître l’état d’un processus en exécutant la commande « ps » pour voir l’état actuel de tous les processus actifs dans un système Linux.
Pour afficher plus de détails sur un processus en particulier, exécutez la commande suivante :
ps -p <IDduProcessus>
Comment arrêter un processus en cours d’exécution sous Linux ?
Réponse : Vous pouvez arrêter un processus en cours d’exécution sous Linux en exécutant :
kill <IDduProcessus>
Pour interrompre un processus à l’aide de son ID. Vous pouvez également arrêter un processus par son nom en exécutant :
killall <NomDuProcessus>
Comment la sensibilité à la casse affecte-t-elle les commandes ?
Réponse : Dans le système d’exploitation Linux, les commandes sont sensibles à la casse, ce qui signifie que le shell considère les commandes écrites avec des lettres majuscules ou minuscules comme des commandes distinctes.
Par exemple, la commande « rmdir » est différente de « RMDIR ». Dans le système d’exploitation Linux, les commandes en ligne de commande sont généralement écrites en minuscules.
Quelle est la commande utilisée pour vérifier la quantité de mémoire utilisée par Linux ?
Réponse : La commande « free », lorsqu’elle est exécutée, affiche la quantité d’espace utilisé et l’espace disponible dans le système. Diverses options peuvent être utilisées pour afficher différents types d’informations.
Qu’est-ce que la commande ls ?
Réponse : C’est une commande qui permet d’afficher le contenu d’un répertoire.
Qu’est-ce que la commande ps ?
Réponse : La commande ps affiche des informations sur les processus en cours d’exécution.
Qu’est-ce que la commande netstat ?
Réponse : C’est une commande qui affiche des informations sur les connexions réseau du système, notamment les connexions actuellement actives.
Qu’est-ce que la commande cp ?
Réponse : C’est une commande qui permet de copier des fichiers et des répertoires.
Qu’est-ce que mkdir ?
Réponse : C’est une commande qui permet de créer des répertoires sous Linux.
Qu’est-ce que la commande cat ?
Réponse : C’est une commande qui permet d’afficher le contenu d’un fichier, de créer un nouveau fichier, de rediriger la sortie d’autres commandes, de concaténer plusieurs fichiers et d’afficher le résultat à l’écran.
En guise de conclusion
Cet article sur les questions et réponses d’entretiens concernant Linux vous aidera à préparer et réussir votre prochain entretien.
Bonne chance ! 👍