Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
mcd:heritage [2018/02/01 16:01] pierre.gelin créée |
mcd:heritage [2018/02/01 16:26] (Version actuelle) pierre.gelin |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Description ===== | ===== Description ===== | ||
+ | L'héritage a du sens lorsque plusieurs entités possèdent des propriétés similaires. On parle alors de généralisation avec un sur-type (ou entité mère) et de spécialisation avec des sous-type (entités filles). | ||
- | L'héritage est utile dans deux cas : | + | L'héritage est donc utile dans deux cas : |
- La spécialisation: permet de modéliser dans l'ensemble des occurrences d'une entité, des sous-ensembles (appelées entités sous-types) présentant des spécificités. | - La spécialisation: permet de modéliser dans l'ensemble des occurrences d'une entité, des sous-ensembles (appelées entités sous-types) présentant des spécificités. | ||
- | - Généralisation: ayant identifié 2 entités fortement similaires on crée une entité qui factorise/réifie les propriétés communes. Cette dernière dispose de nombreux avantages par rapport a la première: | + | - Généralisation: ayant identifié 2 entités fortement similaires on crée une entité qui factorise/réifie les propriétés communes. |
- | - Elle demande très peu de ressource, indispensable pour les serveurs linux qui n'ont pas beaucoup de ressources allouées. | ||
- | - Elle est plus rapide: Une fois les commandes principales maitrisées, il est beaucoup plus simple de se mouvoir dans son arborescence et de faire des actions sur les fichiers | + | ===== Spécialisation ===== |
- | - La possibilité de faire des scripts permettant d'être beaucoup plus rapide et d'automatiser des tâches | + | L’entité sous-type hérite de toutes les propriétés de l’entité sur-type y compris |
+ | de son identifiant. | ||
- | Dans ce wiki, il y aura de répertorié les principales commandes linux. | ||
- | ===== RTFM ===== | ||
- | Rtfm (Read The Fucking Manual) est la réponse que l'ont donne a quelqu'un qui nous demande "Comment marche telle commande ?" | ||
- | Toutes les commandes sur cette page possèdent une documentation disponible avec la commande "man" | + | ===== Généralisation ===== |
- | man <nom_de_la_commande> | + | – Les entités sous-typespréexistent |
+ | – Leur identification est indépendante de celle de l'entité sur-type | ||
+ | – Généralisation= mise en facteurs communs de propriétés | ||
+ | – Processus de perception qui va du particulier au général | ||
- | Cette commande permet d'afficher la documentation de la commande dans le shell linux | + | exemple : une entité personnage qui regroupe plusieurs classe de personnage(guerrier, mage est ...) |
- | + | ||
- | + | ||
- | ===== Quelques commandes de base ===== | + | |
- | + | ||
- | ==== La commande "cd" ==== | + | |
- | + | ||
- | + | ||
- | La commande "cd" (change directory) permet de bouger dans les différents répertoires de son arborescence. | + | |
- | Pour cela, il existe deux types de chemins: | + | |
- | + | ||
- | - Le chemin relatif qui cherche le dossier a partir du repertoire en cours (Pour l'exemple suivant nous sommes dans le dossier "/home/user") | + | |
- | cd Downloads | + | |
- | + | ||
- | - Le chemin absolu qui cherche le dossier a partir de la racine de l'arborescence | + | |
- | cd /home/user/Downloads | + | |
- | + | ||
- | + | ||
- | ==== La commande "mv" ==== | + | |
- | + | ||
- | La commande "mv" (move) permet de deplacer un fichier ou un répertoire vers un autre endroit qu'il soit dans le dossier courant ou non | + | |
- | + | ||
- | - Dans le répertoire courant on deplace le fichier1 vers fichier2 (en clair, on le renomme) | + | |
- | mv fichier1 fichier2 | + | |
- | + | ||
- | - On peut aussi changer le répertoire du fichier ou du dossier | + | |
- | mv fichier1 /home/user/fichier2 | + | |
- | + | ||
- | + | ||
- | ==== La commande "cp" ==== | + | |
- | + | ||
- | la commande "cp" (copy) permet de copier un fichier ou un répertoire vers un autre emplacement | + | |
- | Dans l'exemple ci-dessous on copie le fichier1 vers le fichier2 | + | |
- | + | ||
- | cp fichier1 fichier2 | + | |
- | + | ||
- | Pour les répertoires il faut utiliser une options supplémentaires "-R" qui permet de copier de manière récursive | + | |
- | + | ||
- | cp -R dossier1 dossier2 | + | |
- | + | ||
- | + | ||
- | ==== La commande "ls" ==== | + | |
- | + | ||
- | La commande "ls" (list segments) permet d'afficher le contenu d'un répertoire | + | |
- | + | ||
- | ls repertoire1 | + | |
- | + | ||
- | Il existe différentes options, voici les plus souvents utiliséss: | + | |
- | + | ||
- | ls -l | + | |
- | + | ||
- | Cette option permet d'afficher tout les fichiers d'un répertoires avec des informations détaillés sur chaque fichier | + | |
- | + | ||
- | ls -a | + | |
- | + | ||
- | Cette option permet d'afficher aussi les fichiers cachés | + | |
- | + | ||
- | ==== La commande "rm" ==== | + | |
- | + | ||
- | La commande "rm" (remove) permet de supprimer un fichier ou un répertoire | + | |
- | Par exemple pour un fichier: | + | |
- | rm fichier1 | + | |
- | + | ||
- | Pour supprimer un dossier il faut ajouter l'option -r | + | |
- | rm -r dossier1 | + | |
- | + | ||
- | Quelques options utiles: | + | |
- | + | ||
- | L'option "rm -i" lors de la suppression d'un répertoire, on demande à l'utilisateur, pour chaque fichier à supprimé, si il souhaite le supprimer, cette commande permet une suppression des données plus controlé. | + | |
- | + | ||
- | rm -ri repertoire1 | + | |
- | L'option "-f" permet de forcer la suppression d'un fichier ou d'un dossier | + | |
- | ATTENTION cette option ne prévient pas l'utilisateur si la suppression est dangeureuse, à utilisé avec précaution ! | + | |
- | + | ||
- | rm -rf repertoire1 | + | |
- | + | ||
- | ==== La commande "cat" ==== | + | |
- | + | ||
- | La commande cat permet d'afficher le contenu d'un fichier dans le shell | + | |
- | cat fichier1 | + | |
- | + | ||
- | ==== La commande "ps" ==== | + | |
- | La commande "ps" affiche les processus en cours | + | |
- | ps -ef | + | |
- | Il existe plusieurs options, voir: | + | |
- | man ps | + | |
- | + | ||
- | ==== La commande "grep" ==== | + | |
- | La commande "grep" est une commande qui permet de filter un texte. Elle ne fera apparaitre que les lignes qui comprennent le mot données en paramètres. | + | |
- | Elle s'utilise avec un "pipe", de cette facon: | + | |
- | cat fichier1 | grep <mot_a_chercher> | + | |
- | Comment ça marche ? | + | |
- | C'est simple la commande grep va s’exécuter sur le résultat de la première commande. | + | |
- | Ici, la première commande est "cat".Celle-ci affiche le contenu d'un fichier et bien la commande grep ne va afficher que les lignes qui contiennent le mot recherché. | + | |
- | + | ||
- | Imaginons un fichier "fichier1" qui a le contenu suivant: | + | |
- | nombre1 | + | |
- | pizza | + | |
- | nombre2 | + | |
- | banane | + | |
- | quiche | + | |
- | + | ||
- | Ce fichier contient donc 5 lignes. La commande: | + | |
- | cat fichier1 | + | |
- | va afficher ces cinqs lignes dans le shell. | + | |
- | Maintenant imaginons que l'ont souhaite uniquement les lignes avec le mot "nombre", nous faisons alors: | + | |
- | cat fichier1 | grep nombre | + | |
- | La commande affichera alors seulement 2 lignes: | + | |
- | nombre1 | + | |
- | nombre2 | + | |
- | + | ||
- | La commande grep sert donc a filtrer les données d'un fichier. | + | |
- | + | ||
- | ==== Changer son mot de passe ==== | + | |
- | + | ||
- | Il faut utiliser la commande "passwd" | + | |
- | passwd | + | |
- | + | ||
- | ===== Editer un fichier ===== | + | |
- | + | ||
- | Pour editer un fichier, il existe plusieurs utilitaire pour editez un fichier | + | |
- | + | ||
- | ==== VI ==== | + | |
- | "vi" ou son homologue amélioré "vim" (qui n'est pas installé par défault) est un des plus anciens editeur de texte en ligne de commande, il est très particulier puique'il fontionne de manière modal. Il demande un certain temps d'adaptation. | + | |
- | + | ||
- | ==== Nano ==== | + | |
- | "nano" est un éditeur de texte en ligne de commande classique | + | |
- | + | ||
- | ==== Emacs ==== | + | |
- | + | ||
- | Emacs est un autre éditeur de texte célèbre pour avoir été créer par Richard Stallman. Il est assez lourd, au point que ces détracteurs sorte régulièrement cette phrase: "Emacs est un système d'exploitation auquel il manque juste un éditeur de texte". A méditer ! | + | |
- | + | ||
- | + | ||
- | ===== Gestion des paquets ===== | + | |
- | + | ||
- | Pour cette section, nous parlerons du systeme de gestion des paquets de debian et de ses dérivés, à savoir "apt" | + | |
- | + | ||
- | "APT" est un systeme de gestion de paquets, il permet de télécharger des paquets en ligne de commande | + | |
- | + | ||
- | ==== Configuration des dépots ==== | + | |
- | + | ||
- | Les dépots sont disponible dans le fichier /etc/apt/sources.list | + | |
- | + | ||
- | nano /etc/apt/sources.list | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== Installer un paquet ==== | + | |
- | apt-get install <mon_paquet> <mon_paquet2> <...> | + | |
- | + | ||
- | Cette commande permet d'installer un ou plusieurs paquets | + | |
- | + | ||
- | ==== Chercher un paquet ==== | + | |
- | + | ||
- | apt-cache search <nom_du_paquet> | + | |
- | + | ||
- | Il est conseillé d'utiliser des jockers comme "*" pour faire des recherches plus amples. | + | |
- | Par exemple, pour trouver tout les paquets python3 | + | |
- | + | ||
- | apt-cache search "python3-*" | + | |
- | + | ||
- | (Il ne faut pas oublier les guillemets) | + | |
- | + | ||
- | Cette commande liste tout les paquets commencant par "python3-" | + | |
- | + | ||
- | ==== Supprimer un paquet ==== | + | |
- | + | ||
- | apt-get remove <nom_du_paquet> <nom_du_paquet2> <...> | + | |
- | + | ||
- | Cependant une "trace" du paquet reste sur votre disque dur, pour tout supprimer tapez la commande suivante: | + | |
- | apt-get remove --purge <nom_du_paquet> | + | |
- | + | ||
- | ==== Mettre a jour les dépots ==== | + | |
- | apt-get update | + | |
- | + | ||
- | ==== Mettre à jour les paquets installés ==== | + | |
- | apt-get upgrade | + | |
- | + | ||
- | + | ||
- | ===== Configurer votre connexion réseau ===== | + | |
- | + | ||
- | Le fichier de configuration est /etc/network/interfaces | + | |
- | nano /etc/network/interfaces | + | |
- | + | ||
- | + | ||
- | Pour voir vos interfaces et leurs adresses actuelles: | + | |
- | ifconfig | + | |
- | + | ||
- | Il faut bien penser à regarder votre interface par default grâce a la commande ifconfig. | + | |
- | + | ||
- | Voici un exemple de configuration: | + | |
- | auto eth0 | + | |
- | iface eth0 inet static | + | |
- | address 172.17.2.93 | + | |
- | netmask 255.255.254.0 | + | |
- | gateway 172.17.3.254 | + | |
- | + | ||
- | Analysons les différentes parties: | + | |
- | auto eth0 | + | |
- | L'interface eth0 se connectera automatiquement au démarrage de la machine | + | |
- | iface eth0 inet static | + | |
- | l'interface eth0 utilisera une connexion statique configuré avec l’adresse réseau, le masque et la passerelle que vous indiquerez en dessous. | + | |
- | + | ||
- | Il est aussi possible d'utiliser du dhcp, ce qui est plus simple, comme ceci: | + | |
- | auto eth0 | + | |
- | iface eth0 inet dhcp | + | |
- | + | ||
- | Lors du démarrage, le serveur dhcp fournira une adresse, un masque, une passerelle automatiquement | + | |
- | + | ||
- | ===== Gestion des utilisateurs ===== | + | |
- | Dans cette partie nous allons voir comment gérer les utilisateurs et les groupes | + | |
- | ==== Créer un utilisateur ==== | + | |
- | Il existe deux commandes pour le faire | + | |
- | === La commande "adduser" === | + | |
- | Cette commande est un script de création de compte automatique, il vous demandera automatiquement les informations sur le nouvel utilisateur. | + | |
- | adduser <nom_de_votre_utilisateur> | + | |
- | === La commande "useradd" === | + | |
- | La commande useradd permet une création plus controlé de son utilisateur, on peut rentrer toutes les informations dans des options, par exemple: | + | |
- | useradd -u 1010 -g 1002 -m jane | + | |
- | Dans cette exemple nous avons créer une utilisatrice jane d'uid 1010, de gid 1002 et nous avons aussi créer son dossier home dans le répertoire "/home/jane" (avec l'option -m, marche aussi avec --create-home) | + | |