Pourquoi la ligne de commande Linux est une compétence essentielle à acquérir
La ligne de commande Linux offre une puissance et une flexibilité qui ouvrent de larges horizons aux utilisateurs pour contrôler pleinement leur système. Au-delà des interfaces graphiques, la ligne de commande vous permet d'exécuter des commandes avancées et de personnaliser le système de manière illimitée. Que vous soyez un utilisateur novice ou expert, l'apprentissage de la ligne de commande Linux vous donne la possibilité de résoudre des problèmes, de personnaliser l'environnement de travail plus efficacement et de rendre la gestion des tâches plus facile et plus rapide. Nous passons ici en revue les avantages qui font de la ligne de commande un outil indispensable pour tout utilisateur souhaitant profiter pleinement de Linux.
Vous pouvez utiliser Linux sans maîtriser la ligne de commande et sans vous embêter dans les fenêtres du terminal. Mais si vous le faites, vous perdrez la vitesse, la puissance et le contrôle granulaire de bas niveau de la ligne de commande.
De quoi parle tout ce battage médiatique ?
Certains ne jurent que par elle, d'autres ne jurent que par elle. Nous parlons de la ligne de commande, cette vénérable interface homme-machine qui existe depuis plus de cinquante ans et qui n'est pas près de disparaître. Même dans le monde actuel des interfaces graphiques élégantes et de la commodité des écrans tactiles, il y a une place pour la ligne de commande.
Lorsque Unix a été développé à la fin des années 1960 et au début des années 1970, il n’existait ni interface utilisateur graphique (GUI), ni environnement de bureau (DE). L'écriture était le seul jeu en ville. Si vous souhaitez interagir avec un ordinateur, vous utilisez un clavier et vous n’y réfléchissez pas à deux fois.
Cela a eu des implications en matière de conception. Parce que vous étiez limité à la saisie, chaque aspect de la configuration, du fonctionnement et de la gestion de l'ordinateur devait être contrôlé par la saisie de commandes. C'était vrai pour Unix il y a plus d'un demi-siècle, et cela reste vrai pour Linux aujourd'hui. Vous pouvez tout faire depuis la ligne de commande. Il n'y a rien hors de votre portée.
Aujourd'hui, Linux est toujours, à la base, un système d'exploitation piloté par clavier. Vous pouvez exécuter un système Linux entier sans environnement de bureau, et de nombreux serveurs sont utilisés de cette façon. Sur le bureau, bien entendu, la plupart des utilisateurs disposent d’un environnement de bureau.
Mais ouvrez une fenêtre de terminal et vous obtiendrez un accès complet à la ligne de commande, ce qui signifie que vous aurez accès à toutes les commandes Linux et à tous les paramètres qui régissent votre installation Linux.
1. Améliorer les compétences en administration système
Si jamais vous envisagez d'administrer des systèmes Linux, même occasionnellement à vos amis, votre famille et vos collègues, vous rencontrerez de nombreuses distributions différentes, ainsi qu'une variété d'environnements de bureau.
L'utilisation de la ligne de commande vous permet de faire ce que vous ne pouvez pas faire via l'interface graphique de l'application ou via l'environnement de bureau lui-même. L'environnement de bureau et les applications graphiques sont des couches d'abstraction entre vous et Linux. Il existe peut-être des outils pour vous aider à gérer votre installation Linux, mais ils n'auront pas la granularité de la ligne de commande.
Les commandes Linux peuvent avoir des dizaines d'options. Plus c'est complexe, moins il y a de chance de répéter toutes ces options dans le widget GUI. De plus, chaque environnement de bureau aura ses propres applications et sa propre façon de faire les choses. Au lieu d'apprendre la méthode GUI pour tous les environnements de bureau, il est plus facile d'ouvrir une fenêtre de terminal et de saisir des commandes Linux universelles qui fonctionnent partout. Si un outil de ligne de commande n'est pas inclus avec une distribution particulière, vous pouvez l'installer rapidement.
Parfois, le choix est fait pour vous. Savoir comment faire les choses sur la ligne de commande est le seul moyen de gérer un serveur sans interface utilisateur sur lequel aucun environnement de bureau n'est installé, ou une machine distante lorsque vous n'y avez qu'un accès SSH.
2. Augmenter l'efficacité
Les commandes Linux peuvent avoir de nombreuses options. C’est ce qui le rend précis. Choisissez des options qui font exactement ce dont vous avez besoin, et c’est exactement ce qui sera fait. Les commandes Linux sont conçues pour fonctionner ensemble. Il peut générer des sorties qui sont acceptées comme entrées par d'autres commandes.
Relier les commandes entre elles de cette manière s’appelle le piping. Cette commande renvoie une liste d'extensions de fichiers dans le répertoire courant et le numéro de chaque type différent. Linux n'a pas de commande pour cela, mais vous pouvez facilement en relier une à l'aide des commandes Linux existantes.
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r
La commande ls répertorie les fichiers. Les noms de fichiers sont saisis dans la commande rev, les lettres de chaque nom étant inversées. La commande cut supprime tous les noms après le premier point trouvé, s'il existe. La deuxième commande rev restaure la chaîne dans son ordre d'origine. Cela nous donne une liste d'extensions. La liste est triée et uniq compte les occurrences de chaque extension de fichier unique. La liste est ensuite à nouveau triée, par ordre décroissant.
C'est génial, mais il y a beaucoup de choses à retenir. Surtout avec les commandes qui contiennent beaucoup d'options.
C’est là que les pseudonymes entrent en jeu. Un alias vous permet de choisir un nom facile à retenir pour une commande personnalisée qui appelle une ligne de commande complexe pour vous. Les alias peuvent également prendre des paramètres. Si votre ligne de commande ressemble plus à une petite routine qu’à une seule ligne de commande, vous pouvez la transformer en fonction wrapper.
Si vous avez besoin d'un enregistrement permanent de la sortie, vous pouvez rediriger la sortie vers un fichier au lieu d'une fenêtre de terminal. L'ajout de « >file-count.txt » à la fin de la commande crée un fichier appelé file-count.txt qui contient le texte qui serait allé dans la fenêtre du terminal.
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r > file-count.txt
Regrouper les commandes et décomposer les séquences de commandes améliore considérablement votre efficacité, tout en réduisant ce que vous devez mémoriser et saisir.
3. Automatisez les tâches
Lorsque vos séquences de commandes dépassent les fonctions shell, vous pouvez les convertir en scripts et créer des programmes entièrement dans le langage shell.
Il n'y a aucune limite à ce que vous pouvez réaliser avec les scripts. Toute commande que vous pouvez utiliser sur la ligne de commande peut être utilisée dans un script, ainsi que les structures du langage shell telles que les tests, les comparaisons, les boucles et les instructions case.
Les tâches ennuyeuses et répétitives peuvent être accomplies en exécutant un script à la place. Si votre script nécessite qu'il s'exécute à une heure ou à une fréquence spécifique, vous pouvez le configurer pour qu'il s'exécute automatiquement à l'aide du minuteur systemd.
4. Problèmes de dépannage
Le dépannage des problèmes avec votre ordinateur est très bien pris en charge sur la ligne de commande Linux. Cela signifie que vous évitez l’obscurcissement de l’interface graphique et que vous traitez directement avec le système.
Linux enregistre toutes sortes d'événements et de processus, y compris le processus de démarrage. Tous les événements du journal sont accessibles via systemd journalctl.
Vous pouvez explorer les problèmes matériels avec des outils tels que lshw, lsblk et lscpu, rechercher les problèmes de système de fichiers avec fsck et les problèmes de démarrage avec GRUB.
sudo lshw