Linux

65
Linux LPI niveau 1 M.EL FAR M.EL FAR 1

description

Linux

Transcript of Linux

  • Linux LPI niveau 1

    M.EL FARM.EL FAR

    1

  • Linux LPI niveau 1

    - Module 00 : Historique

    - Module 01 : Introduction au systme linux

    - Module 02 :GNU et commandes Unix

    2

  • le systme GNU/Linux a vu le jour en 1991 par un tudiant finlandais, Linus Torvalds.

    Linux a su garder, au fil de ses volutions, l'hritage des tous premiers systmes Unix.

    historique

    premiers systmes Unix.

    Paralllement cela, une philosophie nouvelle est apparu concernant le partage des connaissances, protge par une licence qui garantirait la transparence des fichiers sources et la possibilit de les modifier.

    3

  • 1983 : R. Stallman fonde la Free Software Foundation

    Il dcrit dans le Manifeste GNU les quatre liberts fondamentalesque doit respecter un logiciel pour tre qualifi de logiciel libre (freesoftware en anglais) :

    libert d'excution : tout le monde a le droit de lancer leprogramme, quel qu'en soit le butlibert de modification : tout le monde a le droit d'tudier le

    Logiciel libre

    libert de modification : tout le monde a le droit d'tudier leprogramme et de le modifier, ce qui implique un accs au codesource

    libert de redistribution : tout le monde a le droit de rediffuser leprogramme, gratuitement ou non

    libert d'amlioration : tout le monde a le droit de redistribuerune version modifie du programme

    4

  • GNU's Not Unix : le systme dexploitation GNU a dvelopp un systme complet de logicielles libres qui a une compatibilit ascendante avec UNIX

    Licence GNU/General Public License (GPL) :- Une modification d'un logiciel sous GPL doit forcment tre

    GNU

    - Une modification d'un logiciel sous GPL doit forcment treredistribue en GPL.- Promouvoir le logiciel libre- lutilisation du logiciel a des fin lucratives - Les logiciels sous licence GPL restent la proprit de leur auteurs personne ne peut sapproprier tout ou partie des droits dauteurs

    5

  • 1991 : Linus Torvalds (Finlandais) dveloppe un noyau s'inspirant d'unix : linux. Il le met trs vite sous licence GPL, rejoint par de nombreux dveloppeurs.

    Naissance de linux

    Succs : qualit technique du noyau + nombreuses distributions qui facilitent l'installation du systme et des programmes

    6

  • - Le noyau est la couche de base dun systme dexploitation. Cest le noyau qui gre la mmoire, laccs aux priphriques(disque dur, carte son, carte rseau, etc...), la circulation des donnes sur le bus, les droits daccs, les multiples processus quicorrespondent aux multiples tches que lordinateur doit excuter en mme temps, etc...

    Noyau linux

    - Ce noyau de systme dexploitation a loriginalit dtre multi-utilisateurs et multi-tches et de fonctionner sur de nombreuses plates-formes (Intel, Apple, Sparc, etc...)

    - Avec un simple noyau, on ne peut rien faire ! Le noyau Linux vient donc lintrieur de distributions.

    7

  • - Distribution linuxun noyau Linuxdes programmes, en majorit libres (un navigateur Web, un lecteur de Mail, un serveur FTP, etc...)une mthode pour installer et dsinstaller facilement ces programmesun programme d'installation du systme d'exploitation

    Qu'est-ce qu'une distribution linux ?

    un programme d'installation du systme d'exploitation

    - Quelques distributions :debian, redhat, mandrake/mandriva, knoppix, gentoo

    Quelle distribution est installe sur votre machine ?

    8

  • Aujourdhui, le succs de Linux sexplique par la qualit technique du noyau, mais aussi par la prsence de nombreuses distributions Linux qui facilitent linstallation du systme et des programmes.

    Il sexplique surtout par son appartenance au monde du libre qui lui apporte une grande rapidit et qualit de dveloppement.

    Le succs de linux

    apporte une grande rapidit et qualit de dveloppement.

    Le nombre dutilisateurs de Linux est aujourdhui estim plusieurs millions !

    9

  • Atelier

    Module 2 10

  • Module 01 : Introduction au systme linux

    Module 1 11

  • Le systme de fichiers

    /

    bin boot dev etc home lib mnt proc sbin sys tmp usr var

    Module 1 12

  • /boot: Contient les fichiers relatifs au boot loader

    /bin : Contient les binaires (excutables) vitaux pour l'utilisateur

    /dev : fichiers des pilotes de priphriques

    Le systme de fichiers

    Module 1

    /etc : configuration systme propre la machine

    /home : rpertoire personnel des utilisateurs

    /mnt : Contient les dossiers pour les points de montage temporaires

    /proc : Contient les informations sur le noyau

    13

  • /root : Rpertoire personnel de root

    /sbin : excutables systme essentiels

    /tmp : Contient les dossiers et fichiers temporaires. Le dossier est vid chaque dmarrage

    Le systme de fichiers

    Module 1

    vid chaque dmarrage

    /usr : Contient tout ce qui n'est pas vital au systme (voir ci-dessous)

    /var : Contient des fichiers qui changent frquemment, tel que : les logs, les mail, queues d'impression... (voir ci-dessous)

    14

  • Le rpertoire "/usr" contient certains dossiers dj prsents dans "/" (bin, sbin, lib, tmp) Mais ceux-ci ne sont pas ncessaires au fonctionement minimal du systme.

    Hirarchie usr

    Module 1

    On va donc y trouver les fichiers relatifs aux programmes tierce partie, par exemple le navigateur web ou les lecteurs multimdias

    15

  • Hirarchie usr

    Rpertoire Description

    /usr/bin Contient les binaires pour l'utilisateur

    /usr/doc Contient la documentation des programmes installs (hors manpages)

    /usr/lib Contient les librairies partages/usr/lib Contient les librairies partages

    /usr/man Contient les manpages (pages de manuel)

    /usr/sbin Contient les binaires pour l'administrateur

    /usr/src Contient les sources du noyau

    /usr/X11R6 Contient les fichiers du serveur X

    /usr/include contient tous les "headers" ncessaires la programmation dans les diffrents langages

    Module 1 16

  • Un fichier variable est un fichier dont le contenu va changer frquemment et sans l'intervention directe de l'homme (ex : fichier de log).

    Ils sont opposs aux fichiers statiques, fichiers dont le contenu ne

    Hirachie var

    Module 1

    Ils sont opposs aux fichiers statiques, fichiers dont le contenu ne varie pas (ex : fichier de configuration)Le dossier "/var" contient tous les fichiers variables.

    17

  • Hirachie var

    /var/log Contient tous les fichiers de log

    /var/mail Contient les boites aux lettres de chaque utilisateur

    Module 1

    /var/mail Contient les boites aux lettres de chaque utilisateur

    /var/run Contient les fichiers des PID des deamons

    /var/spool Contient les queues en cours (envoi de mail, impression, crontab)

    18

  • Les systmes Unix/Linux furent l'origine conus pour fonctionner en mode texte, sans interface graphique.

    Bien qu'aujourd'hui de nombreuses interfaces graphiques permettant

    Les terminaux

    Module 1

    Bien qu'aujourd'hui de nombreuses interfaces graphiques permettant de configurer le systme ont t dveloppes, il demeure totalement administrable en ligne de commande (CLI - Command Line Interface), cette mthode restant la plus simple et la plus puissante

    19

  • Cette ligne de commande est accessible via les terminaux qui jouent le rle d'interface utilisateur/machine et fonctionnent avec un interprteur de commandes : le shell.

    Il est possible de se connecter sur plusieurs terminaux via la combinaison des touches Alt+Fn o Fn est une touche de fonction

    Les terminaux

    Module 1

    combinaison des touches Alt+Fn o Fn est une touche de fonction (Ex : F1,F2...).

    Note : Depuis un environnement graphique, il est possible de revenir sur un terminal via la combinaison des touches Ctrl+Alt+Fn. Pour revenir au mode graphique, il faut en gnral utiliser la combinaison Alt+F7.

    20

  • Le rle du Shell est d'assurer la correspondance entre ce que l'utilisateur tape et le systme. Il en existe de nombreuses versions. Le plus connus d'entre eux, bash est celui que nous utiliserons pendant ce cours.

    Le Shell

    Module 1

    Chacun des shells existant dispose de ses propres avantages et points faible. L'intrt d'avoir un shell plutt qu'un autre dpend des fonctionnalits offertes par celui-ci, et donc de l'utilisation que l'on souhaite en avoir.

    21

  • Le tableau suivant vous prsente les principaux Shells ainsi que leurs caractristiques

    Nom Description

    bash (Bourne Again Shell) offre l'dition de la ligne de commande et le rappel des commandes prcdentes

    csh (C Shell) dvelopp Berkeley, compatible avec le shell Bourne. Pas d'dition de la ligne de commande ni d'historique des commandes(Korn Shell) offre l'dition de la ligne de commande (touches ksh (Korn Shell) offre l'dition de la ligne de commande (touches compatibles Emacs)

    sh le shell original, pas d'dition de la ligne de commande.

    tcsh version amliore du csh, avec un support de l'dition de la ligne de commande avec correction des commandes tapes

    zsh shell similaire au Korn shell, avec plus de dynamisme lors des affichages et gre la non redondance des commandes.

    22

  • Le compte utilisateur classiqueLe compte root (Administrateur)Un symbole de l'invite de commande vous permet de dterminer le type de compte que vous utilisez.

    Module 1

    Accs simple utilisateur :user@localhost $

    Accs root :root@localhost #

    23

  • Module 02 : GNU et commandes Unix

    1- Unix et Linux

    2- Travailler en ligne de commande2- Travailler en ligne de commande3- Excution de flux de textes en utilisant des filtres 4- Gestion de base des fichiers5- Expressions rgulires 6- Effectuer les modifications de base des fichiers avec vi 7- Utiliser les streams, pipes, et redirections 8- Crer, surveiller et terminer des processus 9- Modifier les priorits des processus

    Module 2 24

  • Objectifs:A lissue de ce module, vous serez capable de :

    - Utiliser les commandes de base- Utiliser les commandes de base

    - Utiliser le help a laide de la commande man

    Module 2 25

  • Le format des commande se base sur:command option(s) argument(s)

    -Pour afficher les information du systme

    # uname -a Afficher toutes les informations dcrites ci-dessus

    Commandes de base

    -m, --machine Afficher le type (matriel) de machine.

    -n, --nodename Afficher le nom d'hte de la machine sur le rseau.

    -r, --release Afficher le numro de version du systme d'exploitation

    Module 2 26

  • -Pour Afficher ou configurer la date et l'heure du systme# date

    Pour afficher la date de l'avant-veille : date --date '2 days ago'

    Commandes de base

    Pour afficher la date du jour venir dans 3 mois plus un jour : date --date '3 months 1 day'

    Pour afficher le calendrier # cal

    Module 2 27

  • - Pour effacer le terminale :# clear

    -Pour excuter deux commande une aprs lautre: # date ; uname -sr

    Commandes de base

    # date ; uname -sr

    Module 2 28

  • Les caractres de contrle sur le clavier

    Module 2 29

  • La commande man affiche toute la documentation relative une commande (syntaxe, utilisation, options...). les pages de manuel se trouvent dans le rpertoire /usr/man, mais peuvent galement se trouver en d'autres endroits plus spcialiss

    Utilisation de la commande man

    La syntaxe utiliser est : man nom_de_la_commande

    Exemples :$ man man$ man cat

    Module 2 30

  • La documentation est clase en 8 sections numrotes de 1 8 :1.commandes UNIX2. appels systme3. sous-programmes de bibliothques4. format de fichiers UNIX: a.out, dir, fs5. "divers" (table ASCII ...)6. jeux7. fichiers spciaux

    Classement en sections

    7. fichiers spciaux8. administration (dmarrage, gnration...)

    chercher la page voulue : # man 1 ls# man 5 passwd

    Module 2 31

  • La documentation man est limite puisqu'il faut connatre le nom de la commande.On peut avoir une bauche de la solution en faisant une recherche par mot-clef. Pour cela,on utilise la commande apropos, dont la syntaxe est la suivante :

    Commande apropos

    on utilise la commande apropos, dont la syntaxe est la suivante :apropos mot-clef

    Exemple : apropos editor ou apropos lock

    Module 2 32

  • Prsentation Des Commandes Correspondantes Aux Rpertoires, Fichiers

    Objectifs:A lissue de ce module, vous serez capable de :

    - Utiliser les commandes relatives aux rpertoires

    - Utiliser les commandes sur les fichiers

    Module 2 33

  • Si vous tes en administrateur systme la commande par cd ~vous placera dans le rpertoire /root.

    Dans le cas o je suis (je suis logg en tant qu'utilisateur usera) je vais automatiquement me retrouver dans le rpertoire de

    Dans quel rpertoire suis-je actuellement ? (pwd)

    je vais automatiquement me retrouver dans le rpertoire de l'utilisateur usera qui se trouve dans /home/usera.Les rpertoires des utilisateurs sont tous sous /home.

    Module 2 34

  • - pour connatre le chemin du rpertoire o l'on se trouve est d'utiliser la commande pwd :# pwd

    Pour changer de rpertoire courant : # cd rpertoire

    les commandes relatives aux rpertoires

    # cd rpertoire

    Le symbole (~) reprsente votre rpertoire d accueil

    Le symbole (..) reprsente le rpertoire parent.

    Le symbole (.) reprsente le rpertoire courant.

    Module 2 35

  • - Pour lister le contenu du rpertoire:# ls

    Demandons par exemple uniquement les noms des fichiers commenant par la lettre "l" :

    les commandes relatives aux rpertoires

    commenant par la lettre "l" :$ ls l*

    $ ls -l permet de lister les attributs des fichiers

    $ ls a liste tous les fichiers du rpertoire, y compris les fichiers cachs

    Module 2 36

  • pour Afficher les fichiers par date, c'est--dire en les classant du rcent au plus ancien:ls -t

    pour Afficher les fichiers par type :

    les commandes relatives aux rpertoires

    pour Afficher les fichiers par type :ls -F

    Pour Afficher rcursivement le contenu dun rpertoire :ls -R

    Module 2 37

  • La commande file

    La commande file permet dafficher le type du fichier (excutable, rpertoire, ASCII, )

    $ file /bin/ls

    les commandes relatives aux rpertoires

    $ file /bin/ls$ file /etc/passwd$ file /usr

    Module 2 38

  • - pour Visualiser le contenu de fichiers:

    # cat permet de lire des fichiersUne option utile de cat est -n qui permet de numroter les lignes

    # more a l'avantage d'afficher le fichier page par page. Pour

    les commandes sur les fichiers

    # more a l'avantage d'afficher le fichier page par page. Pour passer d'une page l'autre, tapez sur la touche ESPACE.

    # less affiche ligne par ligne sur un cran le contenu des fichiers.

    Module 2 39

  • -Vous pouvez utiliser la commande head simplement pour afficher le dbut d'un fichier# head filename

    Il est possible de spcifier le nombre de lignes supplmentaires

    les commandes sur les fichiers

    Il est possible de spcifier le nombre de lignes supplmentaires en entrant# head n filename

    Module 2 40

  • les commandes sur les fichiers

    La commande tail permet d'afficher les dernires lignes d'un fichier

    # tail -n filename

    L'option -f demande tail de ne pas s'arrter lorsqu'elle a affich L'option -f demande tail de ne pas s'arrter lorsqu'elle a affich les dernires lignes du fichier et de continuer afficher la suite du fichier au fur et mesure que celui-ci grossit jusqu' ce que l'utilisateur interrompe la commande avec la combinaison de touches d'interruption Ctrl-c.

    Module 2 41

  • - Pour afficher le nombre :de lignes , mots et caractres :# wc

    les commandes sur les fichiers

    Module 2 42

  • Commandes De Gestion De Rpertoires Et De Fichiers

    Objectifs :A lissue de ce module, vous serez capable de :

    - Copier dplacer et crer les fichiers et les rpertoires

    -Renommer & supprimer les fichiers et les rpertoires

    - Utiliser les liens symboliques

    Module 2 43

  • - Pour copier un fichier :# cp file1 file1_copie

    - Pour copier un rpertoire:# cp rep1 rep1_copie

    Copier les fichiers et les rpertoires

    Module 2 44

  • -Pour dplacer un fichier : # mv file1 to destination./

    -Pour dplacer un rpertoire :# mv rep1 to destination./

    Dplacer et renommer les fichiers et les

    rpertoires

    # mv rep1 to destination./

    -Pour renommer un fichier ou un rpertoire :# mv file1 my_file1#mv rep1 my_rep1

    Module 2 45

  • - pour crer un fichier :

    # touch file_name

    - Pour crer un Repertoire

    Crer les fichiers et les rpertoires

    - Pour crer un Repertoire # mkdir rep1

    # mkdir -p rep2 /rep1

    # mkdir rep3 rep4 rep5

    Module 2 46

  • -Pour supprimer un fichier :# rm filename

    -Pour supprimer un rpertoire vide :# rmdir rpertoire

    Supprimer les fichier et les rpertoires

    # rmdir rpertoire

    -Pour dtruire tous les sous-rpertoires, leurs contenus et le rpertoire lui-mme. :# rm -r rpertoire

    Module 2 47

  • Les liens sont des fichiers spciaux permettant d'associer plusieurs noms (liens) un seul et mme fichier

    On distingue deux types de liens :

    Les liens symboliques reprsentant des pointeurs virtuels (raccourcis) vers des fichiers rels. En cas de suppression du lien

    Utilisation des liens symboliques et physiques

    (raccourcis) vers des fichiers rels. En cas de suppression du lien symbolique le fichier point n'est pas supprim.

    Les liens physiques (aussi appeles liens durs ou en anglais hardlinks) reprsentent un nom alternatif pour un fichier

    Module 2 48

  • - Pour crer un lien symbolique :# ln -s source_file target_file

    Les liens physiques sont cres l'aide de la commande ln (sans l'option -s) selon la syntaxe suivante :

    Utilisation des liens symboliques et physiques

    # ln nom-du-fichier-reel nom-du-lien-physique

    Module 2 49

  • Atelier

    Module 2 50

  • Les Commandes De Recherche DeRpertoires Et De Fichiers

    Objectifs :A lissue de ce module, vous serez capable de :

    - Copier dplacer et crer les fichiers et les rpertoires

    -Renommer & supprimer les fichiers et les rpertoires

    - Utiliser les liens symboliques

    Module 2 51

  • # grep -option pattern file_name

    Ex1:- pour chercher tous les lignes qui contiennent le mot rootDans le fichier /etc/group# grep root /etc/group

    Rechercher dans le contenu des fichiers

    Ex2: pour chercher tous les linges qui ne contiennent pas le mot root dans le fichier /etc/group# grep -v root /etc/group

    Module 2 52

  • Ex3:- pour chercher les noms des fichiers qui contient le mot root# grep -l root group passwd hosts

    Ex4: pour compter le nombre de linges qui contiennent le mot

    Rechercher dans le contenu des fichiers

    Ex4: pour compter le nombre de linges qui contiennent le mot root dans le fichier /etc/group# grep -c root /etc/group

    Module 2 53

  • Utilisation des expressions de metacaractres avec grep

    Module 2 54

  • - Find scrute rcursivement larborescence du system de fichier en recherchant tous les fichier galant une expression boolenne reprsentant un critre de recherche

    La commande de recherche de fichiers : find

    Module 2 55

  • - Ex1: pour chercher un fichier nommer test dans votre rpertoire daccueil # find ~ -name test

    -Ex2: pour chercher et supprimer un fichier nommer test dans

    Exemples de la commande find

    -Ex2: pour chercher et supprimer un fichier nommer test dans votre rpertoire daccueil# find ~ -name test -exec rm {} \;

    Ex3: pour chercher tous les fichiers qui ont t modifier il y a deux jours dans votre rpertoire courant # find . -mtime +2

    Module 2 56

  • La commande sort trie les lignes dun ou plusieurs fichiers de texte. Par dfaut, le tri se fait suivant lordre lexicographique.

    Un certain nombre doptions sont fournies pour modifier lordre du tri :

    la commande sort

    -n pour tri numrique, -r pour tri invers,-k x pour tri partir du champ x,-t c pour utiliser le sparateur de champs

    Module 2 57

  • Quelques exemples de la commande sort :

    $ ls -l | sort -n -k5$ sort -n -k3 /etc/passwd

    la commande sort

    $ sort -n -k3 /etc/passwd

    Module 2 58

  • Ce filtre limine les lignes dupliques depuis un fichier tri. On le voit souvent dans un tube combin avec un sort

    cat liste-1 liste-2 liste-3 | sort | uniq > liste.finale# Concatne les fichiers liste,

    la commande uniq

    # Concatne les fichiers liste, # les trie, # efface les lignes doubles, # et enfin crit le rsultat dans un fichier de sortie.

    Module 2 59

  • La commande cut permet d'afficher des zones spcifiques d'un fichier.Par exemple : # cut -c1 /etc/passwdaffichera la premire colonne du fichier /etc/passwd. Il existe d'autres spcifications

    la commande cut

    d'autres spcifications

    On peut galement spcifier un sparateur de champs avec l'option -d. Par exemple : # cut -d: -f6 /etc/passwdaffichera le 6eme champ du fichier /etc/passwd, dont le sparateur de champs est le caractre double point (``:'').

    Module 2 60

  • 61

  • Le systme de fichiers

    Accs aux fichiers rglement (sauf: tous les droits pour root)

    3 types dutilisateurs: propritaire (user) personnes du mm groupe (group)

    -- fichiers fichiers --

    personnes du mm groupe (group) les autres (others)

    3 types de permissions lecture (r) criture (w) excution (x)

    afficher le contenuModifi er

    excuter

    fichier

    afficher le contenucrer/supp fichiers

    traverser

    rpertoire

  • Le systme de fichiers

    Affichage des caractristiques: ls -l

    -- fichiers fichiers --

    group

    -rw-r--r-- 1 user1 staff 58K 16 Jul 09:19 tp1.tex

    nb liens propritaire

    groupe

    taille date nom

    -rw-r--r--

    type

    user

    group

    others

  • Le systme de fichiers

    Changer les permissions: chmodchmod |nnn classe:

    u : userg : groupo : others

    -- fichiers fichiers --

    chaque perm = 1 valeur:r 4w 2x 1o : others

    a : all op:

    = : affectation- : suppr.+ : ajout

    perm:r : lecturew : criturex : excution

    exemples:chmod u=rwx,g=rx,o=r tp1.texchmod a+x script.shchmod 755 script.sh

    df. des permissions (par addition) pour chaque classe

    x 1rien 0

  • Atelier

    Module 2 65