« Shell Unix » : différence entre les versions
Contenu supprimé Contenu ajouté
m Révocation des modifications de 83.115.86.98 (retour à la dernière version de JackBot) |
m →Articles connexes : commandes unix |
||
(23 versions intermédiaires par 15 utilisateurs non affichées) | |||
Ligne 1 :
[[Fichier:Linux command-line. Bash. GNOME Terminal. screenshot.png|vignette|Shell Bash sur Linux]]
Un '''shell Unix''' est un [[interpréteur de commandes]] destiné aux [[systèmes d'exploitation]] [[Unix]] et de [[type Unix]] qui permet d'accéder aux fonctionnalités internes du système d'exploitation. Il se présente sous la forme d'une [[interface en ligne de commande]] accessible depuis la [[Console système|console]] ou un [[terminal informatique|terminal]]. L'utilisateur lance des commandes sous forme d'une entrée texte exécutée ensuite par le shell. Dans les différents systèmes d'exploitation [[Microsoft Windows]], le programme analogue est [[command.com]], ou [[cmd.exe]].
Les systèmes d'exploitation de type [[Unix]] disposent le plus souvent d'un shell. À l'origine, l'[[interpréteur de commandes]] [[Valeur par défaut|par défaut]] était [[Bourne shell|sh]], qui
== Historique des shells Unix ==
Le premier shell est le {{lien|fr=Thompson shell|lang=en}} apparu en 1971
En 1978, [[Bill Joy]], alors étudiant à l'[[Université de Californie à Berkeley]], crée [[csh]] (C shell), une évolution du shell dont la syntaxe s'inspire de celle du langage C. Il
Le [[Korn shell]] (ksh)
Le [[Bourne-Again shell]] (bash)
[[Paul Falstad]]
== Shells ==
Ligne 21 ⟶ 22 :
** [[tcsh]] (Tenex C shell, version moderne du csh)
* Shell de [[David Korn]] : [[Korn shell]] (ksh)
* Shell de
** [[Ash shell|Ash]] (Almquist SHell)
** [[Debian Almquist shell|Dash shell]] ([[Debian]] Almquist
* [[
* [[Friendly Interactive Shell|fish]]
Ligne 30 ⟶ 31 :
{{...}}
== Gestion des entrées/sorties et redirection ==
Les shells permettent de réaliser des redirections. Une redirection consiste à rediriger l'entrée ou la sortie d'une commande vers une autre commande ou un fichier.
=== Redirection droite simple ===
Syntaxe :
<
Le résultat de l'invocation de la commande <code>commande</code> sera écrit dans le fichier <code>fichier</code>, en écrasant le précédent contenu.
Exemple :
<
$: cat file
Welcome
Ligne 45 ⟶ 46 :
$: cat file
Hello world
</syntaxhighlight>
=== Redirection droite double ===
Syntaxe :
<
Le résultat de l'invocation de la commande <code>commande</code> sera écrit dans le fichier <code>fichier</code>, à la suite des données déjà présentes.
Exemple :
<
$: cat file
Welcome
Ligne 60 ⟶ 61 :
Welcome
Hello world
</syntaxhighlight>
=== Redirection gauche simple ===
Syntaxe :
<
La commande <code>commande</code> va lire le contenu du fichier <code>fichier</code> au lieu de lire sur l'entrée standard (clavier).
Exemple :
<
$: cat < file
Welcome
</syntaxhighlight>
=== Redirection gauche double ===
Syntaxe :
<
La commande <code>commande</code> va lire sur l'entrée standard jusqu'à ce que le mot suivant la double redirection soit rencontré.
Exemple :
<
$: cat << TOTO
? foo
Ligne 88 ⟶ 89 :
bar
moomoo
</syntaxhighlight>
=== Pipe ===
Syntaxe :
<
Le résultat de la commande <code>commande_1</code> va être redirigé dans l'entrée de la seconde commande <code>commande_2</code>.
Exemple :
<
$: echo "Hello world" | grep -o "Hello"
Hello
</syntaxhighlight>
== Fichier de configuration ==
Ligne 173 ⟶ 174 :
|
|
|int.{{Efn|Same behavior as <tt>sh</tt>, but only if invoked as <tt>sh</tt> (bash 2+) or, since bash 4.2, also if invoked ''explicitly'' in POSIX compatibility mode (with options <tt>--posix</tt> or <tt>-o posix</tt>)
|
|-
Ligne 315 ⟶ 316 :
== Notes et références ==
=== Notes ===
=== Références ===
{{Références}}
* {{Lien web |url=http://www.softlab.ntua.gr/facilities/documentation/unix/shelldiff.html
|titre=UNIX shell differences
|auteur=Brian Blackmore
Ligne 327 ⟶ 328 :
=== Articles connexes ===
* [[Interpréteur de commandes]]
* [[Commandes Unix]]
* [[Shell (informatique)]]
* [[Reverse shell]]
{{Palette|Shell|Langages de programmation}}
{{portail|informatique|programmation informatique}}
|