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> |
</ | </ | ||