denise@cluster:~$ ls documents images projets denise@cluster:~$
| Retrouvez en vidéo l’introduction à Linux et ses commandes, ainsi que des exercices pour vous entraîner ! |
Un terminal (aussi appelé ligne de commande) est une interface texte qui permet de communiquer directement avec un ordinateur ou un serveur en saisissant des commandes textuelles. Contrairement aux interfaces graphiques (avec des icônes et des fenêtres), le terminal ne fonctionne qu’avec des commandes écrites.
Historiquement, avant l’arrivée des interfaces graphiques, le terminal était le seul moyen d’utiliser un ordinateur.
Exemple de terminal, Denise liste ce qu’elle a dans son homedirectory (~) :
denise@cluster:~$ ls documents images projets denise@cluster:~$
Le terminal utilise un programme appelé shell qui interprète et exécute les commandes tapées par l’utilisateur. Le shell le plus utilisé sous Linux s’appelle Bash (Bourne Again SHell). C’est celui par défaut sur le cluster.
Le shell permet :
D’exécuter des commandes.
De créer des scripts (programmes simples formés d’enchaînement de commandes) pour automatiser des tâches.
De gérer l’environnement de travail (variables d’environnement, historique des commandes, etc.).
# Afficher le contenu d'un fichier cat resultats.txt # Se déplacer dans un répertoire cd /home/alice/projets # Lancer un programme de calcul scientifique ./simulation_climat
Les clusters HPC utilisent presque exclusivement le terminal pour plusieurs raisons :
Un terminal consomme très peu de ressources en terme de flux réseau par rapport à une interface graphique. Sur un cluster HPC, les utilsateurs peuvent être à des milliers de km et avoir un réseau avec une grande latence ce qui rendrait l’interface graphique inutilisable.
Le terminal permet d’effectuer des opérations complexes avec quelques commandes simples. Il offre un contrôle précis de l’environnement de calcul :
Lancement et arrêt précis des tâches scientifiques.
Manipulation de fichiers extrêmement performante via les commandes grep, cut, sed et awk
Automatisation aisée de multiples tâches via des scripts Bash ou des boucles (forou while).
La plupart des clusters HPC ne sont pas accessibles physiquement, mais uniquement via le réseau. Le terminal permet un accès distant simple et sécurisé, même avec une faible connexion internet, grâce à des outils comme SSH (Secure Shell).
ssh denise@io-login.meso.umontpellier.fr
Voici des commandes fréquemment utilisées en HPC :
| Commande | Signification |
|---|---|
|
Ouvrir le manuel, |
|
Lister le contenu d’un répertoire |
|
Afficher le répertoire courant |
|
Changer de répertoire |
|
Créer un nouveau répertoire |
|
Supprimer un fichier |
|
Copier un fichier |
|
Déplacer ou renommer un fichier |
|
Afficher le contenu d’un fichier |
|
Éditer un fichier texte directement depuis le terminal |
Le prompt: L’invite de commande, ou "prompt", est le texte qui apparaît au début de chaque ligne dans le terminal. Il indique que le terminal est prêt à recevoir une commande. Il peut ressembler à ceci : denise@io-login-01:~ ou denise@io-login-01:/chemin/actuel. Le prompt a une structure par défaut sur le cluster. Vous pouvez la personnaliser en modififiant le fichier .bash_rc
Très léger, rapide, et consomme peu de ressources.
Offre un contrôle fin et précis du système et des tâches scientifiques.
Facilite l’automatisation des tâches répétitives grâce aux scripts.
Permet l’accès distant sécurisé au cluster.
Maîtriser les rudiments du terminal et de Bash est essentiel pour exploiter pleinement la puissance d’un cluster HPC.