Les jours des commandes cryptiques et de la syntaxe rigide sont révolus. Pourquoi passer plus de temps à déchiffrer les pages de manuel qu’à écrire des scripts ou à naviguer dans votre système ? Adoptez la puissance et la simplicité de l’interpréteur de commandes fish, votre billet pour une expérience Linux plus fluide et plus intuitive.
Apprenez à transformer votre parcours Linux avec l’interpréteur de commandes fish, de son interface conviviale à ses nombreuses options de personnalisation.
Dites bonjour à des flux de travail rationalisés et à une confiance retrouvée dans vos compétences Linux !
Prérequis
Avant de commencer, prenez un moment pour vous assurer que vous avez couvert les éléments essentiels suivants pour suivre ce tutoriel :
- L’interpréteur de commandes fish est installé sur votre machine – Ce tutoriel utilise fish-3.7.0, la dernière version à ce jour.
- A Linux system – This tutorial uses an Ubuntu 22.04 LTS for demonstrations, but other distributions will work.
Exploration des validations de commande, de l’auto-complétion et des suggestions
Avec l’interpréteur de commandes fish installé, plongez dans l’interpréteur de commandes fish pour des exécutions de commandes transparentes. L’interpréteur de commandes fish offre des retours en temps réel et des suggestions contextuelles pour les commandes, les noms de fichiers et les arguments.
Mais d’abord, vous devrez accéder à l’interpréteur de commandes fish avant d’examiner les validations de commande, l’auto-complétion et les suggestions.
Pour explorer cette fonctionnalité qui vous permet d’identifier et de corriger les erreurs avant même de les exécuter, effectuez les étapes suivantes :
1. Ouvrez un terminal et exécutez la commande fish
ci-dessous pour accéder à l’interpréteur de commandes fish.

2. Ensuite, tapez la première lettre de la commande ls
pour tenter de lister tous les fichiers de votre répertoire actuel.
Comme indiqué ci-dessous, la lettre ‘l‘ devient rouge car l’interpréteur de commandes fish ne la reconnaît pas comme une commande valide. Cet indice visuel immédiat indique qu’il y a quelque chose qui ne va pas avec la commande.
Mais ne vous inquiétez pas ! Grâce à la suggestion automatique, la lettre ‘s‘ apparaît atténuée, suggérant la commande correcte.

3. Maintenant, appuyez sur la flèche droite ou les touches Ctrl+F pour accepter la commande auto-suggérée ls
.
Remarquez que la lettre ‘l’ est passée du rouge au bleu car l’interpréteur de commandes fish reconnaît désormais votre commande comme étant ls
.

Définition des Alias de Commande dans le Fichier de Configuration Fish
En plus des retours d’informations en temps réel et des suggestions contextuelles, fish offre un moyen puissant et flexible de personnaliser votre environnement en ligne de commande – le fichier de configuration fish. Contrairement à d’autres interpréteurs de commandes qui peuvent utiliser plusieurs fichiers de configuration, fish utilise principalement un seul fichier appelé config.fish situé dans le répertoire ~/.config/fish/.
Pour voir comment les configurations affectent l’interpréteur de commandes fish, commencez par définir des alias de commandes comme suit :
1. Ouvrez le fichier de configuration fish en utilisant votre éditeur de code ou de texte préféré, comme nano
ou vim
, mais ce tutoriel utilise le premier.
Une fois ouvert, vous verrez le contenu initial du fichier de configuration de l’interpréteur de commandes Fish, qui peut contenir des configurations par défaut ou être relativement vide. Cet état initial dépend de si vous ou le processus de configuration de votre système avez précédemment ajouté des configurations.
Le fichier peut uniquement inclure des commentaires ou des blocs conditionnels de base pour les nouvelles installations, comme celui ci-dessous.

2. À l’intérieur du bloc if
, ajoutez la fonction
suivante, enregistrez les modifications et fermez l’éditeur.
À ce stade, vous créez des paramètres personnalisés dans le fichier de configuration de Fish, et cette fonction définit un alias (c
) pour la commande clear
.
? Remarque : Chaque fonction définie a un fichier .fish correspondant dans le répertoire ~/.config/fish/functions/ (c’est-à-dire c.fish).

clear
command3. Exécutez la commande suivante pour sourcer
le fichier de configuration (config.fish
).
Cette commande n’a pas de sortie dans le terminal mais applique les modifications de configuration à votre session actuelle.
? Ce fichier de configuration de fish est exécuté automatiquement chaque fois qu’une nouvelle session fish est démarrée et constitue l’endroit idéal pour définir des personnalisations de shell.
4. Ensuite, tapez c
dans l’invite pour vérifier vos modifications.
Remarquez que la lettre ‘c‘ devient bleue car le shell fish la reconnaît comme la commande clear
. Ce comportement indique un changement réussi dans la configuration de fish.
Vous voyez comment la lettre ‘c’ devient bleue ? Ce changement est dû au fait que le shell fish reconnaît la lettre ‘c’ comme la commande clear
. Ce comportement signale une mise à jour réussie de votre configuration de fish.
Maintenant, pourquoi ne pas configurer quelques alias supplémentaires pour ces commandes de confiance auxquelles vous revenez toujours quand l’envie vous prend ?

clear
command worksPersonnalisation de l’invite du Shell Fish
En plus de configurer des alias pour des opérations plus fluides, fish vous donne le pouvoir de personnaliser votre invite, comme ajouter une touche personnelle à votre shell. Au lieu de longs chemins de répertoire, profitez d’une invite plus propre et plus organisée.
Pour personnaliser l’invite du shell fish, exécutez les actions suivantes :
1. Ouvrez le fichier de configuration de fish (~/.config/fish/config.fish), et ajoutez la fonction suivante.
Cette fonction personnalise votre invite de shell fish pour afficher (echo
) un signe dollar ($
) suivi d’un espace.

2. Enregistrez les modifications dans le fichier de configuration de fish et quittez l’éditeur.
3. Maintenant, source
le fichier de configuration pour appliquer vos modifications.
Une fois sourcé, vous verrez les changements d’invite comme dans la capture d’écran suivante.

Conservation des modifications entre les sessions
Vous avez vu comment créer des personnalisations dans l’invite de commande fish. Mais une chose à noter : ces paramètres ne sont disponibles que dans la session en cours.
Que se passe-t-il une fois que vous fermez la session en cours et en ouvrez une nouvelle ? Pouf ! Vos configurations méticuleusement élaborées ont disparu — dommage, n’est-ce pas ? Mais ne vous inquiétez pas, il y a encore de l’espoir. Laissez la commande funcsave
sauver vos configurations de l’oubli !
Pour conserver vos configurations entre les sessions, procédez comme suit :
1. Ouvrez le fichier de configuration de fish, et ajoutez la commande funcsave
à chaque function
avec le nom de la fonction, comme ceci :

funcsave
command to persist functions across sessions2. Enregistrez vos modifications, et fermez l’éditeur et le terminal.
3. Ouvrez une nouvelle session de terminal, et exécutez la commande fish
ci-dessous pour accéder à l’invite de commande fish.
Si les commandes funcsave
que vous avez ajoutées fonctionnent pour persister vos configurations, vous verrez des messages comme ceux ci-dessous.

Définir et persister les variables d’environnement
Bien que les fonctions de persistance soient formidables, la gestion des valeurs accessibles globalement élève le scripting shell d’un cran – en définissant des variables d’environnement. Contrairement aux shells traditionnels qui reposent sur export
, fish utilise set
avec des options pour contrôler la portée de la variable et le comportement d’exportation.
Mais il y a un hic, vous savez? Ah, vous l’avez deviné! Une variable définie via la commande set
dans le terminal n’est accessible que dans la session en cours.
Pour définir et persister les variables d’environnement, le drapeau -gx
sera utile comme suit:
1. Ajoutez la commande suivante pour définir
la variable MY_VARIABLE
dans le fichier de configuration fish en tant que globale. Voici comment fonctionne le drapeau -gx
:
-g
– Rend la variable globale, accessible depuis n’importe quelle portée dans le même environnement utilisateur.-x
– Exporte la variable, la rendant disponible pour toutes les commandes externes ou les programmes lancés depuis fish.

2. Enregistrez les modifications de configuration, puis fermez l’éditeur et le terminal.
3. Ouvrez une nouvelle session terminal, accédez au shell fish, et exécutez la commande suivante pour confirmer les changements.
La sortie ci-dessous confirme que les changements ont pris effet à travers les sessions.

4. Une fois confirmé, ajoutez la commande set
suivante au fichier de configuration de fish, sauvegardez les modifications et fermez l’éditeur.
Cette commande rend la variable MY_UNIVERSAL_VARIABLE
globale à travers toutes les sessions, même après les redémarrages.
Voyez comment le drapeau -Ux
fonctionne ci-dessous :
-U
– Rend la variableMY_UNIVERSAL_VARIABLE
universelle, assurant qu’elle est partagée à travers toutes les sessions de terminal actuelles et futures, y compris celles de différents utilisateurs.-x
– La variable est exportée vers les processus enfants, la rendant accessible à toutes les commandes ou scripts invoqués depuis la session actuelle.

5. Ouvrez une nouvelle session de terminal, accédez à l’interpréteur de commandes fish et exécutez la commande echo
ci-dessous pour vérifier les modifications.
Si tout se passe bien, vous obtiendrez la sortie suivante, indiquant que les changements ont pris effet à travers les sessions.

? Outre le fichier de configuration de fish, exploitez
fish_config
dans le terminal pour des personnalisations rapides et automatiques. Cette commande lance une interface web dans votre navigateur, permettant des ajustements rapides de l’invite de commandes, des réglages et de la gestion des fonctions et des variables dans une configuration conviviale.
Gestion des plugins Fish avec le gestionnaire de paquets Fisher.
La coquille de poisson est impressionnante par elle-même, n’est-ce pas ? Mais devine quoi ? Lorsque vous commencez à intégrer des plugins, elle devient encore plus puissante. Ces plugins étendent les capacités de la coquille de poisson, apportant de nouvelles commandes, utilitaires et intégrations pour améliorer significativement votre expérience en ligne de commande.
Un bon exemple est Fisher, un gestionnaire de paquets conçu pour la coquille de poisson. Ce plugin est conçu avec la performance et la simplicité à l’esprit, et il est léger.
? Fisher est léger dans la gestion des plugins de la coquille de poisson et ne peut pas être directement comparé aux gestionnaires de paquets au niveau du système. Cette distinction est évidente en ce qui concerne la taille et la complexité des paquets qu’il gère.
Pour gérer les plugins de poisson, vous devez d’abord installer Fisher en suivant les étapes suivantes :
Ouvrez votre terminal, accédez à la coquille de poisson et exécutez la commande suivante pour télécharger et installer Fisher. Cette commande récupère le script d’installation de Fisher et le passe à source
, qui exécute le script dans la session actuelle de la coquille de poisson via curl
.
Une fois installé, vous verrez la sortie suivante.

Maintenant, exécutez la commande fisher
ci-dessous pour confirmer l’installation en affichant la --version
actuellement installée de Fisher sur votre système.

Installation du plugin GitNow
Maintenant que vous avez Fisher en cours d’exécution, que faites-vous ensuite ? Que diriez-vous de renforcer votre shell fish avec quelques plugins cool ? GitNow, par exemple, est une boîte à outils qui booste votre flux de travail Git dans le shell fish, tentant.
GitNow offre des commandes rationalisées pour les tâches Git courantes, améliorant la productivité et simplifiant votre routine de commandes Git.
Pour installer GitNow à l’aide du gestionnaire de paquets Fisher, suivez ces étapes :
1. Dans votre shell fish, exécutez la commande fisher
suivante pour installer
le plugin GitNow (joseluisq/gitnow
).
Cette commande indique à Fisher de récupérer et d’intégrer GitNow dans votre configuration fish, rendant sa gamme de raccourcis Git immédiatement disponible.

2. Une fois installé, exécutez la commande gitnow
ci-dessous pour confirmer que GitNow est correctement installé.
Cette commande affiche la version actuellement installée de GitNow, mais uniquement si les commandes GitNow sont reconnues dans votre shell.

3. Enfin, exécutez cette commande fisher
pour list
er tous les plugins gérés par Fisher, y compris GitNow.
Vous pouvez voir ci-dessous le plugin GitNow et le plugin Fisher lui-même.

Suppression des Plugins du Shell Fish
Votre shell fish est-il submergé par les plugins ? Comme si vous deviez trier le fouillis pour trouver ce dont vous avez besoin ? Nettoyez votre environnement shell fish en supprimant les plugins inutiles.
Pour supprimer un plugin géré par Fisher dans votre shell fish, suivez ces étapes :
1. Exécutez la commande suivante pour list
tous les plugins actuellement installés.
Choisissez-en un dans la liste que vous souhaitez supprimer.

2. Ensuite, exécutez la commande fisher remove
ci-dessous, suivie du nom du plugin (joseluisq/gitnow
) à supprimer.
Cette commande indique à Fisher de désinstaller le plugin GitNow de votre environnement shell fish.

3. Maintenant, exécutez à nouveau la commande fisher list
pour confirmer que le plugin GitNow a été supprimé avec succès.
Le plugin GitNow ne devrait plus apparaître dans la liste des plugins installés.

Désinstallation du gestionnaire de paquets Fisher
Comme vous l’avez vu, le gestionnaire de paquets Fisher est vraiment pratique. Mais le désinstaller peut être votre meilleur choix si vous n’êtes pas satisfait ou rencontrez des problèmes avec Fisher.
Pour désinstaller complètement Fisher de votre shell fish, suivez les étapes suivantes :
Exécutez la commande ci-dessous pour list
et remove
fisher
et tous les plugins installés via Fisher.

Alternativement, exécutez la commande suivante pour remove
uniquement fisher
lui-même.

Exploration du gestionnaire de paquets Oh My Fish
Lorsque vous naviguez déjà avec Fisher, pourquoi envisager Oh My Fish? Vous avez déjà expérimenté la puissance des plugins de shell fish avec Fisher. Mais voici le truc : ce framework ouvre un nouveau domaine de personnalisation pour le shell fish, offrant une vaste collection de thèmes et de plugins.
Pour découvrir ce que Oh My Fish a en réserve pour vous, installez d’abord ce gestionnaire de paquets avec la commande suivante :
Exécutez la commande curl
suivante pour télécharger et exécuter le script d’installation de Oh My Fish (https://get.oh-my.fish
) dans le shell fish
.
Si réussi, vous obtiendrez une sortie similaire à ce qui suit.

Une fois installé, exécutez la commande omf
suivante pour vérifier la version installée de Oh My Fish.
A successful response, as shown below, indicates that Oh My Fish is ready and waiting to transform your fish shell experience.

Personnalisation de l’environnement avec les thèmes Oh My Fish
En avez-vous assez du même aspect classique du shell fish? Pourquoi ne pas ajouter une touche de personnalité? Donnez un coup de neuf à votre environnement shell fish avec des thèmes frais et personnalisés provenant de Oh My Fish.
Pour personnaliser votre environnement shell fish, vous devez installer des thèmes en suivant ces étapes :
1. Ouvrez le fichier de configuration fish et supprimez la fonction fish_prompt
qui définit l’affichage de votre invite. Cela garantit que l’invite personnalisée que vous avez définie ne entre pas en conflit avec ou remplace les thèmes fournis par Oh My Fish.
? Les thèmes sont livrés avec des invites uniques cruciales pour leur apparence et leur fonctionnement. Désactiver votre invite personnalisée (
fish_prompt
) garantit que le thème Oh My Fish que vous avez choisi intègre pleinement son design et ses fonctionnalités dans votre shell fish.
2. Ensuite, supprimez (rm
) le fichier ~/.config/fish/functions/fish_prompt.fish
. Cette commande n’a pas de sortie, mais la suppression de ce fichier garantit que le shell fish revient à son invite par défaut.
3. Exécutez cette commande source
pour que les modifications apportées au fichier de configuration de fish prennent effet.

4. Maintenant, exécutez la commande omf
suivante pour découvrir le thème parfait
pour votre shell fish.
Choisissez un thème que vous souhaitez intégrer dans le shell fish (par exemple, cbjohnson).
? Visitez le dépôt GitHub officiel des thèmes Oh My Shell pour voir à quoi ressemble chaque thème avant de les installer.

? Améliorez votre shell fish avec des plugins en exécutant la commande suivante pour installer des plugins. Visitez le dépôt GitHub de OMF pour une liste de plugins à installer.
omf install <nom_du_plugin>
5. Ensuite, exécutez la commande ci-dessous pour installer
le thème que vous avez choisi à l’étape quatre (cbjohnson
).
Une fois installé, votre invite change immédiatement, comme suit.

? Conseil : Passez rapidement d’un thème à un autre lorsque vous en avez deux ou plus en exécutant la commande suivante.
omf theme <nom_du_thème>
Désinstallation d’Oh My Fish
Oh My Fish est un bijou pour rehausser l’ambiance de votre shell. Mais si vous souhaitez changer de décor ou essayer quelque chose de nouveau, désinstaller Oh My Fish donne à votre shell fish un nouveau départ.
Pour désinstaller Oh My Fish, suivez les étapes suivantes :
1. Exécutez les commandes rm
suivantes pour supprimer tous les fichiers liés à Oh My Fish.
Une fois supprimé, vous verrez votre thème initialement installé disparaître.

2. Ensuite, exécutez chaque commande ci-dessous pour supprimer d’autres fichiers liés à Oh My Fish.
Ces commandes n’ont pas de sortie, mais la suppression de ces fichiers garantit que tous les restes d’Oh My Fish sont supprimés de votre système.
3. Maintenant, exécutez la commande omf
ci-dessous pour vérifier la suppression.
Vous verrez une erreur comme ci-dessous, indiquant que la commande omf
n’est pas trouvée et qu’Oh My Fish a été complètement désinstallé.

Paramétrer Fish comme Shell par Défaut
Si vous avez apprécié l’expérience avec le shell fish améliorant votre expérience Linux, pourquoi ne pas le définir comme votre shell par défaut ? De cette façon, vous vous épargnez la peine de changer à chaque fois que vous lancez un nouveau terminal.
Pour définir fish comme votre shell par défaut, suivez les étapes suivantes :
1. Exécutez la commande ci-dessous pour trouver le chemin de la coquille fish
.
Copiez le chemin dans le presse-papiers, car vous en aurez besoin dans les étapes suivantes.

2. Ensuite, exécutez la commande suivante pour ajouter fish à la liste des coquilles acceptables dans /etc/shells
.

3. Enfin, exécutez la commande chsh
ci-dessous pour changer votre coquille par défaut en fish (/usr/bin/fish
).
Lorsque vous redémarrez votre machine, vous aurez fish comme coquille par défaut.

? Astuce : Revenez de fish à une autre coquille comme Bash comme coquille par défaut en répétant toutes les étapes de cette section. Assurez-vous de spécifier le chemin vers Bash dans les étapes deux et trois, puis redémarrez votre machine pour que les modifications s’appliquent.
Conclusion
Tout au long de ce tutoriel, vous avez plongé dans l’essence de la coquille fish, découvrant ses fonctionnalités puissantes et ses options personnalisables. De la définition d’alias à la personnalisation des invites et à la persistance des variables d’environnement en passant par la gestion des plugins, la coquille fish a été votre fidèle compagnon.
Vous avez acquis des connaissances sur la transformation de votre expérience Linux avec le gestionnaire de paquets Oh My Fish. De plus, vous avez appris comment découvrir et installer facilement de nouveaux plugins et thèmes, élargissant ainsi la fonctionnalité et l’esthétique de votre environnement fish shell.
Maintenant que vous avez exploré les bases de l’interpréteur de commandes fish, plongez plus profondément et débloquez tout son potentiel. Pourquoi ne pas expérimenter avec des invites personnalisées comme Powerline ou Starship pour donner à votre shell une touche personnalisée?