Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| elearning:solaris10script:start [2020/01/30 03:29] – modification externe 127.0.0.1 | elearning:solaris10script:start [2020/03/15 10:00] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | =====Oracle Solaris 10 : | + | ~~PDF: |
| + | |||
| + | Version : **2020.01** | ||
| + | |||
| + | Dernière mise-à-jour : ~~LASTMOD~~ | ||
| + | |||
| + | =====UNI200 - Oracle Solaris 10 : | ||
| =====Présentation===== | =====Présentation===== | ||
| Ligne 12: | Ligne 18: | ||
| \\ | \\ | ||
| **Méthode d' | **Méthode d' | ||
| - | \\ | ||
| - | **Type d' | ||
| \\ | \\ | ||
| **Validation des acquis** : Évaluations à l'aide de tests auto-correctifs. | **Validation des acquis** : Évaluations à l'aide de tests auto-correctifs. | ||
| \\ | \\ | ||
| - | **Modalités** : 21 heures. | + | **Durée** : 3 jours (21h). |
| - | \\ | + | |
| - | **Moyens pédagogiques | + | =====Support de Cours===== |
| - | \\ | + | |
| - | **Ressources** : Machine virtuelle Oracle Solaris 10. | + | L' |
| + | |||
| + | L' | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | L' | ||
| + | |||
| + | * de télécharger des supports | ||
| + | * de refaire les LABS en mode autonome en cas de missions décalées en relation avec le contenu de la formation initiale, | ||
| + | * de rester en contact avec le formateur en cas de problèmes en production liés au contenu du cours, | ||
| + | | ||
| + | | ||
| + | |||
| + | =====Prérequis===== | ||
| + | |||
| + | ==== Matériel==== | ||
| - | ====Programme==== | + | * Un poste 64 bits (MacOS, Linux, Windows(tm) ou Solaris(tm)), |
| + | * Dans le cas de Windows(tm), | ||
| + | * Le mot de passe du compte administrateur du système, | ||
| + | * Clavier AZERTY FR ou QWERTY US, | ||
| + | * 16 Go de RAM minimum, | ||
| + | * Processeur 4 cœurs minimum, | ||
| + | * 16 Go d' | ||
| + | * Un casque ou des écouteurs (si **[[https:// | ||
| + | * Un micro (optionnel). | ||
| + | |||
| + | ====Logiciels==== | ||
| + | |||
| + | * Oracle VirtualBox v 6.0 ou plus (MacOS, Linux, Windows(tm) ou Solaris(tm)), | ||
| + | * Si Windows(tm) - Putty et WinSCP. | ||
| + | |||
| + | ====Machine Virtuelle==== | ||
| + | |||
| + | A télécharger **avant** la formation : **[[https:// | ||
| + | |||
| + | ====Internet==== | ||
| + | |||
| + | * Un accès à Internet rapide **sans** passer par un proxy, | ||
| + | * Formations en Face-à-Face Pédagogique | ||
| + | * Accès **débloqué** au domaine suivant : | ||
| + | * https:// | ||
| + | * Formations à Distance | ||
| + | * Accès **débloqué** aux domaines suivants : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | |||
| + | =====Programme===== | ||
| + | |||
| + | ====Jour #1==== | ||
| * **La Ligne de Commande et les Outils de Manipulation des Fichiers Textes**. | * **La Ligne de Commande et les Outils de Manipulation des Fichiers Textes**. | ||
| Ligne 75: | Ligne 129: | ||
| * Validation des acquis, | * Validation des acquis, | ||
| * **Commandes** : type, alias, unalias, chsh, history, wc, tee, set, vi, script, read, test, expr, let, if, case, for, while, grep, egrep, fgrep, sed, awk, tr, paste, cut, split, diff, cmp, uniq, patch, strings, comm, od, head, tail. | * **Commandes** : type, alias, unalias, chsh, history, wc, tee, set, vi, script, read, test, expr, let, if, case, for, while, grep, egrep, fgrep, sed, awk, tr, paste, cut, split, diff, cmp, uniq, patch, strings, comm, od, head, tail. | ||
| + | |||
| + | ====Jour #2==== | ||
| * **LAB #1**. | * **LAB #1**. | ||
| Ligne 87: | Ligne 143: | ||
| * Fonction **affiche_group**, | * Fonction **affiche_group**, | ||
| * Menu des choix. | * Menu des choix. | ||
| + | |||
| + | ====Jour #3==== | ||
| * **LAB #2**. | * **LAB #2**. | ||
| Ligne 97: | Ligne 155: | ||
| * Gestion des erreurs. | * Gestion des erreurs. | ||
| - | =====Extrait de Cours===== | + | ---- |
| - | + | ||
| - | ====Solaris 10 - La Ligne de Commande==== | + | |
| - | + | ||
| - | ===Le Shell=== | + | |
| - | + | ||
| - | Un shell est un **interpréteur de commandes** ou en anglais un** Command Line Interpreter (C.L.I)**. Il est utilisé comme interface pour donner des instructions ou **commandes** au système d' | + | |
| - | + | ||
| - | Le mot shell est générique. Il existe de nombreux shells dans le monde Unix, par exemple : | + | |
| - | + | ||
| - | ^ Shell ^ Nom ^ Date de Sortie ^ Inventeur ^ Commande ^ Commentaires ^ | + | |
| - | | tsh | Thompson Shell | 1971 | Ken Thompson | sh | Le premier shell | | + | |
| - | | sh | Bourne Shell | 1977 | Stephen Bourne | sh | Le shell commun à tous les Unix. Sous Solaris : /usr/bin/sh | | + | |
| - | | csh | C-Shell | 1978 | Bill Joy | csh | Le shell BSD. Sous Solaris : / | + | |
| - | | tcsh | Tenex C-Shell | 1979 | Ken Greer | tcsh | Un dérivé du shell csh. Sous Solaris : / | + | |
| - | | ksh | Korn Shell | 1980 | David Korn | ksh | Uniquement libre depuis 2005. Sous Solaris : / | + | |
| - | | bash | Bourne Again Shell | 1987 | Brian Fox | bash | Le shell par défaut de Linux et de MacOS X. Sous Solaris : / | + | |
| - | | zsh | Z Shell | 1990 | Paul Falstad | zsh | Zsh est plutôt orienté pour l' | + | |
| - | + | ||
| - | Cette unité concerne l' | + | |
| - | + | ||
| - | Le shell **/ | + | |
| - | + | ||
| - | * Rappeler des commandes | + | |
| - | * Générer la fin de noms de fichiers | + | |
| - | * Utiliser des alias | + | |
| - | * Utiliser les variables tableaux | + | |
| - | * Utiliser les variables numériques et l' | + | |
| - | * Gérer des chaines de caractères | + | |
| - | * Utiliser les fonctions | + | |
| - | + | ||
| - | Une commande commence toujours par un mot clef. Ce mot clef est interpréter par le shell selon le type de commande et dans l' | + | |
| - | + | ||
| - | - Les alias | + | |
| - | - Les fonctions | + | |
| - | - Les commandes internes au shell | + | |
| - | - Les commandes externes au shell | + | |
| - | + | ||
| - | Le shell par défaut de root sous Solaris est **/ | + | |
| - | + | ||
| - | Le shell des utilisateurs est défini par **root** dans le fichier **/ | + | |
| - | + | ||
| - | < | + | |
| - | # cat / | + | |
| - | root: | + | |
| - | daemon: | + | |
| - | bin: | + | |
| - | sys: | + | |
| - | adm: | + | |
| - | lp: | + | |
| - | uucp: | + | |
| - | nuucp: | + | |
| - | smmsp: | + | |
| - | listen: | + | |
| - | gdm: | + | |
| - | webservd: | + | |
| - | postgres: | + | |
| - | svctag: | + | |
| - | nobody: | + | |
| - | noaccess: | + | |
| - | nobody4: | + | |
| - | test: | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | Ne modifiez **jamais** le shell de root dans le fichier **/ | + | |
| - | </ | + | |
| - | + | ||
| - | Devenez maintenant l' | + | |
| - | + | ||
| - | < | + | |
| - | # su - test | + | |
| - | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | |
| - | $ | + | |
| - | </ | + | |
| - | + | ||
| - | Vérifiez que le shell de l' | + | |
| - | + | ||
| - | < | + | |
| - | $ echo $SHELL | + | |
| - | /bin/ksh | + | |
| - | </ | + | |
| - | + | ||
| - | Il convient maintenant de modifier le shell de **test** en **bash** : | + | |
| - | + | ||
| - | < | + | |
| - | $ which bash | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | passez en tant que **root** grâce à la commande **exit** puis éditez le fichier **/ | + | |
| - | + | ||
| - | < | + | |
| - | test: | + | |
| - | </ | + | |
| - | + | ||
| - | Ensuite connectez-vous de nouveau en tant que l' | + | |
| - | + | ||
| - | < | + | |
| - | # su - test | + | |
| - | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | |
| - | -bash-3.00$ echo $SHELL | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | Définissez de nouveau le CLI de l' | + | |
| - | </ | + | |
| - | + | ||
| - | Une commande tapée dans un CLI commence toujours par un mot clef. Ce mot clef est interprétée par le shell selon le type de commande et dans l' | + | |
| - | + | ||
| - | - Les alias | + | |
| - | - Les fonctions | + | |
| - | - Les commandes internes au shell | + | |
| - | - Les commandes externes au shell | + | |
| - | + | ||
| - | + | ||
| - | La suite de ce cours concerne l' | + | |
| - | + | ||
| - | * Rappeler des commandes | + | |
| - | * Générer la fin de noms de fichiers | + | |
| - | * Utiliser des alias | + | |
| - | * Utiliser les variables tableaux | + | |
| - | * Utiliser les variables numériques et l' | + | |
| - | * Gérer des chaînes de caractères | + | |
| - | * Utiliser les fonctions | + | |
| - | + | ||
| - | Defenissez le shell courant de root en tant que **/ | + | |
| - | + | ||
| - | < | + | |
| - | # /bin/ksh | + | |
| - | # | + | |
| - | </ | + | |
| - | + | ||
| - | ==Les Commandes Internes et Externes au shell== | + | |
| - | + | ||
| - | Les commandes internes au shell sont des commandes telles **cd**. Pour vérifier le type de commande, il faut utiliser la commande **type** en tant que **root** : | + | |
| - | + | ||
| - | < | + | |
| - | # type cd | + | |
| - | cd est une commande prédéfinie du shell | + | |
| - | </ | + | |
| - | + | ||
| - | Les commandes externes au shell sont des binaires exécutables ou des scripts, généralement situés dans /usr/sbin, /usr/bin, / | + | |
| - | + | ||
| - | < | + | |
| - | # type ifconfig | + | |
| - | ifconfig est / | + | |
| - | </ | + | |
| - | + | ||
| - | ==Les Aliases== | + | |
| - | + | ||
| - | Les alias sont des noms permettant de désigner une commande ou une suite de commandes et ne sont spécifiques qu'au shell qui les a créés ainsi qu'à l' | + | |
| - | + | ||
| - | < | + | |
| - | # type stop | + | |
| - | stop est un alias exporté pour kill -STOP | + | |
| - | </ | + | |
| - | + | ||
| - | ou | + | |
| - | + | ||
| - | < | + | |
| - | # su - test | + | |
| - | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | |
| - | $ type ls | + | |
| - | ls est un alias suivi pour / | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | Notez que dans ce cas l' | + | |
| - | </ | + | |
| - | + | ||
| - | La liste des alias définis peut être visualisée en utilisant la commande **alias** : | + | |
| - | + | ||
| - | < | + | |
| - | $ alias | + | |
| - | autoload=' | + | |
| - | command=' | + | |
| - | functions=' | + | |
| - | history=' | + | |
| - | integer=' | + | |
| - | local=typeset | + | |
| - | ls=/ | + | |
| - | nohup=' | + | |
| - | r='fc -e -' | + | |
| - | stop=' | + | |
| - | suspend=' | + | |
| - | </ | + | |
| - | + | ||
| - | Un alias se définit en utilisant de nouveau la commande **alias** : | + | |
| - | + | ||
| - | < | + | |
| - | $ alias dir=' | + | |
| - | $ alias | + | |
| - | autoload=' | + | |
| - | command=' | + | |
| - | dir=' | + | |
| - | functions=' | + | |
| - | history=' | + | |
| - | integer=' | + | |
| - | local=typeset | + | |
| - | ls=/ | + | |
| - | nohup=' | + | |
| - | r='fc -e -' | + | |
| - | stop=' | + | |
| - | suspend=' | + | |
| - | $ dir | + | |
| - | total 6 | + | |
| - | -rw-r--r-- | + | |
| - | -rw-r--r-- | + | |
| - | -rw-r--r-- | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | Notez que la liste des alias contient, sans distinction, | + | |
| - | </ | + | |
| - | + | ||
| - | Pour supprimer un alias, il convient d' | + | |
| - | + | ||
| - | < | + | |
| - | $ unalias dir | + | |
| - | $ alias | + | |
| - | autoload=' | + | |
| - | cat=/ | + | |
| - | command=' | + | |
| - | functions=' | + | |
| - | history=' | + | |
| - | integer=' | + | |
| - | local=typeset | + | |
| - | ls=/ | + | |
| - | nohup=' | + | |
| - | r='fc -e -' | + | |
| - | stop=' | + | |
| - | suspend=' | + | |
| - | </ | + | |
| - | + | ||
| - | Pour forcer l' | + | |
| - | + | ||
| - | < | + | |
| - | $ alias ls='ls -l' | + | |
| - | $ ls | + | |
| - | total 6 | + | |
| - | -rw-r--r-- | + | |
| - | -rw-r--r-- | + | |
| - | -rw-r--r-- | + | |
| - | $ \ls | + | |
| - | local.cshrc | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | Dans l' | + | |
| - | </ | + | |
| - | + | ||
| - | ==Le Prompt== | + | |
| - | + | ||
| - | Le prompt d'un utilisateur dépend de son statut : | + | |
| - | + | ||
| - | * **$** pour un utilisateur normal | + | |
| - | * **#** pour root | + | |
| - | + | ||
| - | ==Rappeler des Commandes == | + | |
| - | + | ||
| - | Le shell **ksh** permet le rappel des dernières commandes saisies. Afin de connaître la liste des commandes mémorisées, | + | |
| - | + | ||
| - | < | + | |
| - | $ history | + | |
| - | 5 | + | |
| - | 6 type ls | + | |
| - | 7 | + | |
| - | 8 alias dir=' | + | |
| - | 9 | + | |
| - | 10 cat / | + | |
| - | 11 dir | + | |
| - | 12 \dir | + | |
| - | 13 unalias dir | + | |
| - | 14 alias | + | |
| - | 15 alias ls='ls -l' | + | |
| - | 16 ls | + | |
| - | 17 \ls | + | |
| - | 18 which chsh | + | |
| - | 19 ls -a | + | |
| - | 20 history | + | |
| - | </ | + | |
| - | + | ||
| - | Rappelez-vous que la commande **history** est un alias : | + | |
| - | + | ||
| - | < | + | |
| - | $ alias | + | |
| - | ... | + | |
| - | history=' | + | |
| - | ... | + | |
| - | </ | + | |
| - | + | ||
| - | En réalité donc c'est la commande **fc** qui est appelée. | + | |
| - | + | ||
| - | L' | + | |
| - | + | ||
| - | < | + | |
| - | $ set -o emacs | + | |
| - | </ | + | |
| - | + | ||
| - | Le rappel de la dernière commande se fait en utilisant les touches **[CTRL]-[P]** et le rappel de la commande suivante se fait en utilisant les touches **[CTRL]-[N]** : | + | |
| - | + | ||
| - | ^ Caractère de Contrôle | + | |
| - | | [CTRL]-[P] | Rappelle la commande précédente | + | |
| - | | [CTRL]-[N] | Rappelle la commande suivante | + | |
| - | + | ||
| - | Le paramétrage de la fonction du rappel des commandes est fait en définissant des variables système. | + | |
| - | + | ||
| - | Afin de faciliter la définition de ces variables, créez le fichier **/ | + | |
| - | + | ||
| - | < | + | |
| - | # | + | |
| - | # This file is the common Environment setup for Korn Shell | + | |
| - | # | + | |
| - | HISTSIZE=256 | + | |
| - | HISTFILE=$HOME/ | + | |
| - | export HISTFILE HISTSIZE | + | |
| - | set -o emacs | + | |
| - | </ | + | |
| - | + | ||
| - | Vous noterez que dans ce fichier, la valeur de **HISTSIZE** est de **256**. Ceci implique que les dernières 256 commandes sont mémorisées. | + | |
| - | + | ||
| - | Devenez maintenant l' | + | |
| - | + | ||
| - | < | + | |
| - | # su - test | + | |
| - | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | |
| - | $ | + | |
| - | </ | + | |
| - | + | ||
| - | Les commandes mémorisées sont stockées dans le fichier **$HOME/ | + | |
| - | + | ||
| - | < | + | |
| - | $ cat $HOME/ | + | |
| - | echo $SHELL | + | |
| - | whereis bash | + | |
| - | which bash | + | |
| - | exit | + | |
| - | exit | + | |
| - | type ls | + | |
| - | alias | + | |
| - | alias dir=' | + | |
| - | alias | + | |
| - | cat / | + | |
| - | dir | + | |
| - | \dir | + | |
| - | unalias dir | + | |
| - | alias | + | |
| - | alias ls='ls -l' | + | |
| - | ls | + | |
| - | \ls | + | |
| - | ls -a | + | |
| - | history | + | |
| - | alias | + | |
| - | set -o emacs | + | |
| - | exit | + | |
| - | cat $HOME/ | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | La comparaison du contenu de ce fichier avec la sortie de la commande **history** démontre que les deux sont identiques, à part bien évidemment, | + | |
| - | </ | + | |
| - | + | ||
| - | Vous pouvez rappeler une commande spécifique de l' | + | |
| - | + | ||
| - | < | + | |
| - | $ history | + | |
| - | ... | + | |
| - | 52 ls | + | |
| - | 53 pwd | + | |
| - | 54 vmstat | + | |
| - | 55 df | + | |
| - | 56 history | + | |
| - | $ fc -e - 52 | + | |
| - | ls | + | |
| - | local.cshrc | + | |
| - | </ | + | |
| - | + | ||
| - | Afin de faire appel à au fichier **/ | + | |
| - | + | ||
| - | < | + | |
| - | $ exit | + | |
| - | # vi / | + | |
| - | </ | + | |
| - | + | ||
| - | en y ajoutant les lignes suivantes : | + | |
| - | + | ||
| - | < | + | |
| - | ENV=/ | + | |
| - | export ENV | + | |
| - | </ | + | |
| - | + | ||
| - | Vous obtiendrez une fenêtre similaire à celle-ci : | + | |
| - | + | ||
| - | < | + | |
| - | # | + | |
| - | + | ||
| - | # The profile that all logins get before using their own .profile. | + | |
| - | + | ||
| - | trap "" | + | |
| - | export LOGNAME PATH | + | |
| - | + | ||
| - | ENV=/ | + | |
| - | export ENV | + | |
| - | + | ||
| - | if [ " | + | |
| - | then | + | |
| - | if /bin/i386 | + | |
| - | then | + | |
| - | TERM=sun-color | + | |
| - | else | + | |
| - | TERM=sun | + | |
| - | fi | + | |
| - | export TERM | + | |
| - | fi | + | |
| - | + | ||
| - | # Login and -su shells get / | + | |
| - | # -rsh is given its environment in its .profile. | + | |
| - | </ | + | |
| - | + | ||
| - | Connectez-vous de nouveau en tant que test : | + | |
| - | + | ||
| - | < | + | |
| - | # su - test | + | |
| - | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | |
| - | </ | + | |
| - | + | ||
| - | Vérifiez que vous pouvez rappeler les dernières commandes dans votre console. | + | |
| - | + | ||
| - | ... | + | |
| - | + | ||
| - | + | ||
| - | ----- | + | |
| < | < | ||
| - | <center> | + | <DIV ALIGN=" |
| - | Copyright © 2004-2017 | + | Copyright © 2020 Hugh Norris<BR><BR> |
| - | <a rel=" | + | Document non-contractuel. Les prix, les conditions et le programme peuvent être modifiés sans préavis. |
| - | </center> | + | </div> |
| </ | </ | ||