Séance 1 : Prise en main§
Département Informatique (IUT Lyon 1)
Ce travail est sous licence Creative Commons Attribution-ShareAlike 3.0 France.
Département Informatique (IUT Lyon 1)
Ce travail est sous licence Creative Commons Attribution-ShareAlike 3.0 France.
Open-source, et donc
Largement utilisé :
serveurs, équipements réseau
appareils Android
autres « petits » appareils
(liseuses, raspberry pi...)
|
bash est la plus utiliséeinteraction typique avec le shell :
- affiche une invite de commande (traditionnellement terminée par
$ou#)- analyse le texte tapé
- exécute le(s) programme(s) demandé(s) (en lui/leur passant des arguments)
- attend la fin de l'exécution, puis recommence
" ou ').# exemple
git commit --all -m "fixed bug #42"
\).# exemple
git commit --all -m fixed\ bug\ \#42
Note
Dans l'exemple ci-dessus, le caractère dièse (#)
nécessite également un anti-slash,
car lui aussi serait interprété par le shell (commentaire).
Dans la suite, nous verrons d'autres caractères spéciaux utilisés par le shell pour analyser les lignes de commandes.
Cet outil développé par Thierry Excoffier permet de bien comprendre les mécanismes en œuvre dans cette analyse.
Les arguments d'un programme sont une liste de chaîne de caractères, passée à ce programme à son lancement.
int main(int argc, char* argv[]) {
/* ... */
}
Le programme est libre d'interpréter ces arguments comme il le souhaite, mais il existe un certain nombre de conventions.
-h, -V).
Les options plus longues commencent par deux tirets
(exemple --help, --version).-la au lieu de -l -a).--help sert à afficher une courte documentation de la commande.Affiche une page du "manuel" (documentation).
<commande>La commande dont on souhaite afficher le manuel.
[section]Éventuellement, le numéro de section du manuel.
-k, --apropos <texte>Liste toutes les pages du manuel contenant texte.
Affiche les arguments, séparés par des espaces.
-nN'affiche pas de retour à la ligne après les arguments.
Affiche un fichier de manière paginée.
Indication
CTRL+C n'est pas une instruction spécifique à more;
cela interomp la plupart des programmes lancés en ligne de commande.
Affiche des informations sur un utilisateur.
utilisateurNom ou numéro d'utilisateur (défaut : utilisateur courant).
-u, --userAffiche uniquement l'identifiant de l'utilisateur.
-G, --groupsAffiche uniquement les groupes auxquels appartient l'utilisateur.
-n, --nameAffiche l'identifiant textuel au lieu de l'identifiant numérique
(avec -u ou -g).
Affiche une date au format demandé.
-d, --date=STRINGLa date à afficher (défaut : date courrante)
+formatFormat à utiliser pour l'affichage, cf. man date.
Exemples :
"+%d/%m/%y" affiche jour/mois/année (sur 2 chiffres)+%A affiche uniquement le jour de la semaine+%W affiche le numéro de la semaineNote
La valeur passée à --date accepte de nombreux formats différents,
y compris des expressions comme « tomorrow » ou « 2 years ago ».
Attention cependant au format xx/yy/zzzz,
il est généralement interprété à l'américaine : mois/jour/année.
Il vaut mieux lui préférer le format aaaa-mm-jj.