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:bash [15/09/2010 07:10]
smolski
doc:programmation:bash [08/11/2010 16:27]
smolski
Ligne 17: Ligne 17:
  ​\\ ​  ​\\ ​
  
-Objet : Les lignes de commande (bash)\\ +Objet : Le shell bas\\ 
 Niveau requis : DEBUTANT\\ ​ Niveau requis : DEBUTANT\\ ​
-Commentaires : +Commentaires : //Instructions en mode texte utilisant l'​interface en// [[manuel:ldc ligne de commande]]. ​
-  *Instructions en mode texte utilisant l'​interface en ligne de [[manuel:commande|commande]]. +
-  *Le bash, les scripts pas à pas…+
  
 +===== Les commandes Linux =====
  
 +  * [[manuel:​commande | Les commandes Linux]]
  
-===== Le Shell =====+===== Répertoires et chemins ​=====
  
-Le Shell est un interpréteur (ou interface) de lignes de [[manuel:​commande|commandes]],​ ce programme fonctionne à partir d'​instructions en mode texte saisies dans la/le [[manuel:​terminal|console/​terminal]].+==== Préparation du terrain ====
  
-Il existe plusieurs shell, bien souvent par défaut, c'est le **Shell Bash** qui est utilisé.+Placez-vous dans un nouveau dossier créé pour l'occasionExemple : 
 +<code bash> 
 +$ cd 
 +~$ mkdir -p tmp/​df_tp01/​ 
 +~$ cd tmp/​df_tp01/​ 
 +~/​tmp/​df_tp01$ 
 +</​code>​
  
-Pour savoir quel shell vous utilisez, tapez :+On va maintenant créer les fichiers et dossiers qui nous servirons pour la 
 +suite. 
 + 
 +Voici pour la première partie //révision de bash// ​:
 <code bash> <code bash>
-user@debian-facile:​~$ echo $SHELL +~/​tmp/​df_tp01touch phaute_dorthografe 
-/bin/bash+~/​tmp/​df_tp01touch notes_temporaires 
 +~/tmp/df_tp01$ touch quisuisje 
 +~/​tmp/​df_tp01$
 </​code>​ </​code>​
- Pour connaître la version de votre Shell Bashtapez :+ 
 +==== Le répertoire courantou répertoire de travail ==== 
 + 
 +C'est ce qui est indiqué juste à gauche du ''​$''​ du prompt ''​bash''​.
 <code bash> <code bash>
-user@debian-facile:​~$ bash --version +~/​tmp/​df_tp01$</​code>​ 
-GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu) + 
-Copyright (C) 2007 Free Software Foundation, Inc.+Vous pouvez l'​afficher en tapant la commande ''​pwd''​ : 
 +<​code ​bash
 +~/​tmp/​df_tp01$ pwd 
 +/​home/​captnfab/​tmp/​df_tp01
 </​code>​ </​code>​
  
-===== Ligne de commmande =====+On change ​de répertoire de travail avec [[commande:​cd | la commande CD]].
  
-Vous avez déjà sûrement utilisé des commandes à partir des définitions présentes à la page [[manuel:​commande|Les commandes Linux]]\\ ​+Le répertoire de travail est également stocké dans la variable ''​$PWD''​ du shell. 
 +<code bash> 
 +~/​tmp/​df_tp01$ echo $PWD 
 +/​home/​captnfab/​tmp/​df_tp01 
 +</​code>​
  
-==== Exemples : ====+==== Chemin relatif / chemin absolu ​====
  
-Utilisons [[commande:ls | la commande ls]]+Pour identifier de manière unique un fichier sur un ordinateur sous Linux, on 
 +donne ce qu'on appelle un chemin vers le fichier. Ce chemin peut être : 
 +  * //​absolu//​ 
 +  * ou //​relatif//​.
  
-Sans optiontapez :+=== Quelques chemins particuliers === 
 + 
 +  * ''​..''​ (deux points) désigne le répertoire parent d'un répertoire considéré 
 +  * ''​.''​ (un point) désigne le répertoire considéré 
 + 
 +Exemples :  
 +  * ''/​home/​../​var''​ est un chemin pour le répertoire ''/​var''​ 
 +  * ''​ls .''​ liste le répertoire courant 
 +  * ''​../​./​./​./​.''​ est un chemin vers le dossier parentéquivalent à ''​..''​ 
 + 
 +=== Chemin absolu === 
 + 
 +Un **chemin absolu** est un chemin depuis la racine du système de fichier, ''/''​ 
 + 
 +Exemples de chemin //​absolu// ​ 
 +  * ''/​var/​cache/​apt/​archives/''​ qui est le dossier contenant les paquets téléchargés pour installation ou mise à jour par ''​aptitude'',​ ou ''​apt-get'',​ ou ''​synaptic''​ etc. 
 +  * ''/​home/​../​var''​ est aussi un chemin absolu puisqu'​il donne le chemin depuis ''/''​ 
 + 
 +=== Chemin relatif === 
 + 
 +Un **chemin relatif** est un chemin depuis le **répertoire de travail** : ''​$PWD''​ 
 + 
 +Exemple de chemin //relatif// :  
 +  * ''​../​../''​ est un chemin relatif vers le dossier parent du dossier parent. 
 +Si vous êtes toujours dans ''​~/​tmp/​df_tp01/'',​ la commande
 <code bash> <code bash>
- ​user@debian-facile:​~$ ​ls +ls ../..
-2010-02-26--10.13.22           ​fstab ​            ​phpmyadmin.png +
-caisse_060810.ods              gparted1.png ​     resilier-sfr+
 </​code>​ </​code>​
 +doit vous lister votre //home//.
 +  * ''​./​plouf/​../​tchac/''​ est un chemin relatif vers le dossier ''​$PWD/​tchac''​
  
-Une commande peut être suivie d'​un ​paramètre ou nonavec des options éventuelles.+<note important>​''​Attention !''​ : Virtuellement, ​un chemin relatif commence **toujours** par :''​./''​. \\ 
 +Cependanten règle générale, on peut l'​omettre.</​note>​
  
-Avec une seule option ''​(-l)'',​ tapez :+Exemple
 <code bash> <code bash>
- ​user@debian-facile:​~$ ​ls -l +ls -lh quisuisje 
-total 16308 +</​code>​
--rw-r--r-- 1 mattux users    85680 fév 19 18:45 1024x7683.jpg +
-drwx------ 2 mattux users     4096 fév 19 20:25 amsn_received +
-drwxr-xr-x 2 mattux users     4096 fév 16 15:13 bin +
--rw-r--r-- 1 mattux users   ​603999 fév 19 22:13 capture1.png +
-drwx------ 2 mattux users     4096 fév 20 02:56 Desktop +
-drwx------ 2 mattux users     4096 fév 16 15:13 Documents</​code>​+
  
-Avec des options combinées ''​(-lh)'',​ tapez :+Signifie en fait :
 <code bash> <code bash>
- ​user@debian-facile:​~$ ​ls -lh +ls -lh ./quisuisje 
-total 16308 +</​code>​
--rw-r--r-- 1 mattux users    85,6 fév 19 18:45 1024x7683.jpg +
-drwx------ 2 mattux users     4,0 fév 19 20:25 amsn_received +
-drwxr-xr-x 2 mattux users     4,0 fév 16 15:13 bin +
--rw-r--r-- 1 mattux users   603,9 fév 19 22:13 capture1.png +
-drwx------ 2 mattux users     4,0 fév 20 02:56 Desktop +
-drwx------ 2 mattux users     4,0 fév 16 15:13 Documents</​code>​+
  
-===== Métacaractères ===== 
  
-Plusieurs combinaisons de commandes dans une seule ligne de commande : [[commande:​les_metacaracteres|Les Métacaractères]] 
  
-Exemple : 
  
-Utilisons ​[[commande:find la commande find]] combinée avec la [[commande:wc la commande ​wc]] : + 
-<code bash> +===== Ligne de commmande ===== 
-user@debian-facile:​~$ find developpement/​django/​certif -name '​*.py'​ -exec wc -l {} \+ + 
-     1 developpement/​django/​certif/​__init__.py +Vous avez déjà sûrement utilisé des commandes à partir des définitions présentes à la page [[manuel:commande|Les commandes Linux]]\\  
-     0 developpement/​django/​certif/​acronym/​__init__.py + 
-    48 developpement/​django/​certif/​acronym/​models.py +Voir : 
-    82 developpement/​django/​certif/​acronym/​tools.py +  * [[manuel:ldc La ligne de commande]] 
-    13 developpement/​django/​certif/​acronym/​urls.py + 
-    42 developpement/​django/​certif/​acronym/​views.py +===== Métacaractères ===== 
-    ​.../​...</​code>​ + 
-    +Voir : 
 +  * [[commande:​les_metacaracteres|Les Métacaractères]] 
 +   
 ===== Alias ===== ===== Alias =====
  
Ligne 108: Ligne 145:
 ===== Script ===== ===== Script =====
  
-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.//+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.
  
 Pour les DÉBUTANTS AVISÉS, voir là : Pour les DÉBUTANTS AVISÉS, voir là :
  
-  * [[scripts_bash | Des scripts à foison ​mais commentés en anglais]]+  * [[scripts_bash | Des scripts à foison commentés en anglais]]
doc/programmation/bash.txt · Dernière modification: 07/04/2016 11:03 par wlourf

Pied de page des forums

Propulsé par FluxBB