cours de bash _1


  1. Shell  Bash 

  2.  Introduction 

  3. Les  distributions  actuelles  de  GNU/Linux  offrent  à  l’utilisateur  un  environnement  graphique   équivalant  aux  systèmes  d’exploitation  propriétaires  du  marché.  Mais  cette  ergonomie    et confort  d’utilisation  sous  Linux  pour  l’utilisateur  débutant  n’est  réellement  présente  que depuis  quelques  années.  Les  distributions  actuelles  GNU/Linux  rivalisent  même d’environnement  graphique  très  divers  et  avancés  avec  l’introduction  de  la  3D  et  le  support  de l’accélération  des  cartes  graphiques.  Ceci  à  permis  aux  systèmes  sous  GNU/Linux  de  se démocratiser  dans  le  grand  public  avec  l’apparition  des  mini-laptop  et  sur  les  postes bureautique  pour  sa  sécurité,  Linux  étant  auparavant  souvent  considéré  pour  des  «  érudits  » ou  experts  en  informatique. L’historique  des  systèmes  sous  Linux  a,  au  travers  des  années,  gardé  cet  attachement  auprès d’une  certaine  communauté  d'érudits  ou  d’experts,  on  peut  y  voir  cet  attachement  au  travers de  ce  que  l’on  appel  le  «  Shell  »  où  l’on  voit  ces  dits  experts  écrire  des  lignes  de  textes  dans un  langage  incompréhensif,  tout  ça  dans  une  fenêtre  noire  dénuée  de  tout  esthétisme, accompagné  d’une  série  de  manipulation  des  doigts  sur  le  clavier  digne  d’un  pianiste  ! Ce  cours  est  donc  fait  pour  ces  personnes  débutants  sous  un  système  GNU/Linux,  car  ils seront  à  coup  sûre  amenés  à  utiliser  ce  fameux  «  Shell  »,  car  certaines  choses  ne  peuvent  se faire  que  via  le  Shell  et  parce  que  Linux  à  besoin  d'être  proche  de  son  utilisateur,  et  son utilisateur  proche  de  son  Linux,  avec  tous  les  avantages  et  inconvénients  que  cela  impose  ;-). Ce  cours  ne  va  clairement  pas  vous  montrer  les  arcanes  dans  la  manipulations  du  shell  et  ses interactions  les  plus  puissantes  avec  le  «  Kernel  »  Linux,  le  Shell  étant  aussi  un  langage  de programmation,  des  années  de  pratiques  étant  nécessaires. Ce  cours  va  juste  permettre  aux  débutants  d’appréhender  les  principes  et  les  fonctions  de bases  du  Shell  en  temps  que  logiciel,  pour  comprendre  un  peu  mieux  ces  fameuses  lignes textes  trouvées  sur  un  forum  d'érudits  Linuxiens  et  que  vous  devrez  entrer  dans  votre «  terminal  ». 


Définition

 Le  « Shell  »  est  ce  que  l’on  appel  un  «  Interpréteur  de  commandes  ».  Il  date  de  l’époque  d’ UNIX,  où  le  seul  moyen  de  communiquer  avec  sa  machine  était  d’écrire  des  lignes  textes  au clavier,  dans  un  langage  compréhensible  à  la  fois  par  l’humain  et  la  machine.   Le  rôle  de  la  machine  étant  d'exécuter  les  commandes  de  l’utilisateur  et  d’afficher  le  résultat  à l’écran. Le  shell  c'est  un  programme  qui  se  trouve  dans  le  répertoire  /bin. Par  définition,  il  doit  être  léger  et  rapide,  et  reste  un  service  d’accès  privilégié  aux  Noyau Linux  (Kernel)  pour  l'exécution  de  primitives  système. Depuis,  cette  «  interface  »  avec  la  machine  a  perdurée  car  elle  est  rapide  et  fiable  pour l’utilisateur  qui  la  maitrise.  Le  shell  a  évoluée  aux  travers  des  années,  plusieurs  types  de  Shell existent  :
 -  le  /bin/sh      shell  Bourne-  le  /bin/bash  shell  Bourne  Again  SHell-  le  /bin/csh    C  shell-  le  /bin/ksh    Korn  shell-  le  /bin/tcsh  C  shell  amélioré 

mais  le  principe  de  base  et  toujours  resté  le  même  :  Les  shells  sont  des  interpréteurs,  ils  lisent chaque  commande  saisie  par  l’utilisateur  (ou  lue  à  partir  d’un  fichier),  vérifient  et  traitent  la syntaxe  pour  l’exécuter. Ici,  nous  utiliserons  le  Shell  Bash,  l’un  des  plus  couramment  utilisé  sur  les  systèmes GNU/Linux .  Bash  est  un  logiciel  libre 

Les  bons  côtés  du  shell 

- publié  sous  GNU  GPL . facilité  de  mise  en  œuvre  et  installé  d’office  sous  tous  système  GNU/Linux  (pas besoin  d'installer  un  autre  langage  sur  votre  système). - - - le  shell  manipule  essentiellement  des  chaînes  de  caractères  :  pas  de  structures complexes,  pointeurs,  etc… le  langage  est  adapté  au  prototypage  rapide  d’applications  :  exécutions  d’instructions systèmes  fiables,  rapides  et  robustes.  Le  bash  se  révèle  un  outil  puissant  lorsqu’on  le maitrise. c’est  un  langage  «  glu  »  :  exécuter  et  agglomérer  des  composants  divers  écrits  dans d’autres  langages. Les  moins  bons  côtés  du  shell - - - Le  nombre  de  commandes  et  la  documentation  difficile  d'accès  pour  le  débutant. messages  d'erreurs  parfois  difficiles  à  exploiter,  ce  qui  rend  la  mise  au  point  des scripts  fastidieuse. Temps  d’apprentissage  :  la  syntaxe  est  cohérente  mais  ardue.  De  nombreuses  années d’utilisation  sont  nécessaires  pour  être  «  à  l’aise  »  avec  la  ligne  de  commande. 

Commentaires