FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Quel shell Linux est le meilleur ? 5 coquilles communes comparées

Heureux d'utiliser le shell bash sous Linux ? Ou préférez-vous essayer une alternative ? Vous avez le choix entre tsch, fish, KornShell et Z Shell. Mais lequel de ces shells Linux populaires est le meilleur ?

Qu'est-ce qu'un shell Linux ?

Habituellement, lorsque vous écrivez une application, cela se fait dans un langage de haut niveau que les humains peuvent comprendre. Des exemples de ceux-ci sont C #, Java, C ++, etc. Croyez-le ou non, votre ordinateur voit tout comme des 1 comme des 0 ou, comme on l'appelle communément, du code binaire ou machine.

Un compilateur traduira alors le langage de haut niveau en un fichier binaire comme un exécutable. Ce fichier binaire est ce que vous exécutez pour lancer ladite application.

Maintenant, c'est une vue de très haut niveau de ce qui se passe; n'oubliez pas que votre ordinateur a besoin d'une couche de traduction. Cela se situe entre ce que vous lui dites de faire et comment il peut comprendre cela.

Un shell est ce qu'on appelle un interpréteur. Semblable à un compilateur, un interpréteur traduit le code humain en code machine. L'une des différences est qu'un interprète fait cette déclaration une à la fois. Pendant ce temps, un compilateur analyse l'intégralité du programme et le traduit en code machine.

Le shell est donc une interface qui vous permet d'interagir avec votre système d'exploitation (OS). Lorsque vous tapez des commandes dans le shell, il est responsable de l'interprétation de ces commandes et de la réalisation de la magie. Les opérations telles que la copie de fichiers, la canalisation, la liste de fichiers relèvent toutes de la compétence d'un shell.

Plusieurs shells Linux sont disponibles. Pour connaître tous les shells disponibles sur votre système, ouvrez le terminal et tapez :

cat /etc/shells 

Pour savoir quel shell vous utilisez actuellement, tapez :

echo $0 
Quel shell Linux est le meilleur ? 5 coquilles communes comparées

Mais utilisez-vous le meilleur shell Linux ? Regardons ce qui est disponible.

1. Frapper

C'est de loin le shell le plus populaire parmi les utilisateurs de Linux. Il est même difficile de penser aux obus sans que le Bourne-Again Shell (bash) ne fasse partie de l'équation. De nombreuses distributions Linux sont livrées avec bash comme shell par défaut car bash est le shell GNU par défaut. Sorti en 1989, il compte également quelques décennies de développement sain derrière lui.

Le prédécesseur de Bash est The Bourne Shell (sh) qui est l'un des shells Unix originaux. Une caractéristique attrayante pour les programmeurs sh était qu'ils pouvaient porter leurs scripts directement sur bash sans aucun changement. Bash propose également plusieurs améliorations par rapport à son prédécesseur :

  • Achèvement de la commande
  • Historique des commandes

Souvent, la documentation en ligne supposera que vous utilisez bash. Cependant, ce n'est pas sans défauts --- comme n'importe qui ayant déjà écrit un script bash peut en témoigner ! Ce n'est pas que vous ne pouvez pas faire quelque chose, c'est que ce n'est pas toujours particulièrement élégant à lire et à écrire.

2. KornShell

Quel shell Linux est le meilleur ? 5 coquilles communes comparées

Communément appelé ksh, KornShell est un shell Linux alternatif populaire qui a vu le jour dans les Bell Labs dans les années 1980. Il n'y a pas beaucoup de différences entre bash et ksh, mais chacun a des avantages mineurs par rapport à l'autre. Ksh, par exemple, a la commande cd old new. Si vous étiez dans le répertoire /Downloads/foo/bar/one/foobar et vous deviez accéder à /Downloads/foo/bar/two/foobar il vous suffit de saisir :

cd un deux 

Les vétérans de ksh prôneront sa supériorité en mentionnant ses avantages en matière de script. Ceux-ci incluent :

  • Meilleure syntaxe de boucle
  • Manières naturelles de répéter les commandes
  • Tableaux associatifs

Contrairement à bash, il est difficile de trouver de l'aide pour ksh en ligne. Si vous voulez essayer ksh, vous entrez :

sudo apt install ksh 
ksh

3. Tcsh

Quel shell Linux est le meilleur ? 5 coquilles communes comparées

Tcsh peut retracer ses racines jusqu'aux premiers jours d'Unix. Il s'agit d'une version améliorée du shell C (csh) et des fonctionnalités :

  • Complétion programmable en ligne de commande
  • Modification de la ligne de commande
  • Ajouter des arguments aux alias
  • Accès facile à l'historique des commandes

Vous pouvez exécuter n'importe quelle commande en tapant !n en remplaçant n par son numéro correspondant dans l'historique affiché. L'achèvement de l'onglet Historique dans tcsh fonctionne en tapant :

!a 

Cela s'étend à la dernière commande commençant par la lettre "a". Comparativement, en bash, il faudrait taper !a:p pour voir d'abord la commande, suivie de !! pour l'exécuter.

Pour essayer tcsh, tapez :

sudo apt install tcsh 
tcsh

Tcsh est le shell par défaut pour les systèmes basés sur BSD comme FreeBSD. Le principal argument de vente de tcsh est son langage de script, utile à tous ceux qui programment principalement en C. Cela rend tcsh utile pour prototyper de petits programmes C sans se confondre avec des éléments tels que les crochets que vous utilisez. Ce problème a tendance à se produire si vous basculez continuellement entre la programmation C et les scripts shell.

4. Poisson

Quel shell Linux est le meilleur ? 5 coquilles communes comparées

Parmi tout le sérieux de Linux, l'équipe de fish a intégré un sens de l'humour dans son projet. Sur leur site Web, le titre ironique se lit "Enfin, un shell en ligne de commande pour les années 90" bien que le poisson ("f amicalement je sh interactif ell") a été développé en 2005. Au-delà de la fameuse "Glorious VGA Color", il y a quelques améliorations par rapport aux autres coques :

  • Les commandes avec une syntaxe invalide s'affichent en rouge
  • La syntaxe correcte apparaît en bleu
  • Suggestions de saisie semi-automatique
  • Achèvement de la commande basé sur les pages de manuel de votre machine.

Cette fonctionnalité ajoute la syntaxe de la page de manuel du logiciel nouvellement installé à vos suggestions de saisie semi-automatique. Si vous souhaitez vous familiariser avec la ligne de commande, fish peut être un excellent point de départ.

Pour découvrir ce qu'est le poisson, tapez :

sudo apt install fish 
poisson

5. Coque Z

Quel shell Linux est le meilleur ? 5 coquilles communes comparées

Beaucoup considéreraient que cela laisse la meilleure coquille pour la fin, ce qui serait tout à fait compréhensible. Zsh présente des similitudes avec bash et ksh et intègre de nombreuses fonctionnalités qu'ils contiennent ainsi que tcsh. Fonctionnalités de Zsh :

  • Liste de saisie semi-automatique navigable
  • Correction orthographique supérieure
  • Complétion de la ligne de commande
  • Historique partagé entre les terminaux
  • Globbing (caractères génériques pour les noms de fichiers)

Globbing en zsh est très utile. Saisie :

vim /u/l/b/a 

Ouvrirait le fichier :

/usr/local/bin/autoupdate.sh 

Zsh peut prendre un certain temps à configurer lors de la première utilisation si vous n'utilisez pas la configuration par défaut. Pour essayer, entrez :

sudo apt installer zsh 
zsh

Quel shell Linux me convient le mieux ?

Le fait que ces options soient disponibles est génial. Chacun est un aperçu de l'histoire de l'informatique, où les programmeurs ont décidé qu'ils voulaient faire les choses à leur manière.

Les différences substantielles entre ces shells se trouvent dans la syntaxe des scripts. Chaque coquille a un ensemble particulier de nuances qui les séparent les unes des autres. Dans l'état actuel des choses, bash domine en termes de part de marché, ce qui rend la recherche d'aide beaucoup plus simple. Bash est tout simplement le meilleur outil polyvalent, répondant aux besoins de tous les utilisateurs, sauf les plus avancés.

Lorsque vous avez opté pour un shell Linux, assurez-vous de connaître les bases des scripts shell.


[]