Heureux d'utiliser le shell bash sous Linux? Ou préférez-vous essayer une alternative? Il y a tsch, poisson, KornShell et Z Shell à choisir. Mais lequel de ces obus Linux est le meilleur?
Qu'est-ce qu'un shell?
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 1s comme 0 ou, comme on le sait communément, code binaire ou machine Qu'est-ce que binaire? [Technologie expliquée] Qu'est-ce que binaire? [Technologie expliquée] Étant donné que le binaire est si fondamental à l'existence des ordinateurs, il semble étrange que nous n'ayons jamais abordé le sujet auparavant - alors aujourd'hui, je pensais que je donnerais un bref aperçu de ce binaire ... Lire Plus .
Un compilateur traduira alors le langage de haut niveau dans un fichier binaire comme un exécutable. Ce fichier binaire est ce que vous exécutez pour lancer cette application. Maintenant, c'est une vue de très haut niveau de ce qui se passe, mais rappelez-vous, votre ordinateur a besoin d'une couche de traduction entre ce que vous lui dites de faire et comment il peut comprendre cela.
Un shell est ce qu'on appelle un interprète. De même qu'un compilateur, un interpréteur traduit le code humain en code machine. L'une des différences est qu'un interpréteur fait cette déclaration à la fois par opposition à un compilateur qui balaie l'ensemble du programme et le traduit dans son ensemble en code machine.
Le shell, alors, est une interface pour que vous puissiez interagir avec votre système d'exploitation (OS). Lorsque vous tapez des commandes dans votre shell, le shell est responsable de l'interprétation de ces commandes et de la réalisation de la magie. Des opérations comme la copie de fichiers, la tuyauterie, la liste des fichiers sont toutes dans les attributions d'un shell. Il est également responsable de se souvenir de votre histoire de commande pour vérifier ce qui s'est passé dans votre tête à un moment d'ébriété possible.
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
1. Bash
Par un mile, le shell le plus populaire parmi les utilisateurs de Linux. Il est difficile de penser à des obus sans que le Bourne-Again SHell (bash) 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 bénéficie également de quelques décennies de développement sain.
Le prédécesseur de Bash est The Bourne Shell (sh) qui est l'un des shells Unix originaux. Une fonctionnalité intéressante pour les programmeurs sh était qu'ils pouvaient porter leurs scripts sh. Qu'est-ce que le script shell et pourquoi l'utiliser? Qu'est-ce que le script shell et pourquoi l'utiliser? En plus de pouvoir accepter et exécuter des commandes de manière interactive, le shell peut également exécuter des commandes stockées dans un fichier. C'est ce qu'on appelle un script shell. Nous abordons ici les bases du script shell. Lire plus directement à bash entièrement inchangé. Bash offre également plusieurs améliorations à son prédécesseur comme l'achèvement des commandes et l'historique des commandes.
Bash est un shell parfaitement respectable, et souvent la documentation en ligne supposera invariablement que vous l'utilisez. Cependant, bash n'est pas sans défauts - comme n'importe qui qui a déjà écrit un script bash qui couvre quelques lignes peut en attester! Ce n'est pas que vous ne pouvez pas faire quelque chose, c'est que ce n'est pas toujours particulièrement élégant de lire et d'écrire. Bash est probablement là pour rester au moins dans un proche avenir. Il dispose d'une base d'installation étendue et de brigades d'utilisateurs occasionnels et professionnels, déjà habitués à son utilisation, et de bizarreries.
2. KornShell
Connu sous le nom de ksh, KornShell est une coquille alternative issue des Bell Labs dans les années 1980. Ksh a commencé sa vie comme un logiciel propriétaire, étant la norme de facto sur les unités commerciales et n'était donc pas disponible pour Linux avant 2000. Il n'y a pas beaucoup de différences entre bash et ksh, mais chacun a des avantages mineurs sur l'autre. Ksh, par exemple, a la commande cd old new. Si vous étiez dans le répertoire / Downloads / foo / bar / one / foobar et que vous deviez vous rendre dans / Downloads / foo / bar / two / foobar, vous avez juste besoin de lancer:
cd one two
Les vétérans de ksh préconiseront sa supériorité en mentionnant ses avantages de script. Cela inclut notamment d'avoir une meilleure syntaxe de boucle, des moyens plus naturels de répéter des commandes et des tableaux associatifs à peine utilisés. Pour l'entrée de base bash est assez similaire à ksh pour les scripts avancés, cependant, c'est sûr que c'est une expérience différente. Une autre chose à garder à l'esprit est de demander de l'aide pour ksh en ligne. Cela peut impliquer de réveiller un utilisateur avancé grisonnant de son sommeil pour vous aider. Par rapport à bash, qui vous obtiendra une rafale de réponses presque immédiatement!
Si vous voulez essayer ksh, vous pouvez taper:
sudo apt install ksh ksh
3. Tcsh
Tcsh peut retracer ses racines aux premiers jours d'Unix. Il s'agit essentiellement du shell C (csh) avec l'achèvement de la ligne de commande programmable, l'édition de la ligne de commande et quelques autres fonctionnalités. Tcsh est le shell par défaut pour les systèmes basés sur BSD comme FreeBSD. Le grand argument de vente de tcsh est son langage de script, qui devrait sembler très familier à tous ceux qui ont programmé en C. Tcsh est un digne candidat à l'apprentissage si vous vous trouvez principalement en programmation C Pourquoi la programmation en C vaut toujours le Still Worth Learning C n'est pas une langue morte. En fait, le magazine IEEE Spectrum l'a classé comme la deuxième meilleure langue en 2017. Voici cinq raisons pour lesquelles. Lire la suite . Cela rend tcsh utile pour le prototypage de petits programmes C sans se perdre dans des choses comme les parenthèses que vous utilisez. Ce problème a tendance à se produire si vous passez continuellement d'une programmation C à une autre.
Les scripts de Tcsh sont adorés par certains et détestés par les autres. Mais il a aussi d'autres fonctionnalités, y compris l'ajout d'arguments aux alias, et divers paramètres par défaut qui pourraient faire appel à vos préférences. Une de ses caractéristiques significatives comprend la façon dont l'auto-complétion et le travail de complétion de l'histoire. Après avoir tiré votre histoire en tapant l' histoire . Tcsh affichera une liste numérotée de vos commandes précédentes, avec un horodatage très pratique. 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 qui a commencé avec la lettre "a". Comparativement, dans bash, vous devrez taper ! A: p pour voir d'abord la commande, suivie de !! pour l'exécuter.
Pour essayer tcsh, tapez:
sudo apt install tcsh tcsh
4. Poisson
Parmi tous les sérieux de Linux, l'équipe de poisson a intégré le sens de l'humour dans son projet. Sur leur site web, le titre ironique «Enfin, une ligne de commande pour les années 90» - poisson (« f shiendly i nteractive sh ell») a été développé en 2005. Au-delà de la fameuse «Glorious VGA Color», quelques améliorations par rapport aux autres coques. Les commandes dont la syntaxe est incorrecte s'affichent en rouge et la syntaxe correcte en bleu. De plus, il existe de nombreux compléments d'onglets, comme des suggestions auto-complétées à code couleur, basées sur votre historique.
Fish permet également de compléter les commandes en fonction des pages de manuel de votre machine. Comment raccourcir les pages Man en explications lisibles sous Linux et macOS Comment raccourcir les pages man en Explications lisibles sous Linux et macOS MacOS et Linux ont chacun une commande utile, "man" affiche des explications manuelles pour les commandes du terminal. Comme ils sont souvent longs, pourquoi ne pas utiliser l'outil tldr pour les raccourcir en morceaux lisibles? Lire la suite . Donc, si vous venez d'installer un nouveau programme et que vous avez besoin de vous habituer à sa syntaxe, fish saisira la syntaxe de la page man et l'ajoutera à vos suggestions d'auto-complétion. Soigné! Si vous souhaitez vous familiariser avec la ligne de commande, le poisson peut être un excellent point de départ.
Pour échantillonner le poisson, tapez:
sudo apt install fish fish
5. Z Shell
Beaucoup considéreraient que cela laisse la meilleure coquille pour la fin, ce qui serait tout à fait compréhensible. Zsh a des similarités avec bash et ksh et incorpore de nombreuses fonctionnalités qui y sont présentes ainsi que tcsh. Certaines fonctionnalités utiles de zsh comprennent une liste d'autocomplétion navigable. Contrairement à bash qui liste simplement toutes les commandes disponibles et vous oblige à le taper manuellement. Globbing dans zsh est inexplicablement utile. Dactylographie:
vim /u/l/b/a
Ouvre automatiquement le fichier:
/usr/local/bin/autoupdate.sh
La correction orthographique dans zsh est de loin supérieure à celle de bash. Dans une commande cd, bash peut corriger jusqu'à un caractère. Zsh, d'autre part, peut être configuré pour corriger automatiquement 10 fautes d'orthographe en un seul mot. Zsh cloue également les historiques de ligne de commande. Ceci est extrêmement utile pour les utilisateurs qui passent trop de temps sur le terminal. Zsh partage magiquement l'histoire entre les terminaux, rendant les sessions multi-terminaux un jeu d'enfant.
Zsh peut prendre un certain temps à configurer lors de la première utilisation si vous n'allez pas avec la configuration par défaut. Pour essayer, entrez:
sudo apt install zsh zsh
Quelle coque est pour moi?
Le fait que ces options sont disponibles est génial. Ils sont un aperçu de l'histoire de l'informatique elle-même, où les programmeurs ont décidé qu'ils voulaient faire les choses à leur manière et, éventuellement, les libérer pour le monde.
Les différences substantielles entre ces coquilles peuvent être trouvées dans la syntaxe de script. Chaque coquille a un ensemble particulier de nuances qui les séparent les uns des autres. À l'heure actuelle, bash domine en termes de part de marché, ce qui rend l'aide beaucoup plus simple. Bash est simplement le meilleur all-rounder, répondant aux besoins de tous, sauf les utilisateurs les plus avancés.
Quelle coque utilisez-vous actuellement? Avez-vous essayé un shell autre que bash? Qu'aimez-vous ou détestez-vous à propos de votre shell actuel? Partagez votre opinion dans les commentaires ci-dessous!
Crédit d'image: spaxiax / Depositphotos