Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| terminal [Le 23/10/2019, 11:51] – [Le mot de passe] Ram16 II | terminal [Le 07/02/2021, 21:13] (Version actuelle) – ancienne révision (Le 29/01/2021, 02:19) restaurée Fabux | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Le terminal GNU/Linux ====== | ||
| + | |||
| + | Un terminal est un programme qui émule une [[console]] dans une interface graphique, il permet de lancer des **[[commande_shell|commandes]]**. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Pourquoi le terminal ? ===== | ||
| + | |||
| + | Il est parfois plus simple de **taper une commande** que d' | ||
| + | |||
| + | Cependant, même si le terminal peut être beaucoup plus efficace qu'une interface graphique sous les doigts d'un utilisateur avancé, il est moins abordable que les interfaces graphiques. | ||
| + | |||
| + | Il est probable qu' | ||
| + | |||
| + | ===== Comment ouvrir un terminal ?===== | ||
| + | |||
| + | Le terminal utilisé par défaut dépend de l' | ||
| + | |||
| + | ^ Environnement ou variante ^ commande de l' | ||
| + | ^ [[:Ubuntu Gnome]] | **gnome-terminal** | Rechercher **terminal**, | ||
| + | ^ [[: | ||
| + | ^ [[: | ||
| + | ^ Ubuntu [[:Mate]] | **mate-terminal** | // | ||
| + | ^ [[: | ||
| + | ^ [[: | ||
| + | ^ Ubuntu [[: | ||
| + | |||
| + | Beaucoup de bureaux permettent de **lancer directement des commandes** via une fenêtre qui s' | ||
| + | |||
| + | ===== Passez votre commande ! ===== | ||
| + | |||
| + | L' | ||
| + | |||
| + | Les raccourcis pour le copier-coller ne sont pas Ctrl+C ↔ Ctrl+V par défaut, mais **Maj+Ctrl+C** et **Maj+Ctrl+V**. En effet, dans un terminal le raccourci **Ctrl+C** sert à interrompre la commande en cours. Cependant il est possible de modifier les raccourcis du Terminal (voir en bas de page la rubrique [[# | ||
| + | |||
| + | <note tip> | ||
| + | Après avoir tapé 2 ou 3 caractères, | ||
| + | :!: Attention, [[wpfr> | ||
| + | |||
| + | <note help> | ||
| + | Dans le cas de l' | ||
| + | ===== Qu' | ||
| + | |||
| + | Une commande est une ligne de texte, sur la documentation elle apparaît souvent comme ça : | ||
| + | < | ||
| + | ma commande | ||
| + | </ | ||
| + | |||
| + | Parfois, il y en a plusieurs de suite, comme ça : | ||
| + | < | ||
| + | cd Téléchargements | ||
| + | mkdir Nouveau\ Dossier | ||
| + | cd Nouveau\ Dossier | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | C'est parce que le caractère " | ||
| + | |||
| + | Le nom d'un programme est une commande comme les autres. Par exemple pour ouvrir [[: | ||
| + | |||
| + | < | ||
| + | firefox | ||
| + | </ | ||
| + | | ||
| + | dans un terminal. | ||
| + | |||
| + | Vous pouvez même ouvrir un terminal dans un terminal, après tout pourquoi pas. | ||
| + | |||
| + | ===== Compléter une commande ===== | ||
| + | |||
| + | Parfois sur un forum, ou dans une documentation, | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | De telles commandes sont des exemples types, et ne sont pas à recopier telles quelles, mais doivent être adaptées à votre cas. | ||
| + | |||
| + | Dans un cas similaire au premier exemple : //mv "le fichier à déplacer" | ||
| + | |||
| + | Parfois ce ne sera pas un dossier ni un fichier qui vous sera demandé, dans ce cas, il vous sera sûrement expliqué comment connaître ce qu'il faut y mettre entre des guillemets, par exemple : | ||
| + | < | ||
| + | sudo adduser votre_pseudo vboxusers | ||
| + | </ | ||
| + | |||
| + | Ici il faut juste mettre votre pseudo à la place de **votre_pseudo**. | ||
| + | |||
| + | |||
| + | ===== Les commandes me demandent des choses... ===== | ||
| + | |||
| + | ==== Le mot de passe ==== | ||
| + | |||
| + | "Je tape une commande, et je me retrouve face à quelque chose comme ceci:" | ||
| + | <code bash> | ||
| + | [sudo] password for Michel: | ||
| + | </ | ||
| + | |||
| + | Après ceci vous devez taper votre mot de passe, ceci est tout à fait normal pour les commandes commençant par ``sudo`` comme: | ||
| + | <code bash> | ||
| + | sudo apt-get update | ||
| + | </ | ||
| + | | ||
| + | "Mais voilà, mon mot de passe ne se tape pas !" | ||
| + | |||
| + | Tout à fait normal, en fait le mot de passe est bel et bien tapé, mais vous ne le voyez pas ! Il suffit de taper son mot de passe, faire " | ||
| + | |||
| + | < | ||
| + | * installer un programme, | ||
| + | * enlever un programme, | ||
| + | * modifier un fichier texte de configuration, | ||
| + | **[[: | ||
| + | |||
| + | <note warning> | ||
| + | \\ | ||
| + | Attention à ne pas utiliser **sudo** pour n' | ||
| + | |||
| + | ==== Les questions ==== | ||
| + | Parfois une commande peut vous demander quelque chose, la réponse à donner est souvent très simple, voici quelques exemples : | ||
| + | |||
| + | * À un moment, une commande stoppe et vous demande ça : | ||
| + | < | ||
| + | Souhaitez-vous continuer [O/n] ? | ||
| + | </ | ||
| + | |||
| + | alors là c'est simple, **[O/n]** veut dire que vous pouvez répondre **o** ou **n** à la question, pour répondre **Oui** ou **Non** | ||
| + | |||
| + | __Pourquoi " | ||
| + | |||
| + | Simplement parce que c'est le choix par défaut, ce qui veut dire que si vous ne tapez rien, et que vous faites « Entrée », il comprendra **O**. | ||
| + | |||
| + | Si ça avait été **[o/N]** à la place, si vous aviez fait entrer directement sans taper **o** la commande aurait stoppé, il a donc pris en compte la réponse par défaut, **N**. | ||
| + | |||
| + | <note idee>En anglais vous auriez eu **[Y/n]** ou **[y/N]**, certains programmes non encore traduits vous poseront parfois ce genre de questions.</ | ||
| + | |||
| + | * Autre exemple, une commande attend une réponse précise : | ||
| + | < | ||
| + | In which directory do you want to install the mime type icons ? | ||
| + | [/ | ||
| + | </ | ||
| + | |||
| + | Dans cet exemple vous pouvez répondre de multiples choses, mais vous ne comprenez pas la question... heureusement il y a une réponse par défaut. | ||
| + | |||
| + | __Comment la reconnaître ?__ | ||
| + | |||
| + | Eh bien, elle est entre crochets **[...]** il suffira donc de faire Entrée, sans rien taper comme réponse, pour utiliser cette réponse par défaut ! | ||
| + | |||
| + | Bon ce n'est pas trop difficile, hein ;-) | ||
| + | |||
| + | ===== Les réponses des commandes ===== | ||
| + | |||
| + | ==== Les commandes peu bavardes ==== | ||
| + | |||
| + | Les commandes comme **cd , mv , cp , ls , rm** et bien d' | ||
| + | |||
| + | Elles ne répondent pas mais fonctionnent bel et bien. | ||
| + | |||
| + | ==== Les commandes très bavardes… ==== | ||
| + | |||
| + | Certaines commandes sont très bavardes ; prenons un exemple : | ||
| + | |||
| + | < | ||
| + | |||
| + | Cette commande permet de mettre à jour la liste des paquets disponibles dans vos [[: | ||
| + | Mais en fin de compte non, car ce n'est pas comme copier un fichier, qui est un processus quasi instantané, | ||
| + | |||
| + | ==== Avec toutes ces informations comment repérer s'il y a eu une erreur ? ==== | ||
| + | |||
| + | Si une commande ne marche pas, vous devez avoir un message contenant le mot **error**. | ||
| + | |||
| + | Si vous avez un message contenant le mot **warning**, | ||
| + | |||
| + | En cas de doute, tapez la commande suivante, qui retourne le code de sortie de la commande précédente : | ||
| + | <code bash> | ||
| + | echo $? | ||
| + | </ | ||
| + | |||
| + | Si le code est ' | ||
| + | |||
| + | <note help> | ||
| + | |||
| + | ===== Comment savoir à quoi sert une commande ? ===== | ||
| + | |||
| + | Il suffit de taper | ||
| + | < | ||
| + | Par exemple: | ||
| + | < | ||
| + | man iconv | ||
| + | man rm | ||
| + | man bash | ||
| + | man firefox | ||
| + | </ | ||
| + | |||
| + | Tous les programmes ont des " | ||
| + | Pour sortir d'une page de manuel, il faut utiliser la touche **q**. | ||
| + | |||
| + | Pour connaître les principales commandes, voir cette page : [[: | ||
| + | |||
| + | ===== Une sorte d' | ||
| + | |||
| + | Ça devient rare, mais vous tomberez parfois sur des sortes d' | ||
| + | |||
| + | * **__Exemple 1__**, une question à deux choix : | ||
| + | < | ||
| + | Outil de configuration des paquets | ||
| + | |||
| + | |||
| + | | ||
| + | | ||
| + | │ Utilisez cette option si vous voulez que le choix du type de serveur X │ | ||
| + | │ et du module du pilote de votre carte vidéo soient automatiques. Si │ | ||
| + | │ cette détection automatique échoue, vous devrez entrer ces informations | ||
| + | │ vous-même. Si elle réussit, les questions de configuration suivantes | ||
| + | │ seront préremplies. | ||
| + | | ||
| + | │ Si vous préférez choisir le serveur X et le pilote vous-même, ne │ | ||
| + | │ choisissez pas cette option. Vous n' | ||
| + | │ serveur X si un seul est disponible. | ||
| + | | ||
| + | │ Faut-il essayer de détecter automatiquement votre carte vidéo ? │ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | là ce n'est pas compliqué, vous utilisez les flèches **Gauche** ← et → **Droite** de votre clavier pour choisir entre **Oui** ou **Non**, la réponse choisie, est en **Rouge**, et faire **Entrée**. | ||
| + | |||
| + | * **__Exemple 2__**, une liste : | ||
| + | |||
| + | < | ||
| + | Outil de configuration des paquets | ||
| + | |||
| + | | ||
| + | │ Pour que l' | ||
| + | │ fonctionne convenablement, | ||
| + | │ carte graphique pour le serveur X. │ | ||
| + | | ||
| + | │ Les pilotes sont en général nommés d' | ||
| + | │ carte vidéo ou du circuit graphique ; le nom peut aussi faire référence | ||
| + | │ à un modèle particulier ou à toute une famille de circuits. | ||
| + | | ||
| + | │ Pilote de serveur X : │ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Là vous devez choisir quelque chose dans une liste. Vous choisissez avec les flèches **Haut** ↑ et ↓ **Bas**, une fois choisi, faites **Tab** (souvent une touche avec deux flèches ← et → l'une au dessus de l' | ||
| + | |||
| + | * **__Exemple 3__**, une sélection multiple... | ||
| + | |||
| + | < | ||
| + | Outil de configuration des paquets | ||
| + | |||
| + | | ||
| + | │ Il est conseillé de ne conserver que les résolutions utiles. Les │ | ||
| + | │ supprimer toutes a le même effet que n'en supprimer aucune : le serveur | ||
| + | │ X tentera dans tous les cas d' | ||
| + | │ possible. | ||
| + | | ||
| + | │ Modes vidéo utilisés par le serveur X : │ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | </ | ||
| + | |||
| + | là vous devez choisir plusieurs choses, déplacez-vous sur un choix avec **Haut** et **Bas**, et faites **Espace** sur une case à cocher, ([*] Coché, [ ] décoché), une fois que tout ce que vous voulez cocher est coché, faites **Tab** et une fois arrivé sur **Ok**, faites **Entrer** | ||
| + | |||
| + | Voilà, vous connaissez à peu près tout ce que l'on peut rencontrer comme cas de figures dans les "// | ||
| + | |||
| + | Une commande parfois répond, et parfois, ne dit rien… Pour comprendre pourquoi ce comportement est normal, une petite explication s' | ||
| + | |||
| + | ===== Quels sont tous les programmes utilisant la ligne de commande ? ===== | ||
| + | |||
| + | Vous pouvez voir la [[:liste des applications console]] si vous voulez satisfaire votre curiosité en matière de commandes. Vous verrez que les logiciels y fonctionnant exclusivement ou ayant une version sans GUI y sont nombreux ! | ||
| + | |||
| + | ===== L' | ||
| + | |||
| + | Pour ré exécuter une commande déjà effectuée, au lieu de tout retaper, il vous suffit simplement d' | ||
| + | |||
| + | Vous pouvez appuyer plusieurs fois sur ↑ pour aller plus loin dans l' | ||
| + | < | ||
| + | Cette commande liste les 500 dernières commandes plus celles de la session actuelle. Elle retourne quelque chose de ce type: | ||
| + | < | ||
| + | (489 lignes masquées...) | ||
| + | 490 eject /dev/sr0 | ||
| + | 491 history | ||
| + | 492 sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get clean && sudo apt-get autoremove | ||
| + | 493 mount | ||
| + | 494 sudo mount / | ||
| + | 495 cat / | ||
| + | 496 ls -l /data/ | ||
| + | 497 touch / | ||
| + | 498 ls -l /data/ | ||
| + | 499 ping -c 3 asus | ||
| + | 500 mount | ||
| + | 501 history | ||
| + | </ | ||
| + | Si vous souhaitez relancer la commande numéro 492, au lieu de la retaper, il suffit de lancer cette commande: | ||
| + | < | ||
| + | |||
| + | Vous pouvez également rechercher une commande précédemment tapée. Commencer par taper < | ||
| + | < | ||
| + | (reverse-i-search)`apt': | ||
| + | </ | ||
| + | |||
| + | Vous pouvez alors appuyer à nouveau sur < | ||
| + | Il est également possible de vider cet historique en utilisant la commande suivante: | ||
| + | < | ||
| + | Il est possible aussi de ne supprimer qu'une ligne (par exemple un mount avec un mot de passe admin!), pour cela utiliser l' | ||
| + | < | ||
| + | supprime la ligne //sudo mount / | ||
| + | |||
| + | En ajoutant | ||
| + | < | ||
| + | ou | ||
| + | < | ||
| + | |||
| + | toute commande débutant avec un espace en début de ligne n' | ||
| + | |||
| + | ===== Taille de l' | ||
| + | Pour modifier la taille de l' | ||
| + | < | ||
| + | |||
| + | Pour que cette modification soit prise en compte de manière définitive (pour un utilisateur), | ||
| + | < | ||
| + | =====Pour compléter les commandes à partir de l' | ||
| + | |||
| + | Vous le savez certainement, | ||
| + | Vous êtes obligés de taper Haut jusqu' | ||
| + | |||
| + | **Grâce à la manipulation ci-dessous, vous n' | ||
| + | Alors voici comment procéder : | ||
| + | |||
| + | Dans votre fichier **~/ | ||
| + | <file bash> | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | Dans votre fichier **~/ | ||
| + | <file bash> | ||
| + | shopt -s histappend | ||
| + | PROMPT_COMMAND=' | ||
| + | </ | ||
| + | Relancez votre terminal. Et essayez ! | ||
| + | Pratique, non ? | ||
| + | |||
| + | Vous pouvez également modifier graphiquement l' | ||
| + | |||
| + | ===== En savoir plus sur la console ===== | ||
| + | |||
| + | La console est ce qu' | ||
| + | |||
| + | Pour en savoir plus sur la console, voir cette page : [[console]]. | ||
| + | |||
| + | ===== Personnaliser son terminal ===== | ||
| + | |||
| + | ==== Configurer les raccourcis clavier ==== | ||
| + | |||
| + | Lancer un Terminal, dans //Édition -> Raccourcis clavier//, puis changer les raccourcis comme vous le souhaitez. | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | ==== Configurer l' | ||
| + | Aller dans le menu //Édition -> Préférences du profil//. | ||
| + | |||
| + | === Les couleurs === | ||
| + | * Mettre les palettes prédéfinie sur // | ||
| + | * Choisir vos couleurs, nous conseillons du clair (blanc ou gris coloré) pour la couleur de texte et noir (noir coloré) pour la couleur d' | ||
| + | * pour modifier la couleur de votre invite de commande lors du passage en super utilisateur, | ||
| + | modifiez la ligne | ||
| + | <file bash> | ||
| + | en | ||
| + | <file bash> | ||
| + | if [ `whoami` = root ]; then | ||
| + | PS1=' | ||
| + | else | ||
| + | PS1=' | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | |||
| + | === L' | ||
| + | * Toujours dans l' | ||
| + | |||
| + | === L' | ||
| + | |||
| + | Dans votre fichier **~/ | ||
| + | |||
| + | ^ Syntaxe | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Pour les développeurs utilisant [[:git]], il peut par exemple être ajouté le nom du projet et de la branche de travail en cours, … | ||
| + | |||
| + | Penser, après chaque modification, | ||
| + | < | ||
| + | |||
| + | ==== Un logo à l' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Si linuxlogo n'est pas installé, installez-le : [[apt> | ||
| + | < | ||
| + | |||
| + | Ouvrez un terminal et entrez : '' | ||
| + | Ce que j' | ||
| + | < | ||
| + | Available Built-in Logos: | ||
| + | Num Type Ascii Name Description | ||
| + | 1 Classic Yes aix AIX Logo | ||
| + | 2 Classic Yes bsd FreeBSD Logo | ||
| + | 3 Banner Yes bsd_banner FreeBSD Logo | ||
| + | 4 Classic Yes irix Irix Logo | ||
| + | 5 Classic Yes openbsd OpenBSD Logo | ||
| + | 6 Banner Yes openbsd_banner OpenBSD Logo | ||
| + | 7 Banner Yes solaris The Default Banner Logos | ||
| + | 8 Banner Yes banner-simp Simplified Banner Logo | ||
| + | 9 Banner Yes banner The Default Banner Logo | ||
| + | 10 Classic Yes classic-nodots The Classic Logo, No Periods | ||
| + | 11 Classic Yes classic-simp Classic No Dots Or Letters | ||
| + | 12 Classic Yes classic The Default Classic Logo | ||
| + | 13 Classic Yes core Core Linux Logo | ||
| + | 14 Banner Yes debian_banner_2 Debian Banner 2 | ||
| + | 15 Banner Yes debian_banner Debian Banner (white) | ||
| + | 16 Classic Yes debian_old Debian Old Penguin Logos | ||
| + | 17 Classic Yes debian Debian Swirl Logos | ||
| + | 18 Classic Yes gnu_linux Classic GNU/Linux | ||
| + | 19 Banner Yes mandrake_banner Mandrake(TM) Linux Banner | ||
| + | 20 Banner Yes mandrake Mandrakelinux(TM) Banner | ||
| + | 21 Banner Yes mandriva Mandriva(TM) Linux Banner | ||
| + | 22 Banner Yes pld PLD Linux banner | ||
| + | 23 Classic Yes raspi An ASCII Raspberry Pi logo | ||
| + | 24 Banner Yes redhat RedHat Banner (white) | ||
| + | 25 Banner Yes slackware Slackware Logo | ||
| + | 26 Banner Yes sme SME Server Banner Logo | ||
| + | 27 Banner Yes sourcemage_ban Source Mage GNU/Linux banner | ||
| + | 28 Banner Yes sourcemage Source Mage GNU/Linux large | ||
| + | 29 Banner Yes suse SUSE Logo | ||
| + | 30 Banner Yes ubuntu Ubuntu Logo | ||
| + | </ | ||
| + | |||
| + | Testez les différents logos en entrant ceci : | ||
| + | < | ||
| + | (équivaut aussi à **'' | ||
| + | <note tip>Un petit script aussi inutile que le logo pour faire défiler rapidement les différents logos disponibles, | ||
| + | |||
| + | Un fois que vous avez choisi votre logo [[: | ||
| + | |||
| + | À la fin du fichier vous trouverez ceci : '' | ||
| + | |||
| + | Pour finaliser le tout, afin que le logo s' | ||
| + | À la fin de votre fichier ajoutez la ligne (après les alias normalement) | ||
| + | < | ||
| + | |||
| + | Et voilà, complètement inutile, mais geekement indispensable ! | ||
| + | <note tip>Une alternative qui fonctionne aussi bien est **[[apt> | ||
| + | |||
| + | ==== Un terminal sur le bureau ==== | ||
| + | |||
| + | <note important> | ||
| + | **Xfce-terminal** reste une option envisageable mais peut emmener des dépendances supplémentaires alors qu'il est probable que le terminal proposé par défaut avec votre environnement fasse l' | ||
| + | |||
| + | Beaucoup de personnes souhaitent avoir un terminal disponible sur le bureau, voilà l' | ||
| + | |||
| + | === Installation === | ||
| + | Tout d' | ||
| + | |||
| + | === Paramétrage === | ||
| + | Il est possible de lancer ce nouveau terminal via // | ||
| + | |||
| + | À présent, il faut paramétrer devilspie. Pour cela, il faut créer un dossier **.devilspie** dans le dossier utilisateur: | ||
| + | < | ||
| + | mkdir ~/ | ||
| + | </ | ||
| + | et y créer un fichier intitulé: **xfce4-terminal.ds**. | ||
| + | < | ||
| + | |||
| + | Il faut créer la règle qui paramètre xfce4-terminal: | ||
| + | <file bash> | ||
| + | (if (is (window_class) " | ||
| + | (begin | ||
| + | (below) | ||
| + | (skip_tasklist) | ||
| + | (skip_pager) | ||
| + | (wintype " | ||
| + | )) | ||
| + | </ | ||
| + | * below : Permet de mettre la fenêtre en-dessous de toutes les autres. | ||
| + | * skip_tasklist : N' | ||
| + | * skip_pager : Ne permet pas de sélectionner la fenêtre via le pager (**Alt + Tab**) . | ||
| + | * wintype : Permet de ne pas réduire la fenêtre lorsque l'on demande à afficher le bureau (bouton généralement en bas à gauche) . | ||
| + | |||
| + | Cela fait, il ne reste plus qu'à lancer **devilspie** et **xcfe4-terminal** au démarrage. Dans //Système → Préférences → Sessions//, il faut ajouter deux commandes: | ||
| + | < | ||
| + | **-a** permet d' | ||
| + | < | ||
| + | où LARGEUR et HAUTEUR sont exprimées en caractère de terminal, X et Y représentent les coordonnées du point supérieur gauche du terminal. \\ Pour donner une idée chez moi la commande est: | ||
| + | < | ||
| + | |||
| + | |||
| + | <note tip> | ||
| + | |||
| + | ===== Pages concernant le terminal ===== | ||
| + | Ici vous trouverez quelques pages pointant sur des astuces ou approfondissements de certaines commandes.\\ | ||
| + | Vous y trouverez également différentes pages de présentation d' | ||
| + | {{topic> | ||
| + | |||
| + | ===== Voir aussi ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ---- | ||
| + | // | ||
| + | |||
