bash

Bash (Bourne-Again shell) : principe, avantages, formation

Laura P

Laura P

5 min

Bash est le shell le plus populaire, très utilisé dans le domaine de la programmation informatique, mais aussi pour la Data Science et le Machine Learning. Découvrez tout ce que vous devez savoir à son sujet : fonctionnement, utilité, avantages, formations…

Dès les débuts de l’informatique, afin de permettre aux humains d’interagir avec les ordinateurs, les ingénieurs en informatique ont développé un ” shell ” pour les ordinateurs. L’un des plus populaires est Bash : Bourne-Again Shell.

Qu'est-ce que Bash ?

Développé par la Free Software Foundation (FSF) dans le cadre du GNU Project, Bash est très réputé au sein de la communauté Open Source. Il s’agit aujourd’hui du shell UNIX le plus utilisé du fait de sa distribution avec Linux.

C’est donc un outil informatique qu’il est important de connaître et de maîtriser. C’est à la fois un interpréteur de commandes et un langage de programmation.

Bash est exécuté par différents terminaux, comme GNOME Terminal ou Konsole sur Linux et iTerm2 sur macOS. Dès lors que l’on démarre un terminal exécutant le shell Bash, un ” prompt ” apparaît. Il s’agit d’un symbole. En général, ce symbole est le signe du dollar : ” $ “. Ce ” prompt ” indique que le shell attend une entrée de commandes.

Ainsi, Bash est une application dont la fonction principale est d’exécuter d’autres applications installées sur un même système sous forme de commandes. Pour apprendre à utiliser Bash, il faut aussi apprendre les commandes utilisées sur le système d’exploitation sur lequel il est lancé.

Les commandes Bash sur Linux et Unix

Sur Linux et Unix, la plupart des commandes sont stockées par défaut dans des répertoires système comme /usr/bin et /bin. Dès lors que l’on fournit une commande à Bash, il cherche un répertoire spécifique sur le système pour vérifier si cette commande existe. Si c’est le cas, il l’exécute.

Par ailleurs, Bash lui-même est aussi une commande. Habituellement, il s’agit de la commande exécutée par défaut lorsque l’on ouvre une fenêtre de terminal ou une console de texte.

Quelques commandes font directement partie de Bash. La plupart d’entre elles sont spécifiques au scripting en Bash, mais certaines sont universelles. C’est le cas de ” cd ” pour ” changer directory ” (changer de répertoire).

Comment lancer Bash ?

La plupart des distributions Linux et Unix modernes offrent un shell Bash par défaut, puisque Bash est bien connu et offre plusieurs fonctions très pratiques que les autres shells ne proposent pas.

Toutefois, certains systèmes utilisent un autre shell par défaut. Pour savoir si vous utilisez le shell Bash, vous pouvez utiliser la commande ” echo ” avec une variable spéciale représentant le nom du processus en cours d’exécution.

Si vous n’utilisez pas Bash, mais que vous souhaiteriez le faire, il suffit de télécharger et d’installer ce shell depuis votre centre logiciel, votre répertoire logiciel ou votre arbre de ports. Vous pouvez aussi utiliser Chocolatey sur Windows ou Homebrew sur macOS.

À quoi sert Bash ?

Bash est une interface polyvalente pour votre ordinateur. Il n’est pas utilisé uniquement par les administrateurs de serveurs et les programmeurs.

Ce shell peut servir de bureau, de traitement de texte, d’application de retouche d’image et bien plus encore. Certains utilisent Bash plus qu’ils leurs applications de bureau.

Il existe en effet des centaines de commandes Bash pour Linux et Unix, et leur diversité est sans limites. Par exemple, il est possible de redimensionner ou de rogner des photos sans même l’ouvrir dans une visionneuse ou un logiciel de montage.

Les commandes ” ogg123 ” et ” mpg321 ” permettent de lancer une musique. La commande ” sox ” permet de convertir un fichier audio. La commande ” ffmpeg ” sert à éditer des vidéos, tandis que les commandes ” emacs ” et ” vim ” permettent d’éditer du texte.

De même, les commandes ” pine ” et ” mutt ” servent à consulter ses emails, tandis que la commande ” elinks ” sert à naviguer sur internet. Toutes ces commandes Bash peuvent être trouvées sur le système ou dans le répertoire logiciel.

Quels sont les avantages de Bash ?

Il existe d’autres shells aussi puissants que Bash. Cependant, celui-ci ajoute plusieurs fonctions pratiques telles que les double crochets simplifiant la syntaxe.

Certes, ces double crochets sont propres à Bash et ne sont pas compatible POSIX. Ceci peut causer des problèmes de compatibilité sur les systèmes n’exécutant pas Bash. Toutefois, ce logiciel est libre et open source et peut donc être installé sur n’importe quel système.

Le scripting Bash

La popularité de Bash est liée à ses performances. En effet, ce shell est ” scriptable “. Tout ce qui peut être entré manuellement sur Bash peut aussi être listé sur un fichier en texte plein et lancé par Bash.

Plutôt que de passer des heures à lancer manuellement des centaines de commandes, il est donc possible de scripter ces commandes et de laisser l’ordinateur les exécuter. Et puisque Linux est presque entièrement basé sur le shell Bash, presque tout peut être scripté sur Linux.

Ceci offre de nombreuses possibilités d’automatisation. Les utilisateurs de Linux gagnent un temps fou grâce au scripting en automatisant leurs propres flux de travail.

Bash pour la Data Science

Dans le domaine de la Data Science, Python et R sont des langages de programmation très utilisés. Ils font office de microscopes pour les données, en permettant d’explorer la data dans les moindres détails.

Cependant, lorsque l’on ne connaît pas encore bien les données sur lesquelles on travaille, cette approche au microscope n’est pas adéquate. Il est préférable d’utiliser un ” verre magnifiant “ offrant une simple vision rapprochée des données. Tel est le rôle de Bash dans la science des données.

Le scripting Bash permet d’effectuer des opérations avec moins de commandes qu’en Python, et beaucoup de commandes Linux disponibles sur Bash sont plus efficaces que les implémentations pouvant être effectuées sur un script de shell Python.

Ces commandes sont disponibles sur tous les OS conformes POSIX, notamment Linux et macOS. Cette portabilité se révèle très utile pour travailler sur des environnements comme les instances de calcul Cloud ou les HPC.

De manière générale, le scripting Bash est très utile pour créer des pipelines de données. C’est la raison pour laquelle il s’agit d’un outil indispensable pour les Data Scientists.

Bash pour le Machine Learning

Le Machine Learning offre de nombreuses possibilités, notamment pour la prévision ou la prédiction. Cependant, il est nécessaire de collecter et de préparer de nombreuses données puis de créer des modèles mathématiques basés sur ces données.

De nombreux outils permettent d’effectuer ces tâches, mais un shell comme Bash se révèle particulièrement pratique. L’un des principaux avantages est la portabilité entre les différents systèmes d’exploitation comme Linux, macOS et Windows.

Comment se former à Bash ?

Vous l’aurez compris, Bash est un outil incontournable pour la Data Science et le Machine Learning puisqu’il permet notamment de gagner un temps précieux pour la collecte, la préparation et l’analyse de données.

Pour apprendre à maîtriser cet outil, vous pouvez vous tourner vers DataScientest. Nous proposons de nombreuses formations aux métiers de la Data Science, et Bash fait partie des notions abordées.

La formation Data Engineer vous permet de devenir ingénieur des données. Vous apprendrez à construire des pipelines d’acquisition et de traitement automatique des données, à déployer des modèles de Machine Learning sur des serveurs en production, et à définir une stratégie Data globale.

Le shell Bash est au programme de cette formation, au sein du module dédié à la programmation. À travers ce modèle, vous apprendrez aussi à manier le langage Python.

Si vous êtes déjà Data Scientist et que vous souhaitez gagner en compétence, nous proposons aussi une formation Machine Learning Engineer. Ce cursus vous permettra d’apprendre à développer des APIs pour isoler des processus de Machine Learning, à automatiser le déploiement de processus et les pipelines de données, et à mettre en production les pipelines de Machine Learning.

Là encore, Bash est au programme du module ” programmer ” de cette formation au même titre que le langage Python avancé, Linux et les environnements virtuels. Vous pourrez donc apprendre à maîtriser ce shell dans les moindres détails.

Toutes les formations DataScientest adoptent une approche innovante de Blended Learning, et peuvent être effectuées en formation continue ou en mode BootCamp intensif. À l’issue du parcours, vous recevrez un diplôme certifié par l’Université de la Sorbonne. N’attendez plus et découvrez nos formations.

Vous savez tout sur Bash. Découvrez d’autres outils indispensables pour le Data Engineering et le Machine Learning, comme la plateforme de conteneurisation Docker ou le planificateur de tâches Apache Airflow.