7 Things I Wish I Knew Before Getting Into the Linux Terminal

Soyons réalistes: passer à Linux peut être intimidant, vous aurez donc besoin d’autant d’aide que possible. Ce sont les choses qui m’auraient le plus aidé lorsque je passais de Windows.
1
La différence entre un terminal, un shell et la ligne de commande
L’une des choses les plus déroutantes en commençant par Linux est la terminologie. Certaines personnes utiliseront des termes de manière interchangeable, tandis que d’autres insistent sur l’utilisation correcte exacte. À moins que vous ne soyez conscient des différences entre les termes, il est facile de faire des erreurs.
Voici comment je m’en souviens: le terminal est une application qui exécute un shell, qui fournit une ligne de commande.
UN ligne de commande L’interface (CLI) est une alternative textuelle à une interface utilisateur graphique (GUI). Il affiche une invite pour l’entrée de commande, que vous taperez avec le clavier, puis appuyez sur Entrée pour exécuter. Vous pouvez trouver une ligne de commande dans plusieurs applications différentes: un IDE, la console de votre navigateur ou un shell Unix. Même une boîte de recherche Web peut être considérée comme un type de ligne de commande très spécifique.
UN coquille Fournit une interface de ligne de commande. Il existe de nombreux types de coquilles UNIX, reflétant la longue histoire du système d’exploitation. Les plus couramment utilisés sont Bash et Zsh, avec d’autres exemples, notamment Fish, KSH et TCSH. Le shell fournit des fonctionnalités de base qui se trouvent à un niveau supérieur que le noyau du système d’exploitation. Il fournit un langage de commande que vous pouvez utiliser pour exécuter et gérer des programmes.
Le Terminal (strictement, l’émulateur de terminal) est une application qui exécute un shell, y passant l’entrée et en affichant la sortie. Il s’agit souvent d’une application GUI, avec des fonctionnalités de fenêtre comme des onglets et de la copie / coller à l’aide de la souris. Les terminaux disponibles sur Linux comprennent Kitty, Terminator, Guake et Ghostty. Sur MacOS, Iterm2 est très populaire. Un terminal était à l’origine bon marché et autonome qui fournissait un clavier et l’affichage pour se connecter à un ordinateur. Vous pouvez également entendre le terme «console», qui est à peu près analogue au «terminal».
Je continuerai à utiliser le terminal de mots tout au long de cet article pour faire référence à l’utilisation générale d’une ligne de commande shell.
2
Comment trouver de l’aide
Il est courant de se sentir un peu dans l’obscurité lorsque vous commencez à utiliser le terminal. Une invite vide, sans guidage clair ni liste d’options disponibles, peut être assez intimidant.
Sur Linux, l’aide commence par l’homme, le navigateur manuel. Cette commande donne accès à la documentation textuelle sur presque toutes les commandes que vous pouvez exécuter dans le terminal. Vous pouvez tirer les pages d’aide en coulant l’homme
$ man ls
$ man mkdir
$ man man
Cela affichera une page manuelle appropriée à l’aide du téléavertisseur de votre système, une commande qui affiche du texte dans une interface paginée, avec des fonctionnalités pour faire défiler vers le haut et vers le bas, rechercher du texte, etc. Habituellement, le téléavertisseur par défaut sera moindre et vous pouvez l’utiliser pour faire défiler le manuel avec des touches de curseur haut / bas ou une page à la fois avec de l’espace. Appuyez sur Q pour quitter ou H pour plus d’aide.
La documentation de la page de l’homme est détaillée et technique, mais elle est également complète. Les pages de l’homme ont une disposition assez standard, avec des sections sur les options de commande, la configuration et les exemples.
La meilleure façon de vous familiariser avec eux est de les lire, et je recommande de commencer par des pages plus simples et plus courtes pour des commandes communes comme PWD, MKDIR et Echo. La commande LS est un bon exemple d’un programme très courant avec une page Long Man qui est excellente pour apprendre le système.
Tu peux même essayer homme homme Si vous avez du mal à utiliser l’homme, mais sa documentation est assez compliquée, donc ce n’est peut-être pas si utile!
Si les pages d’homme semblent un peu intimidantes, vous pouvez plutôt essayer TLDR. Cette alternative doit être installée, mais elle est plus conviviale que l’homme, en mettant l’accent sur des exemples de la façon d’utiliser la commande pour les cas courants.
3
Comment les alias pourraient me faire sauver autant de temps
Je ne savais pas combien de temps je perdais jusqu’à ce que je commence à utiliser des alias. Un alias est comme un raccourci pour une commande, et il a deux avantages principaux, ce qui donnera de grandes victoires à long terme:
-
Un alias est généralement plus court, vous faisant gagner du temps et des efforts pour taper plus de personnages.
-
Un alias vous aide à éviter de se souvenir des options complexes.
J’ai vu certaines personnes utiliser des alias comme ceci:
alias ll="ls -l"
Ce qui est génial car cela vous évite de taper trois caractères chaque fois que vous souhaitez répertorier des fichiers, ce que vous ferez beaucoup. Cet alias crée efficacement une nouvelle commande: ll.
Mais, pour moi, le deuxième avantage est plus important. Les options de ligne de commande peuvent être vraiment difficiles à retenir, d’autant plus qu’ils ne sont pas toujours cohérents entre les programmes. Donc, quand je trouve une option que j’aimerais par défaut, je met à jour un alias pour cette commande, et je n’ai jamais à me souvenir des détails:
alias ls='ls -GF'
Cela me donne deux belles améliorations à LS: sortie colorisée et symboles qui identifient différents types de fichiers, comme les répertoires ou les liens symboliques. Il n’y a pas de nouvelle commande ici, donc je continue à utiliser LS comme je l’ai toujours fait, c’est juste une version légèrement meilleure.
4
Tout sur le chaînage de commandes
Vous savez peut-être déjà comment exécuter une commande maintenant, mais à quel point savez-vous sur l’exécution de plusieurs commandes à la fois?
La forme la plus courante est probablement le tuyau, car il est si utile pour les tâches quotidiennes. Un tuyau exécute deux commandes en même temps, passant la sortie de l’une comme entrée à l’autre:
ls | wc -l
Cette ligne de commande imprime le nombre de fichiers dans le répertoire actuel. La tuyauterie utilise l’utilisation par Linux du texte comme principal moyen d’échange de données, et cela augmente considérablement l’utilité des commandes simples qui font bien une chose. Mais il existe d’autres façons d’exécuter plusieurs commandes, comme le demi-colon:
sleep 5; echo done
Cela exécutera la commande de sommeil, puis écho, vous verrez donc une pause, puis la sortie de l’écho. Comparez cela avec:
sleep 5 | echo done
Parce qu’un tuyau exécute les commandes simultanément, vous verrez immédiatement la sortie d’Echo, puis une pause. La commande ECHO ignore toute entrée qui lui est envoyée, ce qui n’a pas beaucoup d’importance car le sommeil ne produit pas de sortie.
Vous pouvez même utiliser des opérateurs logiques pour exécuter une commande en fonction du succès d’un autre:
sleep 5 && echo that worked
Le && signifie «Continuez à exécuter les commandes uniquement si la précédente a réussi», et elle est particulièrement utile pendant la compilation logicielle, comme dans ce modèle très courant:
make && make install
Ici, faites des builds un programme à partir de la source, tout en faisant des copies d’installation du programme final vers un emplacement connu. Il est inutile d’essayer de l’installer si la compilation échoue, donc cette ligne de commande gère à la fois le succès et l’échec.
5
Comment les commandes peuvent s’exécuter en arrière-plan et comment les gérer
Il y a quelque chose à exécuter plusieurs commandes, certaines en arrière-plan, c’est un autre concept délicat à saisir. Je pense que c’est parce que la ligne de commande semble être tellement concentrée sur une ligne à la fois, une commande à la fois. Mais c’est une idée fausse que vous devez annuler au début de votre parcours Linux.
Bien sûr, la plupart des commandes les plus courantes – LS, MKDIR, CAT – ont beaucoup de sens au premier plan: ils sont rapides à fonctionner, et vous voudrez généralement leurs résultats immédiatement. Mais dès que vous devez compiler un programme ou démarrer un programme de longue durée, vous commencerez à vous interroger sur le contrôle du travail – avant même que vous connaissiez le terme.
Le concept d’un travail est encore plus déroutant terminologie qui est presque, mais pas tout à fait synonyme de programme, de commande ou de processus. Un travail peut être un processus unique, mais il peut également s’agir d’un groupe de processus, c’est-à-dire tout ce que vous commencez à partir d’une seule ligne de commande.
Avec le contrôle du travail, vous pouvez commencer à exécuter quelque chose, puis le déplacer en arrière-plan pendant que vous travaillez sur autre chose. Vous pouvez y penser un peu comme minimiser une fenêtre dans une interface graphique. De plus, vous pouvez suspendre le travail, le redémarrer, le retourner au premier plan ou le tuer complètement.
[maybe make the following a screenshot??]Pour suspendre un travail en cours d’exécution, appuyez simplement sur Ctrl + Z:
$ du -skh /
^Z
zsh: suspended du -skh /
Notez que le shell – Zsh, dans ce cas – estime que le travail a été suspendu, ce qui signifie qu’il s’arrête. Vous pouvez reprendre le travail en arrière-plan ou le ramener au premier plan, mais vous aurez d’abord besoin de son identifiant. Pour l’obtenir, utilisez la commande Jobs:
jobs
Vous verrez une liste de tous les travaux qui n’ont pas encore terminé, parallèlement à leur statut:
Chaque travail a un numéro attribué que vous pouvez utiliser pour le mettre en avant, en utilisant la commande fg:
$ fg %5
Vous pouvez également démarrer une commande exécutée en arrière-plan en ajoutant un ampère et à la fin:
du -skh / &
6
Comment fonctionne le chemin et pourquoi il est si utile
La plupart des leçons que j’ai apprises sur Linux se résument à «c’est plus facile que vous ne le pensez», même si le contraire semble vrai au début. Le chemin est un excellent exemple.
Si vous venez du monde de Windows, vous pourriez penser que l’installation est un processus complexe, impliquant des chemins spécifiques, des noms de fichiers rigides et des fichiers de bibliothèque soigneusement copiés. Sur Linux, ce n’est vraiment pas le cas. La plupart du temps, vous pouvez exécuter un programme exécutable simplement en tapant un chemin vers celui-ci:
./my-local-program
/usr/bin/htop
C’est bien, mais ce n’est pas très pratique, donc il y a un raccourci. La variable de l’environnement de chemin stocke un ensemble de répertoires que votre shell recherchera lorsque vous essayez d’exécuter une commande qui n’inclut aucun composant de chemin, par exemple
htop
Dans ce cas, si votre chemin ressemble à quelque chose comme “/ usr / local / bin: / usr / bin: / bin”, votre shell recherchera les programmes suivants:
-
/ usr / local / bin / htop
-
/ usr / bin / htop
-
/ bin / htop
C’est une commodité, mais le même système vous permet également d’installer des versions personnalisées de logiciels. L’ordre des répertoires sur votre chemin est significatif, donc le premier programme qui est présent sera celui utilisé. Cela signifie que vous pouvez avoir une version par défaut dans / bin et un installé par l’utilisateur dans / usr / bin, et ce dernier sera favorisé, comme vous vous en doutez.
7
Comment utiliser des fichiers cachés dans mon répertoire domestique
Le terminal Linux est plein de cas où vous pouvez configurer des choses comme bon vous semble, des alias à votre chemin et au-delà. Un autre exemple est la spécification du répertoire de base XDG, qui est un moyen de longue haleine de se référer à un ensemble de fichiers et répertoires connus de votre répertoire à domicile (utilisateur).
La spécification est utile car elle vous permet de stocker des fichiers spécifiques à l’utilisateur de manière standard, afin que d’autres programmes puissent compter sur eux. Avant la spécification, divers fichiers – comme la configuration, les données et même les programmes – auraient tendance à joncher votre répertoire domestique, potentiellement contradictoires et causer toutes sortes de problèmes.
En utilisant XDG, ils peuvent tous être rassemblés dans des emplacements cachés. Le système Linux de traitement des fichiers qui commence par une période comme des fichiers cachés le permet, et c’est un autre aspect du système d’exploitation qui est vraiment utile pour saisir très tôt.