Thème Jannah La licence n'est pas validée, Rendez-vous sur la page des options du thème pour valider la licence, Vous avez besoin d'une seule licence pour chaque nom de domaine.

Comment découvrir les commandes du terminal qui changent instantanément votre expérience

3 astuces de terminal que vous auriez aimé connaître plus tôt

Comment le savoir Commandes de terminal Changer votre expérience instantanément ?
Dans cet article, je partage les secrets des commandes du Terminal, souvent méconnus ou négligés. Vous découvrirez des commandes qui simplifient les tâches quotidiennes, améliorent la vitesse de votre système et vous offrent des outils puissants pour un contrôle total. Je commencerai par une réponse rapide, puis je développerai :

Des commandes comme grep و tail و tmux Il peut transformer votre façon de gérer vos fichiers, de tracer vos données et d'exécuter des commandes simultanées. Je vous fournirai du contexte, des conseils de dépannage et des exemples pratiques qui vous permettront de l'utiliser en toute confiance dès le premier jour.

Comment découvrir les commandes du terminal qui changent instantanément votre expérience

Chaque section de ce guide est soigneusement rédigée pour correspondre à ce que vous recherchez : une réponse claire en premier lieu, des sous-titres organisés, des exemples concrets et des liens internes vers des sujets connexes qui vous aideront à approfondir.

Commençons — et Terminal ne vous laissera plus tomber.

Que vous soyez novice en terminal ou un expert chevronné, il existe toujours de nombreuses astuces à apprendre pour gagner du temps. J'ai sélectionné trois astuces Bash utiles à ajouter à votre arsenal.

Remplacer le processus pour convertir les données en fichiers de données temporaires

Vous avez peut-être rencontré une situation où vous aviez besoin d'un chemin de fichier comme paramètre, mais tout ce que vous aviez, c'était des données.

Par exemple, supposons que vous souhaitiez modifier du texte déjà présent dans le terminal :

echo "foo" | nano

La commande ci-dessus ne fonctionne pas, car vous ne pouvez pas pointer les données vers nano ; à la place, vous devez fournir un chemin de fichier, comme ceci : nano /path/to/file.txt.

Pour résoudre ce problème, vous utiliserez souvent une séquence de commandes similaire à la suivante :

echo foo > bar.txt
nano bar.txt

À l'aide de deux commandes distinctes, vous créez un fichier, puis effectuez une opération dessus. Cette approche n'est pas idéale, car elle disperse les fichiers dans le système de fichiers et nécessite d'écrire leurs chemins d'accès. La substitution d'opérations résout ce problème :

echo <(true)

Si vous exécutez la commande ci-dessus, vous verrez qu'elle imprime le chemin du fichier comme suit :

/dev/fd/16

Une substitution de processus génère un fichier temporaire à partir de la sortie d'une commande, permettant ainsi à une autre commande de le lire. Dans l'exemple précédent, « <(true) » génère le chemin de sortie et « echo » le reçoit. La donnée de la sortie est simplement « true ».

Lisez aussi:  Meilleures façons de rechercher et de remplacer du texte dans un terminal Linux

conseil
La partie « fd » du chemin fait référence au terme « descripteur de fichier », un identifiant utilisé en interne par les programmes pour désigner les fichiers ouverts. Cet exemple porte le numéro de descripteur de fichier 16. Les descripteurs de fichiers sont spécifiques aux processus qui les utilisent – « echo » dans ce cas.

Utilisons la substitution de manière utile :

nano <(echo "foo")

La commande ci-dessus est la même que l’écriture de la commande suivante :

echo "foo" > /tmp/foo
nano /tmp/foo

Vous ne pourrez pas enregistrer et modifier le texte lors de l'exécution de nano <(echo “foo”) car le fichier est spécifiquement créé pour une utilisation en lecture seule, mais vous pouvez modifier l'emplacement où il est enregistré à l'aide du raccourci Ctrl+o.

Remplacement du processus d'E/S

L'expression « <(foo) » crée une substitution pour l'opération d'entrée. Vous pouvez également créer une substitution pour l'opération de sortie :

echo "foo" > >(cat)

La commande ci-dessus est la même que l’écriture de la commande suivante :

echo "foo" > /tmp/foo
cat /tmp/foo

Bien que les deux commandes puissent sembler différentes, leur fonctionnement est identique. Cela devient plus clair lorsque l'on comprend que la commande echo "foo" > >(cat) écrit "foo" dans un fichier spécial, lu par la commande cat.

Brièvement,

  • echo <(true) est une substitution pour une opération d'entrée, et la commande echo reçoit des données via un chemin de fichier spécial (dans ce cas, les données sont simplement « true »).
  • echo “foo” > >(cat) est une substitution pour une opération de sortie. La commande cat reçoit le mot renvoyé via un chemin spécial. Le premier caractère « > » est un opérateur de redirection, et le second fait partie de l'expression de substitution elle-même.

Pour terminer cette section, je pense qu’un exemple concret suffira à la résumer :

diff <(ls -1 ~) <(ls -1 /tmp)

Cette commande compare les différences entre deux répertoires. L'opération de remplacement d'entrée est utile dans ce cas, car la fonction diff prédit les chemins de fichiers, ce que permettent les opérations de remplacement.

Lisez aussi:  Écoutez de la musique en ligne de commande grâce à ces outils exceptionnels.

Note
Le symbole « ls -1 » est un un, pas la lettre l.

Enregistrer les commandes d'extension pour la réplication

Les développeurs Bash utilisent souvent le terme « expand ». Cela peut paraître compliqué, mais cela signifie simplement transformer quelque chose de petit en quelque chose de plus grand : l'agrandir. L'exemple le plus courant est l'expansion du tilde (~), qui étend le chemin d'accès à votre répertoire personnel.

Les trois exemples suivants sont tous appelés « expansions de journaux ». Toutes ces expressions étendent de simples entrées de caractères à des éléments du journal du shell.

Bang, bang !!

C'est l'une des commandes les plus utilisées après cd et ls. Elle est facile à utiliser et à comprendre. Elle réexécute la dernière commande exécutée.

ls
!!

Comment découvrir les commandes du terminal qui changent instantanément votre expérience

Vous pouvez voir à partir de la sortie de la commande que la commande ls est exécutée deux fois.

Développer un élément spécifique de votre historique
Tout d’abord, examinez votre historique pour choisir une commande appropriée :

history

Ensuite, choisissez simplement l’un des nombres sur la gauche et saisissez-le sous la forme N :

!N
Le terminal affiche l'historique Bash : un double point d'exclamation a été saisi et il a réexécuté la dernière commande une simple liste de répertoires Comment découvrir les commandes du terminal qui changent instantanément votre expérience

Avertissement
Vérifiez bien l'ordre avant de l'exécuter à nouveau, car si vous exécutez le mauvais ordre par erreur, votre journée sera mauvaise.

L'avantage de l'extension de ces éléments d'historique numérotés est que leurs numéros sont constants, ce qui permet de les identifier. Bien entendu, cette persistance n'est maintenue qu'après la suppression du fichier ~/.bash_history.

Développer par nom, pour une sélection plus facile

Rechercher sans cesse dans l'historique des commandes pour retrouver une commande numérotée spécifique peut être fastidieux. Il existe une approche alternative, plus efficace : Bash vous permet de saisir le début d'une commande et exécute la correspondance la plus récente.

echo foo
!e
!ech

C'est idéal pour passer d'un ordre à l'autre au cours d'une même session de terminal. Cependant, pour les ordres plus anciens, je préfère utiliser un outil de recherche historique floue.

Groupes de commandement

Parfois, vous souhaiterez exécuter plusieurs commandes ensemble, leurs sorties étant considérées comme un seul résultat. Prenons l'exemple suivant :

echo foo > /tmp/foo.txt
echo bar >> /tmp/foo.txt

Le caractère « > » est appelé opérateur de redirection et il envoie le résultat de la commande au fichier spécifié, en remplaçant son contenu ; le caractère « >> » fait la même chose, sauf qu'il ajoute au fichier – c'est ce qu'on appelle l'opérateur de redirection.

Lisez aussi:  Meilleures habitudes pour que Linux continue de fonctionner avec une efficacité maximale et une utilisation minimale des ressources

La commande ci-dessus créera un fichier comme celui-ci :

barre foo

Parfois, lorsque vos commandes sont complexes, cette approche peut s'avérer inefficace en raison du grand nombre de lignes inutiles. Une approche plus simple consiste à utiliser un bloc de commandes.

Un groupe de commandes combine toutes ses sorties de commandes en un seul groupe, ce qui facilite grandement le traitement du résultat.

{ echo foo; echo bar; } > /tmp/foo.txt

Cela produira le même résultat que la commande précédente. La redirection n'est effectuée qu'une seule fois ; l'opérateur de redirection (>>) est donc inutile.

Avertissement
Un point-virgule doit être placé après chaque commande, surtout la dernière. Des espaces doivent également être placés entre les parenthèses et les mots de commande.

Vous pouvez prouver que les commandes en dehors du groupe ne sont exécutées qu'une seule fois en exécutant la séquence de commandes suivante :

{ echo "A"; echo "B"; } | wc -l

Comment découvrir les commandes de terminal qui changent instantanément votre expérience

L'ensemble de commandes envoie les deux sorties d'écho ensemble dans un flux unique. C'est pourquoi la commande « wc » compte les deux lignes comme un seul message et affiche 2 ; sinon, elle affiche 1 sur deux lignes distinctes.

Exemple de cas d’utilisation réel :

{ ping -c 1 example.com; ping -c 1 example.net; } > /tmp/ping.txt

En bref:

La substitution de processus remplace le processus par un chemin de fichier temporaire. Par exemple, nano <(echo “foo”) et echo “foo” > >(cat).

Les extensions de registre du shell sont des caractères spéciaux qui font référence aux éléments du registre Bash. Par exemple, !foo, !N ou !!.

Un groupe de commandes combine le résultat de plusieurs commandes en un seul. Par exemple : { echo « foo »; echo « bar »; } > /tmp/foo.txt.

Tout ce qui précède ne représente qu'une infime partie des fonctionnalités de Bash. Si vous appréciez les extensions d'historique du shell, vous adorerez notre tutoriel sur l'utilisation de la commande history. Vous pourriez également être intéressé par des astuces pour faciliter l'apprentissage de la ligne de commande.

Après avoir examiné ces commandes et astuces, Terminal devient plus qu'une simple interface, mais un outil permettant de lever les barrières et d'améliorer l'efficacité. Commencez par en mettre en œuvre une ou deux quotidiennement et constatez l'évolution de votre vitesse de réalisation et de votre satisfaction au travail. Ne vous contentez pas de lire : l'expérimentation et la répétition transforment les connaissances en compétences.

Aller au bouton supérieur