workshop_shell
Ceci est une ancienne révision du document !
Table des matières
Workshop Shell Unix
Guidelines pour l'atelier
- Deconseiler de prendre des notes le workshop est disponible sur le wiki.
- Proposer d'interrompre et poser des questions à chaud.
- Demander à l'assemblé ce que va produire une ligne commande avant de l'exécuter.
Intro: shell / terminal
Navigation : pwd ; cd ; ls
Présentation avec GUI ouvert.
pwd cd /tmp pwd cd pwd ls ls -a
Fichiers : touch ; cp ; mv ; rm ; mkdir
Présentation avec GUI ouvert.
touch foo cp foo bar mv bar baz rm foo mkdir pif mkdir -p paf/pouf
Permissions : ls -l ; chmod ; chown
ls -l foo chmod u-r foo ls -l foo sudo chown root:root foo ls -l
Obtenir de l'aide : help ; man
La commande help permet d'obtenir une aide sommaire sur les commandes du shell.
help
La commande man permet d'obtenir de l'aide sur les programmes installés. On peut rechercher le mot clé "foo" dans le manuel en tappant "/foo".
man man
Administration : ps ; top ; du ; df ; free ; mount
id last ps u ps aux uptime top du -h df -h free -h mount
Expansion : * ? ~ {1..5} {Z..A} $USER
TODO : Attention les expansions dependent beaucoup du shell (sh, bash, zsh, ...)
rm -rf work1 ; mkdir work1 ; cd work1 touch foo bar baz ls f* ls b* ls b?z echo {A..C} echo $USER
IO (Entrées Sorties) : redirection / pipelines
TODO: Utiliser des schéma
Ecriture dans fichier
rm -rf work2 ; mkdir work2 ; cd work2 echo "Hello World" > foo cat foo > foo cat foo
Ecrire à la fin d'un fichier
> bar echo hello > bar cat bar echo world >> bar cat bar
Ecrire sur les sortie standard et d'erreur
echo "sur la sortie standard" >&2 echo "sur la sortie d'erreur"
Rediriger l' entree
cat < bar
Rediriger les sorties
echo "pif" > stdout >&2 echo "paf" 2> stderr >&2 echo "pouf" > stdout 2>&1
Pipeline
cat bar | grep "lo"
Logique : ; && ||
echo "un" ; echo "deux" echo "OR_1" || echo "OR_2" echo "AND_1" && echo "AND_2" false ; echo "RC=$?" true || echo "second statement" ; echo "RC=$?" false || echo "second statement" ; echo "RC=$?" true && echo "second statement" ; echo "RC=$?" false && echo "second statement" ; echo "RC=$?"
Variables : $PS1 $PATH $?
echo $USER echo $PATH echo $HOME export echo $PS1 echo $? echo $! ## Scripts : philosophie tests loops fonctions ### Fil rouge : un script pour trier ses photos - variables - conditions - fonctions - boucles - return code (exit) ### Philosophie UNIX - Écrivez des programmes qui effectuent une seule chose et qui le font bien. - Écrivez des programmes qui collaborent. - Écrivez des programmes pour gérer des flux de texte [en pratique des flux d'octets], car c'est une interface universelle.
workshop_shell.1699059616.txt.gz · Dernière modification : 2023/11/04 01:00 de bigMax