Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

Main /

shell - interpréteur de commandes

Page mise à jour le 08/07/2022 12:15

Présentation

Le shell est un interpréteur de commandes permettant à l'utilisateur, ou un script, de commander au système d'exploitation [OS].

Chaque ordinateur peut avoir un, ou plusieurs, shell.

Exemple: DOS ou PowerShell pour Windows, sh ou bash pour MacOS, Linux ou autres systèmes UNIX.

shell UNIX

Le shell UNIX est un programme avec les caractéristiques suivantes:

  • un mon, par exemple BASH ou SH ou encore CSH. Le plus utilisé actuellement est BASH
  • un environement de travail avec des variables, fonctions ...
  • le canal input pour lire les commandes venant de l'utilisateur, ou du script à exécuter (voir | plus loin)
  • le canal output pour écrire les résultats de ces commandes
  • le canal error pour afficher d'éventuelles erreurs
  • des mécanismes de manipulations des canaux: les redirections
  • des commandes internes
  • des binaires externes

L’ancêtre de tous est SH, le Bourne shell. il est installé de base sur tout système UNIX (ou un shell compatible)

Bourne shell

Variables principales

  • SHELL: chemin du shell
  • PATH: listes des repertoires pour trouver les binaires externes

Pour lister les variables avec help variables

Commandes internes

  • cd: changer de repertoire
  • echo: ecrire sur le canal @@output@
  • read: lire de canal input
  • if, case, while ... : permettant de faire des scripts complexes.

La liste de commandes internes est disponible via la commande help

Redirections

Les redirections permettant de manipuler les canaux, ou même d'en crées de nouveaux.

Exemples:

  • > : rediriger un script vers un fichier
    mon_scripot > mon_fichier
    cette commande fait
    • lit intput
  • |: chaîner plusieurs script
    script1 | script2
    Cette redirection fait ceci:
    • execute script1 et script2 en parallèle dans des sous shells (chacun le sien)
    • colle output de script1 avec input de script2
    • afficher error de script1 et error de script2 sur error du shell courant
    • affiche output de script2 sur output du shell courant

Voir man bash pour de détail

binaires externes

Ces binaires, aussi nommés binutils coreutils suivant les distributions ou Unix, sont les « vraies » outils pour interagir avec l'OS. Ces commandes ne dependent pas du shell utilisé.

Ce sont des commandes standards d'un environnement UNIX.

  • ls: liste des fichiers du répertoire courant
  • cat: afficher de contenu d'un fichier

Les commandes standards sont dans /bin et /ubr/bin

ls /bin /usr/bin

La commande man <commande externe>, si elle est installée, fourni une doc sur la commande en paramètre

man ls

À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 08/07/2022 12:15