logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:shells:bash-les-differents-caracteres-speciaux [25/05/2014 16:24]
Hypathie [B) Méta-caractères et méta-caractères !]
doc:programmation:shells:bash-les-differents-caracteres-speciaux [25/05/2014 17:23]
Hypathie [C) Scripts et alias]
Ligne 5: Ligne 5:
     * Création par **Hypathie** 20/03/2014     * Création par **Hypathie** 20/03/2014
     * Testé par <​Hypathie>​ le <Avril 2014>     * Testé par <​Hypathie>​ le <Avril 2014>
 +  * * Suivi : {{ à-placer}} ​
   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=87499#​p87499| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))    * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=87499#​p87499| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
Ligne 27: Ligne 28:
 8) chap VIII : [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]] 8) chap VIII : [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]]
  
-**Enfin, les liens en gras renvoient aux pages du wiki qui sont relatifs au shell, terminal, chemin relatif et absolu, scripts, alias, etc.** ​+**Enfin, les liens en gras renvoient aux pages du wiki qui sont relatifs au shell, terminal, chemin relatif et absolu, scripts, alias, etc.**\\  ​
 **Dans cette introduction ​ :**\\ **Dans cette introduction ​ :**\\
   * A) définitions de shell bash et liens internes spécifiques au sujets évoqués ;\\   * A) définitions de shell bash et liens internes spécifiques au sujets évoqués ;\\
-  * B) définitions de termes associés au shell et liens internes spécifiques au sujets évoqués\\ +  * B) explication sur l’ambiguïté du terme méta-caractère.\\ 
-  * C) explication sur l’ambiguïté du terme méta-caractère. ​+  * C) définitions de termes associés au shell et liens internes spécifiques au sujets évoqués\\
  
 **Yep ! C'est parti !** 8-) **Yep ! C'est parti !** 8-)
  
-=====A) Shell BASH =====+=====A ) Shell BASH =====
 **Le shell (« coquille » en anglais) est une couche logicielle qui fournit l'​interface utilisateur d'un système d'​exploitation. Il correspond à la couche la plus externe de ce dernier. ​ Il se présente sous la forme d'une interface en ligne de commande accessible depuis la console ou un terminal. L'​utilisateur lance des commandes sous forme d'une entrée texte exécutée ensuite par le shell.**\\ **Le shell (« coquille » en anglais) est une couche logicielle qui fournit l'​interface utilisateur d'un système d'​exploitation. Il correspond à la couche la plus externe de ce dernier. ​ Il se présente sous la forme d'une interface en ligne de commande accessible depuis la console ou un terminal. L'​utilisateur lance des commandes sous forme d'une entrée texte exécutée ensuite par le shell.**\\
  
Ligne 41: Ligne 42:
  
 **Qui dit shell, dit commandes, avant tout : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]]** ​ :-) **Qui dit shell, dit commandes, avant tout : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]]** ​ :-)
-  ​+ 
 +Il existe plusieurs shell, bien souvent par défaut, c'est le **Shell Bash** qui est utilisé. 
 + 
 +**Pour savoir quel shell vous utilisez par défaut, tapez :** 
 +<code bash> 
 +user@debian-facile:​~$ echo $SHELL 
 +/bin/bash 
 +</​code>​ 
 + Pour connaître la version de votre Shell Bash, tapez : 
 +<code bash> 
 +user@debian-facile:​~$ bash --version 
 +GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu) 
 +Copyright (C) 2007 Free Software Foundation, Inc. 
 +</​code>​ 
 + 
  
 **Distinguons maintenant les commandes internes et les commandes externes au shell bash.** **Distinguons maintenant les commandes internes et les commandes externes au shell bash.**
Ligne 74: Ligne 89:
 </​note>​ </​note>​
  
-====2)Les commandes externes : ====+====2) Les commandes externes : ====
 Une commande externe est une commande dont le code se trouve dans un fichier ordinaire. Le shell crée un processus pour exécuter une commande externe. Parmi les commandes externes que l'on trouve dans un système, il y a les commandes unix (ex. ls, mkdir, vi, sleep) et les fichiers shell (scripts shell). Une commande externe est une commande dont le code se trouve dans un fichier ordinaire. Le shell crée un processus pour exécuter une commande externe. Parmi les commandes externes que l'on trouve dans un système, il y a les commandes unix (ex. ls, mkdir, vi, sleep) et les fichiers shell (scripts shell).
 La localisation du code d'une commande externe doit être connu du shell pour qu'il puisse exécuter cette commande. A cette fin, bash utilise la valeur de sa variable prédéfinie PATH.  La localisation du code d'une commande externe doit être connu du shell pour qu'il puisse exécuter cette commande. A cette fin, bash utilise la valeur de sa variable prédéfinie PATH. 
Ligne 95: Ligne 110:
 </​note>​ </​note>​
  
-=====B) Scripts et alias ===== 
  
-====1) les scripts ​==== +=====) Méta-caractères et méta-caractères !=====
- +
-====2) les alias ==== +
-=====C ​) Méta-caractères et méta-caractères !=====+
  
 ====1)Définition courante de méta-caractère et détail==== ====1)Définition courante de méta-caractère et détail====
Ligne 143: Ligne 154:
 C'est le sujet chap. 7 : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]] C'est le sujet chap. 7 : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]]
  
-====2) "​Méta-caractères"​ désignation particulière du man bash pour opérateurs de contrôle et de redirection====+====2) "Globs simples"​ ou "​méta-caractères",​ utilisation avancée==== 
 + 
 +**Détails et exercices sur : [[doc:​programmation:​shell:​les-metacaracteres|métacaractères,​ ou globs, ou encore patterns]]** 
 +   
 + 
 +===Comment associer le point et l'​étoile ?=== 
 + 
 +On sait que ls -a permet de lister tous les fichiers, le retour est alors un peu trop copieux \\  
 + 
 +De même ls -a* est très prolixe.\\  
 + 
 +On peut alors faire : 
 +<code user> 
 +ls -d .* 
 +</​code>​ 
 +=> On obtiendra alors tous les fichiers cachés. 
 + 
 +Pour affiner la recherche on faire pour n'​avoir que ceux dont le nom commence par un c : 
 + 
 +<code user> 
 +ls -d .c* 
 +</​code>​ 
 +Retour : 
 +<​code>​ 
 +.cache ​ .config 
 +</​code>​ 
 + 
 +  * **Rappel :**\\  
 +  -**L'​étoile correspond à n'​importe quelle chaîne.**\\  
 +  -**Si l'on fait *.txt on représente tous les fichiers se terminant par "​.txt"​.**\\  
 +**C'​est là qu'il y a un petit piège ! m(  **\\ 
 + 
 +**.*  représente un point (.) mais aussi deux points (..)**  
 + 
 +<code user> 
 +ls .*    # et son équivalent : ls .?* 
 +</​code>​ 
 +=> va afficher du répertoire courant (.) : tous les fichiers cachés (normaux) et tous les fichiers cachés de type-répertoire avec les noms des fichiers cachés contenus dans ces répertoires ;\\ 
 +mais aussi du répertoire parent (..) : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les noms des fichiers cachés contenus dans ces répertoires ! 
 + 
 +  * Contournement : 
 +<code user> 
 +ls .[!.]* 
 +</​code>​ 
 +=> liste du répertoire courant : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les fichiers cachés de ces répertoires. 
 +<code user> 
 +ls -d .[!.]* ​  # et son équivalent : ls -d .??* 
 +</​code>​ 
 +=> liste du répertoire courant : tous les noms de fichiers normaux cachés et le nom de tous les fichiers cachés de type-répertoire (sans leurs contenus cette fois !)  
 + 
 +====3) "​Méta-caractères"​ désignation particulière du man bash pour "opérateurs de contrôle et de redirection"====
 ===Définition particulière :=== ===Définition particulière :===
 <​code>​ <​code>​
Ligne 251: Ligne 312:
 Comme nous le verrons dans la suite de ce wiki-synthèse,​ il s'agit des **caractères qui inhibent** la reconnaissance des caractères spéciaux ou des "​méta-caractères"​ ; **des mots réservés** (et qui appartiennent souvent à la syntaxe des commandes composées) ; des **caractères qui transforment un caractère simple en caractère spécial** (par exemple, le tiret devant une lettre, fait reconnaître cette lettre comme une option !) et enfin des caractères qui **représentent différentes sortes de fichiers**, les **variables d'​environnement prédéfinies** et les **paramètres prédéfinis**. Comme nous le verrons dans la suite de ce wiki-synthèse,​ il s'agit des **caractères qui inhibent** la reconnaissance des caractères spéciaux ou des "​méta-caractères"​ ; **des mots réservés** (et qui appartiennent souvent à la syntaxe des commandes composées) ; des **caractères qui transforment un caractère simple en caractère spécial** (par exemple, le tiret devant une lettre, fait reconnaître cette lettre comme une option !) et enfin des caractères qui **représentent différentes sortes de fichiers**, les **variables d'​environnement prédéfinies** et les **paramètres prédéfinis**.
  
-====3"Globs simples"​ ou "​méta-caractères",​ utilisation avancée====+=====CScripts et alias =====
  
-**Détails et exercices sur : [[doc:​programmation:​shell:​les-metacaracteres|métacaractères,​ ou globs, ou encore patterns]]** +====1) les scripts ==== 
-  ​+Un **script** est la rédaction dans un fichier texte d'un ensemble de //​commandes//​ et d'​expressions régulières (caractères utilisés symboliquement) orientant les instructions données aux commandes.\\ ​
  
-===Comment associer le point et l'​étoile ?===+  * **Pour une initiation au script : [[atelier:​chantier:​debuter-avec-les-scripts-shell-bash]]**  
 +  * **sur "​if",​ "les boucles",​ etc. : [[doc:​programmation:​shell:​avancee|Fonctionnalités avancées du Shell]]** 
 +  * **considérations avancées : [[doc:​programmation:​shell:​scripts|Rédaction de scripts Shell]]** 
 +  * ** Pour les DÉBUTANTS AVISÉS francophile : [[http://​abs.traduc.org/​abs-fr/​pt01.html]]** 
 +  * **Pour les DÉBUTANTS AVISÉS ​et anglophile, voir là :​[[http://​mywiki.wooledge.org/​BashFAQ]]** ​
  
-On sait que ls -a permet ​de lister tous les fichiers, le retour est alors un peu trop copieux \\ +  * **À voir aussi : scripts debian-facile :**  
 +      *[[:​doc:​programmation:​python:​boutonfermer|[pygtk] Comment faire un notebook avec bouton "​fermer"​]] 
 +      *[[:​doc:​programmation:​bash:​alias|[bash] Réalisation d'un script contenant des Alias]]  
 +      *[[:​doc:​programmation:​bash:​file-dir-exist|[bash] Déterminer si un fichier ou répertoire existe]] 
 +      *[[:​doc:​programmation:​bash:​synoshareexist|[bash] Déterminer si un partage existe sur un disque réseau ​de type Synology]] 
 +      *[[:​doc:​programmation:​bash:​read:​parcourir-fichier-texte|[bash] Lire un fichier texte ligne par ligne]] 
 +      *[[:​doc:​systeme:​apt:​debsect|[bash] Section d'un paquet debian]] 
 +      *[[:​doc:​programmation:​bash:​tp-debsources|[bash] Dépôt d'un paquet debian]] 
 +      *[[:​doc:​programmation:​bash:​png2jpg|[bash] Convertir dans plusieurs sous-répertoires des images .png en .jpg]]
  
-De même ls -a* est très prolixe.\\ ​+====2) les alias ==== 
 +  ​**L'​essentiel ​est là : [[doc:​programmation:​bash:​alias|Maîtriser les alias bash]]**
  
-On peut alors faire : +  * **alias et script ​:*
-<code user> +Lorsque vous tapez plusieurs lignes de commande différentes et répétitives à la suite, il est intéressant de les rédiger toutes ensembles dans un seul texte (un //script//) afin de les appeler d'un coup à l'aide d'un mot clé nommé : [[:​doc:​programmation:​bash:​alias|un alias]].
-ls -d .+
-</code> +
-=> On obtiendra alors tous les fichiers cachés.+
  
-Pour affiner la recherche on faire pour n'​avoir que ceux dont le nom commence par un :+**Pour voir où et comment réaliser ​un tel script ​[[:​doc:​programmation:​bash:​alias|Réalisation d'un Script contenant des Alias]]**
  
-<code user> +===== la suite c'est ICI ===== 
-ls -d .c+[[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]]
-</​code>​ +
-Retour ​+
-<​code>​ +
-.cache ​ .config +
-</​code>​+
  
-  * **Rappel :**\\  
-  -**L'​étoile correspond à n'​importe quelle chaîne.**\\ ​ 
-  -**Si l'on fait *.txt on représente tous les fichiers se terminant par "​.txt"​.**\\ ​ 
-**C'​est là qu'il y a un petit piège ! m(  **\\ 
- 
-**.*  représente un point (.) mais aussi deux points (..)** ​ 
- 
-<code user> 
-ls .*    # et son équivalent : ls .?* 
-</​code>​ 
-=> va afficher du répertoire courant (.) : tous les fichiers cachés (normaux) et tous les fichiers cachés de type-répertoire avec les noms des fichiers cachés contenus dans ces répertoires ;\\ 
-mais aussi du répertoire parent (..) : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les noms des fichiers cachés contenus dans ces répertoires ! 
- 
-  * Contournement : 
-<code user> 
-ls .[!.]* 
-</​code>​ 
-=> liste du répertoire courant : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les fichiers cachés de ces répertoires. 
-<code user> 
-ls -d .[!.]* ​  # et son équivalent : ls -d .??* 
-</​code>​ 
-=> liste du répertoire courant : tous les noms de fichiers normaux cachés et le nom de tous les fichiers cachés de type-répertoire (sans leurs contenus cette fois !)  
- 
-=== la suite c'est ICI=== 
-[[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]] 
doc/programmation/shells/bash-les-differents-caracteres-speciaux.txt · Dernière modification: 01/04/2023 19:17 par agp91

Pied de page des forums

Propulsé par FluxBB