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:shell:shell [29/03/2015 03:48] martinux_qc [Enchaîner plusieurs commandes] |
doc:programmation:shell:shell [09/10/2015 18:02] milou [Tableau des Shell disponibles] |
||
---|---|---|---|
Ligne 33: | Ligne 33: | ||
Pour lancer un shell, il suffit d'ouvrir un émulateur de [[:doc:systeme:terminal | terminal]], comme Gnome-Terminal, XTerm, Rxvt-Unicode, etc. Ce dernier exécutera automatiquement votre shell utilisateur. \\ | Pour lancer un shell, il suffit d'ouvrir un émulateur de [[:doc:systeme:terminal | terminal]], comme Gnome-Terminal, XTerm, Rxvt-Unicode, etc. Ce dernier exécutera automatiquement votre shell utilisateur. \\ | ||
- | Il est aussi possible d'ouvrir une des [[:doc:systeme:console | consoles]] virtuelles du système, par une combinaison de touches telle que CTRL ALT F1 ou en démarrant le système en mode non graphique. | + | Il est aussi possible d'ouvrir une des [[:doc:systeme:console | consoles]] virtuelles du système, par une combinaison de touches telle que <key>C-A-F1</key> ou en démarrant le système en mode non graphique. |
==== Obtenir de l'aide ==== | ==== Obtenir de l'aide ==== | ||
Ligne 39: | Ligne 39: | ||
Une des commandes les plus importantes à lancer dans un shell est la commande ''man'' qui permet d'afficher l'aide d'un programme. Par exemple, jetez un coup d'œil à | Une des commandes les plus importantes à lancer dans un shell est la commande ''man'' qui permet d'afficher l'aide d'un programme. Par exemple, jetez un coup d'œil à | ||
<code user>man bash</code> | <code user>man bash</code> | ||
- | (touche ''q'' pour quitter) | + | (touche <key>q</key> pour quitter) |
==== Le prompt ==== | ==== Le prompt ==== | ||
- | Le //prompt// ou invite de commande est le petit texte qui est déjà affiché quand on lance le shell et qui reste affiché quand on appuie sur la touche entrée. | + | Le //prompt// ou invite de commande est le petit texte qui est déjà affiché quand on lance le shell et qui reste affiché quand on appuie sur la touche <key>Entrée</key> |
Souvent, le prompte ressemble à ça : ''nom-d-utilisateur@nom-de-la-machine:dossier-courant$''. | Souvent, le prompte ressemble à ça : ''nom-d-utilisateur@nom-de-la-machine:dossier-courant$''. | ||
Ligne 93: | Ligne 93: | ||
Voici un petit exemple pour les gens pressés : | Voici un petit exemple pour les gens pressés : | ||
- | <code user># Je me place dans /usr/ | + | * Je me place dans /usr/ |
- | cd /usr | + | <code user>cd /usr</code> |
- | # Je me place dans /usr/bin | + | * Je me place dans /usr/bin |
- | cd bin | + | <code user>cd bin</code> |
- | # Je liste les fichiers et dossiers de /usr/bin | + | * Je liste les fichiers et dossiers de /usr/bin |
- | ls | + | <code user>ls</code> |
- | # Je me place dans /tmp | + | * Je me place dans /tmp |
- | cd /tmp | + | <code user>cd /tmp</code> |
- | # Je crée un dossier /tmp/coucou | + | * Je crée un dossier /tmp/coucou |
- | mkdir coucou | + | <code user>mkdir coucou</code> |
- | # Je crée un dossier /tmp/coucou/hop | + | * Je crée un dossier /tmp/coucou/hop |
- | mkdir coucou/hop | + | <code user>mkdir coucou/hop</code> |
- | # Je crée un fichier /tmp/coucou/pouet | + | * Je crée un fichier /tmp/coucou/pouet |
- | touch coucou/pouet | + | <code user>touch coucou/pouet</code> |
- | # Je renomme "pouet" en "bla" | + | * Je renomme "pouet" en "bla" |
- | mv coucou/pouet coucou/bla | + | <code user>mv coucou/pouet coucou/bla</code> |
- | # Je supprime le dossier vide /tmp/coucou/hop | + | * Je supprime le dossier vide /tmp/coucou/hop |
- | rmdir coucou/hop | + | <code user>rmdir coucou/hop</code> |
- | # Je supprime le dossier /tmp/coucou et son contenu | + | * Je supprime le dossier /tmp/coucou et son contenu |
- | rm -r /tmp/coucou | + | <code user>rm -r /tmp/coucou</code> |
- | # Je retourne dans mon dossier personnel | + | * Je retourne dans mon dossier personnel |
- | cd</code> | + | <code user>cd</code> |
==== Le tilde (~)==== | ==== Le tilde (~)==== | ||
Ligne 134: | Ligne 134: | ||
* tout ce que tape un utilisateur pendant qu'il utilise un programme du terminal est un flux. | * tout ce que tape un utilisateur pendant qu'il utilise un programme du terminal est un flux. | ||
- | <note info>Cela vaut en particulier pour le shell ! Vous pouvez le vérifier en tapant la combinaison de touche correspondant à une //fin de fichier// (ou fin de flux) : Ctrl-d **paf** le shell se ferme, parce que son flux d'entré est terminé :-) | + | <note info>Cela vaut en particulier pour le shell ! Vous pouvez le vérifier en tapant la combinaison de touche correspondant à une //fin de fichier// (ou fin de flux) : <key>C-d</key> **paf** le shell se ferme, parce que son flux d'entré est terminé :-) |
</note> | </note> | ||
Ligne 175: | Ligne 175: | ||
Lorsque vous tapez une ligne de commande compliquée assez régulièrement, il est intéressant de la rédiger une fois pour toute dans un fichier et de la rappeler ensuite rapidement via un mot-clé. C'est ce que l'on appelle un alias. Ils sont gérés de manière légèrement différentes par chacun des shells. La syntaxe générale est la suivante : | Lorsque vous tapez une ligne de commande compliquée assez régulièrement, il est intéressant de la rédiger une fois pour toute dans un fichier et de la rappeler ensuite rapidement via un mot-clé. C'est ce que l'on appelle un alias. Ils sont gérés de manière légèrement différentes par chacun des shells. La syntaxe générale est la suivante : | ||
- | <code user>alias irc='x-terminal-emulator -title irc -name irc -e weechat' | + | <code user>alias irc='x-terminal-emulator -title irc -name irc -e weechat'</code> |
- | alias cdmonproj='cd ~/projets/debian-facile/2013/mon-projet/src/www/'</code> | + | <code user>alias cdmonproj='cd ~/projets/debian-facile/2013/mon-projet/src/www/'</code> |
Pour que les alias soient actifs dans tous les terminaux, il suffit de les placer dans le ''~/.bashrc'' (si vous êtes sous ''bash'', ou ''~/.zshrc'' pour ''zsh'', etc. | Pour que les alias soient actifs dans tous les terminaux, il suffit de les placer dans le ''~/.bashrc'' (si vous êtes sous ''bash'', ou ''~/.zshrc'' pour ''zsh'', etc. | ||
Ligne 221: | Ligne 221: | ||
<note tip>Oups, j'ai oublié de mettre le ''&'', comment je fais ? | <note tip>Oups, j'ai oublié de mettre le ''&'', comment je fais ? | ||
- | - D'abord, il faut envoyer un SIGSTOP au programme en appuyant sur Ctrl-z | + | - D'abord, il faut envoyer un SIGSTOP au programme en appuyant sur <key>C-z</key> |
- Ensuite, il faut indiquer au programme de reprendre sa marche, mais en arrière plan, avec la commande ''bg''. | - Ensuite, il faut indiquer au programme de reprendre sa marche, mais en arrière plan, avec la commande ''bg''. | ||
</note> | </note> | ||
Ligne 240: | Ligne 240: | ||
On peut exécuter plusieurs commandes sur la même ligne en les séparant par un **;** | On peut exécuter plusieurs commandes sur la même ligne en les séparant par un **;** | ||
- | On peu reprendre l'exemple [[doc:programmation:shell:shell#naviguer-dans-les-fichiers-et-les-dossiers|Naviguer dans les fichiers et les dossiers]] sur une seule ligne | + | On peut reprendre l'exemple [[doc:programmation:shell:shell#naviguer-dans-les-fichiers-et-les-dossiers|Naviguer dans les fichiers et les dossiers]] sur une seule ligne |
- | <code user>cd /usr ; cd bin ; ls ; cd /tmp ; mkdir coucou ; mkdir coucou/hop ; touch coucou/pouet ; | + | <code user>cd /usr ; cd bin ; ls ; cd /tmp ; mkdir coucou ; mkdir coucou/hop ; touch coucou/pouet ;</code> |
- | mv coucou/pouet coucou/bla ; rmdir coucou/hop ; rm -r /tmp/coucou ; cd | + | <code user>mv coucou/pouet coucou/bla ; rmdir coucou/hop ; rm -r /tmp/coucou ; cd |
</code> | </code> | ||
Ligne 281: | Ligne 281: | ||
===== Tableau des Shell disponibles ===== | ===== Tableau des Shell disponibles ===== | ||
- | ^SHELL ^ NIVEAU ^ COMMENTAIRES ^ | + | ^SHELL ^ COMMENTAIRES ^ |
- | |[[:doc:programmation:bash]] |TOUS |Le shell utilisateur par défaut sous Débian | | + | |[[:doc:programmation:bash]] |Le shell utilisateur par défaut sous Débian | |
- | |dash |TOUS |Le shell système par défaut sous Débian | | + | |dash |Le shell système par défaut sous Débian | |
- | |zsh |TOUS |Un shell utilisateur très paramétrable | | + | |zsh |Un shell utilisateur très paramétrable | |