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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [04/10/2015 18:31] milou [Shell BASH] |
doc:programmation:shells:bash-les-differents-caracteres-speciaux [04/10/2015 18:51] milou [Métacaractères et métacaractères !] |
||
---|---|---|---|
Ligne 248: | Ligne 248: | ||
<code user>variable='secret' | <code user>variable='secret' | ||
echo 'Mon mot de passe est $variable.'</code> | echo 'Mon mot de passe est $variable.'</code> | ||
- | <code>Mon mot de passe est $variable.</code> | + | <file config retour de la commande>Mon mot de passe est $variable.</file> |
==== Doubles quotes ou guillements ==== | ==== Doubles quotes ou guillements ==== | ||
Ligne 255: | Ligne 255: | ||
<code user>variable="secret" | <code user>variable="secret" | ||
echo "Mon mot de passe est $variable."</code> | echo "Mon mot de passe est $variable."</code> | ||
- | <code>Mon mot de passe est secret.</code> | + | <file config retour de la commande>Mon mot de passe est secret.</file> |
Ceci est utile pour générer des messages dynamiques au sein d'un script. | Ceci est utile pour générer des messages dynamiques au sein d'un script. | ||
Ligne 280: | Ligne 280: | ||
* soit un dossier ''Dossier.txt'' contenant les fichiers ''dossier1''; ''dossier2'' ; ''dossier3''. | * soit un dossier ''Dossier.txt'' contenant les fichiers ''dossier1''; ''dossier2'' ; ''dossier3''. | ||
- | <code user>cd /tmp | + | <code user>cd /tmp</code> |
- | mkdir Dossier.txt | + | <code user>mkdir Dossier.txt</code> |
- | cd Dossier.txt/ | + | <code user>cd Dossier.txt/</code> |
- | touch dossier1 | + | <code user>touch dossier1</code> |
- | touch dossier2 | + | <code user>touch dossier2</code> |
- | touch dossier3 | + | <code user>touch dossier3 |
</code> | </code> | ||
* toujours au niveau de Dossier.txt : | * toujours au niveau de Dossier.txt : | ||
<code user>ls</code> | <code user>ls</code> | ||
- | <code>dossier1 dossier2 dossier3</code> | + | <file config retour de la commande>dossier1 dossier2 dossier3</file> |
<code user>rm `ls`</code> | <code user>rm `ls`</code> | ||
<note warning> | <note warning> | ||
Ligne 302: | Ligne 302: | ||
* comparez maintenant avec : | * comparez maintenant avec : | ||
- | <code user>touch dossier1 | + | <code user>touch dossier1</code> |
- | touch dossier2 | + | <code user>touch dossier2</code> |
- | touch dossier3 | + | <code user>touch dossier3</code> |
- | ls</code> | + | <code user>ls</code> |
- | <code>dossier1 dossier2 dossier3</code> | + | <file config retour de la commande>dossier1 dossier2 dossier3</file> |
<code user>ls | xargs rm | <code user>ls | xargs rm | ||
Ligne 388: | Ligne 388: | ||
ls -d .c* | ls -d .c* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
.cache .config | .cache .config | ||
- | </code> | + | </file> |
<note help> | <note help> | ||
Il y a un piège !\\ | Il y a un piège !\\ | ||
Rappel: | Rappel: | ||
- | - L'étoile correspond à n'importe quelle chaîne.\\ | + | - L'étoile correspond à n'importe quelle chaîne.\\ |
+ | |||
- Si l'on fait ''*.txt'' on représente tous les fichiers se terminant par ''.txt''. | - Si l'on fait ''*.txt'' on représente tous les fichiers se terminant par ''.txt''. | ||
+ | |||
- Mais attention : ''.'' représente un point ''.'' mais aussi deux points ''..'' m( | - Mais attention : ''.'' représente un point ''.'' mais aussi deux points ''..'' m( | ||
</note> | </note> | ||
Ligne 440: | Ligne 442: | ||
<code user>ls -la</code> | <code user>ls -la</code> | ||
- | <code> | + | <file config retour de la commande> |
total 8 | total 8 | ||
drwxr-xr-x 2 hypathie hypathie 4096 juil. 8 10:43 . | drwxr-xr-x 2 hypathie hypathie 4096 juil. 8 10:43 . | ||
Ligne 448: | Ligne 450: | ||
-rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 fichier2 | -rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 fichier2 | ||
-rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 .fichier2 | -rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 .fichier2 | ||
- | </code> | + | </file> |
* Pour en supprimer uniquement les fichiers cachés : | * Pour en supprimer uniquement les fichiers cachés : | ||
<code user>rm -i \.f*</code> | <code user>rm -i \.f*</code> | ||
- | <code> | + | <file config retour de la commande> |
rm : supprimer fichier vide « .fichier1 » ? | rm : supprimer fichier vide « .fichier1 » ? | ||
rm : supprimer fichier vide « .fichier2 » ? | rm : supprimer fichier vide « .fichier2 » ? | ||
- | </code> | + | </file> |
- | > Répondre "yes" et taper <entrée> | + | > Répondre "yes" et taper <key>Entrée</key> |
+ | > | ||
>L'option ''-i'' permet de demander une confirmation avant chaque effacement. | >L'option ''-i'' permet de demander une confirmation avant chaque effacement. | ||
Ligne 464: | Ligne 467: | ||
<code user>ls -la</code> | <code user>ls -la</code> | ||
- | <code> | + | <file config retour de la commande> |
total 8 | total 8 | ||
drwxr-xr-x 2 hypathie hypathie 4096 juil. 8 10:48 . | drwxr-xr-x 2 hypathie hypathie 4096 juil. 8 10:48 . | ||
Ligne 470: | Ligne 473: | ||
-rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 fichier1 | -rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 fichier1 | ||
-rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 fichier2 | -rw-r--r-- 1 hypathie hypathie 0 juil. 8 10:43 fichier2 | ||
- | </code> | + | </file> |
<note warning> | <note warning> | ||
Ligne 480: | Ligne 483: | ||
> Il suffit par exemple de mettre par accident un espace après le slash : | > Il suffit par exemple de mettre par accident un espace après le slash : | ||
+ | > | ||
> ''rm / home/user'' | > ''rm / home/user'' | ||
+ | > | ||
> et ce pourrait être la catastrophe ! :-/ | > et ce pourrait être la catastrophe ! :-/ | ||
Ligne 486: | Ligne 491: | ||
- l'option ''-r'' ou ''-R'': opère récursivement sur un dossier (=supprime ses sous-dossiers); | - l'option ''-r'' ou ''-R'': opère récursivement sur un dossier (=supprime ses sous-dossiers); | ||
+ | |||
- l'option ''-f'' : permet de forcer la suppression (lorsqu'un dossier n'est pas vide par exemple) | - l'option ''-f'' : permet de forcer la suppression (lorsqu'un dossier n'est pas vide par exemple) | ||
Ligne 495: | Ligne 501: | ||
rm /* | rm /* | ||
</code> | </code> | ||
- | <code> | + | <file config retour de la commande> |
rm: impossible de supprimer « /bin »: est un dossier | rm: impossible de supprimer « /bin »: est un dossier | ||
rm: impossible de supprimer « /boot »: est un dossier | rm: impossible de supprimer « /boot »: est un dossier | ||
rm: impossible de supprimer « /dev »: est un dossier | rm: impossible de supprimer « /dev »: est un dossier | ||
- | </code> | + | </file> |
>Les premières lignes du retour. | >Les premières lignes du retour. | ||
+ | > | ||
>Il faut utiliser ''--no-preserve-root'' pour inhiber cette mesure de sûreté :-x | >Il faut utiliser ''--no-preserve-root'' pour inhiber cette mesure de sûreté :-x | ||
Ligne 508: | Ligne 515: | ||
</code> | </code> | ||
- | >Après sont exécutions le système est effacé, vos données aussi, et vous êtes triste :-( | + | >Après son exécution le système est effacé, vos données aussi, et vous êtes triste :-( |
</note> | </note> |