Linux LPI niveau 1

Trainer: Najib LAHMIOUI

1

Linux LPI niveau 1

-

Module 00 : Historique Module 01 : Introduction au système linux Module 02 :GNU et commandes Unix

-

-

Trainer: Najib LAHMIOUI

2

historique

le système GNU/Linux a vu le jour en 1991 par un étudiant finlandais, Linus Torvalds. Linux a su garder, au fil de ses évolutions, l'héritage des tous premiers systèmes Unix. Parallèlement à cela, une philosophie nouvelle est apparu concernant le partage des connaissances, protégée par une licence qui garantirait la transparence des fichiers sources et la possibilité de les modifier.

Trainer: Najib LAHMIOUI

3

Logiciel libre 1983 : R. Stallman fonde la Free Software Foundation Il décrit dans le Manifeste GNU les quatre libertés fondamentales que doit respecter un logiciel pour être qualifié de logiciel libre (free software en anglais) : liberté d'exécution : tout le monde a le droit de lancer le programme. gratuitement ou non liberté d'amélioration : tout le monde a le droit de redistribuer une version modifiée du programme Trainer: Najib LAHMIOUI 4 . ce qui implique un accès au code source liberté de redistribution : tout le monde a le droit de rediffuser le programme. quel qu'en soit le but liberté de modification : tout le monde a le droit d'étudier le programme et de le modifier.

Promouvoir le logiciel libre .Les logiciels sous licence GPL restent la propriété de leur auteurs personne ne peut s¶approprier tout ou partie des droits d¶auteurs Trainer: Najib LAHMIOUI 5 . .GNU GNU's Not Unix : le système d¶exploitation GNU a développé un système 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 forcément être redistribuée en GPL.l¶utilisation du logiciel a des fin lucratives .

Succès : qualité technique du noyau + nombreuses distributions qui facilitent l'installation du système et des programmes Trainer: Najib LAHMIOUI 6 . rejoint par de nombreux développeurs.Naissance de linux 1991 : Linus Torvalds (Finlandais) développe un noyau s'inspirant d'unix : linux. Il le met très vite sous licence GPL.

Sparc. la circulation des données sur le bus. carte son. on ne peut rien faire ! Le noyau Linux vient donc à l¶intérieur de distributions.. etc.).. carte réseau. etc..Noyau linux . .. Trainer: Najib LAHMIOUI 7 . l¶accès aux périphériques (disque dur.Avec un simple noyau. C¶est le noyau qui gère la mémoire.Ce noyau de système d¶exploitation a l¶originalité d¶être multiutilisateurs et multi-tâches et de fonctionner sur de nombreuses plates-formes (Intel.. Apple.) . les droits d¶accès. les multiples processus qui correspondent aux multiples tâches que l¶ordinateur doit exécuter en même temps.Le noyau est la couche de base d¶un système d¶exploitation.. etc.

. redhat.Qu'est-ce qu'une distribution linux ? . gentoo« Quelle distribution est installée sur votre machine ? Trainer: Najib LAHMIOUI 8 . mandrake/mandriva.) une méthode pour installer et désinstaller facilement ces programmes un programme d'installation du système d'exploitation . un serveur FTP. knoppix..Distribution linux un noyau Linux des programmes. en majorité libres (un navigateur Web. etc. un lecteur de Mail.Quelques distributions : debian.

Il s¶explique surtout par son appartenance au monde du libre qui lui apporte une grande rapidité et qualité de développement. mais aussi par la présence de nombreuses distributions Linux qui facilitent l¶installation du système et des programmes. Le nombre d¶utilisateurs de Linux est aujourd¶hui estimé à plusieurs millions ! Trainer: Najib LAHMIOUI 9 . le succès de Linux s¶explique par la qualité technique du noyau.Le succès de linux Aujourd¶hui.

Atelier Trainer: Najib LAHMIOUI Module 2 10 .

Module 01 : Introduction au système linux Trainer: Najib LAHMIOUI Module 1 11 .

Le système de fichiers / bin boot dev etc home lib mnt proc sbin sys tmp usr var « Trainer: Najib LAHMIOUI Module 1 12 .

Le système de fichiers /boot: Contient les fichiers relatifs au boot loader /bin : Contient les binaires (exécutables) vitaux pour l'utilisateur /dev : fichiers des pilotes de périphériques /etc : configuration système propre à la machine /home : répertoire personnel des utilisateurs /mnt : Contient les dossiers pour les points de montage temporaires /proc : Contient les informations sur le noyau Trainer: Najib LAHMIOUI Module 1 13 .

Le système de fichiers /root : Répertoire personnel de root /sbin : exécutables système essentiels /tmp : Contient les dossiers et fichiers temporaires. tel que : les logs. (voir ci-dessous) Trainer: Najib LAHMIOUI Module 1 14 . queues d'impression.. les mail. Le dossier est vidé à chaque démarrage /usr : Contient tout ce qui n'est pas vital au système (voir cidessous) /var : Contient des fichiers qui changent fréquemment..

Command Line Interface). Bien qu'aujourd'hui de nombreuses interfaces graphiques permettant de configurer le système ont été développées. sans interface graphique.Les terminaux Les systèmes Unix/Linux furent à l'origine conçus pour fonctionner en mode texte. cette méthode restant la plus simple et la plus puissante Trainer: Najib LAHMIOUI Module 1 15 . il demeure totalement administrable en ligne de commande (CLI .

Il est possible de se connecter sur plusieurs terminaux via la combinaison des touches Alt+Fn où Fn est une touche de fonction (Ex : F1. il est possible de revenir sur un terminal via la combinaison des touches Ctrl+Alt+Fn.).F2..Les terminaux Cette ligne de commande est accessible via les terminaux qui jouent le rôle d'interface utilisateur/machine et fonctionnent avec un interpréteur de commandes : le shell.. Pour revenir au mode graphique. Trainer: Najib LAHMIOUI Module 1 16 . Note : Depuis un environnement graphique. il faut en général utiliser la combinaison Alt+F7.

Le plus connus d'entre eux. L'intérêt d'avoir un shell plutôt qu'un autre dépend des fonctionnalités offertes par celui-ci. Il en existe de nombreuses versions. bash est celui que nous utiliserons pendant ce cours.Le Shell Le rôle du Shell est d'assurer la correspondance entre ce que l'utilisateur tape et le système. et donc de l'utilisation que l'on souhaite en avoir. Chacun des shells existant dispose de ses propres avantages et points faible. Trainer: Najib LAHMIOUI Module 1 17 .

Pas d'édition de la ligne de commande ni d'historique des commandes (Korn Shell) offre l'édition de la ligne de commande (touches compatibles Emacs) le shell original. compatible avec le shell Bourne. avec plus de dynamisme lors des affichages et gère la non redondance des commandes. avec un support de l'édition de la ligne de commande avec correction des commandes tapées shell similaire au Korn shell. Trainer: Najib LAHMIOUI 18 . pas d'édition de la ligne de commande.Le tableau suivant vous présente les principaux Shells ainsi que leurs caractéristiques Nom bash csh ksh sh tcsh zsh Description (Bourne Again Shell) offre l'édition de la ligne de commande et le rappel des commandes précédentes (C Shell) développé à Berkeley. version améliorée du csh.

Accès simple utilisateur : user@localhost $ Accès root : root@localhost # Trainer: Najib LAHMIOUI Module 1 19 .Le compte utilisateur classique Le compte root (Administrateur) Un symbole de l'invite de commande vous permet de déterminer le type de compte que vous utilisez.

Module 02 : GNU et commandes Unix 1.Modifier les priorités des processus Trainer: Najib LAHMIOUI Module 2 20 .Exécution de flux de textes en utilisant des filtres 4. surveiller et terminer des processus 9.Gestion de base des fichiers 5. pipes.Expressions régulières 6. et redirections 8.Utiliser les streams.Créer.Effectuer les modifications de base des fichiers avec vi 7.Unix et Linux 2.Travailler en ligne de commande 3.

Utiliser le help a l¶aide de la commande man Trainer: Najib LAHMIOUI Module 2 21 .Commandes de base Objectifs: A l¶issue de ce module. vous serez capable de : .Utiliser les commandes de base .

-r. --machine Afficher le type (matériel) de machine. --release d'exploitation Afficher le numéro de version du système Trainer: Najib LAHMIOUI Module 2 22 . --nodename Afficher le nom d'hôte de la machine sur le réseau.Commandes de base Le format des commande se base sur: command option(s) argument(s) -Pour afficher les information du système # uname -a Afficher toutes les informations décrites ci-dessus -m. -n.

Commandes de base -Pour Afficher ou configurer la date et l'heure du système # date Pour afficher la date de l'avant-veille : date --date '2 days ago' Pour afficher la date du jour à venir dans 3 mois plus un jour : date --date '3 months 1 day' Pour afficher le calendrier # cal Trainer: Najib LAHMIOUI Module 2 23 .

uname -sr Trainer: Najib LAHMIOUI Module 2 24 .Commandes de base .Pour effacer le terminale : # clear -Pour exécuter deux commande une après l¶autre: # date .

Les caractères de contrôle sur le clavier Trainer: Najib LAHMIOUI Module 2 25 .

. options. les pages de manuel se trouvent dans le répertoire /usr/man.. utilisation.). mais peuvent également se trouver en d'autres endroits plus spécialisés La syntaxe à utiliser est : man nom_de_la_commande Exemples : $ man man $ man cat Trainer: Najib LAHMIOUI Module 2 26 .Utilisation de la commande man La commande man affiche toute la documentation relative à une commande (syntaxe.

) 6.. génération. dir.commandes UNIX 2.. sous-programmes de bibliothèques 4. fichiers spéciaux 8..) chercher la page voulue : # man 1 ls # man 5 passwd Trainer: Najib LAHMIOUI Module 2 27 . fs 5. format de fichiers UNIX: a. jeux 7.. appels système 3. "divers" (table ASCII .Classement en sections La documentation est clasée en 8 sections numérotées de 1 à 8 : 1. administration (démarrage.out.

dont la syntaxe est la suivante : apropos mot-clef Exemple : apropos editor ou apropos lock Trainer: Najib LAHMIOUI Module 2 28 . on utilise la commande apropos.Commande apropos La documentation man est limitée puisqu'il faut connaître le nom de la commande. Pour cela. On peut avoir une ébauche de la solution en faisant une recherche par mot-clef.

Trainer: Najib LAHMIOUI Module 1 29 .

vous serez capable de : .Utiliser les commandes relatives aux répertoires . Fichiers Objectifs: A l¶issue de ce module.Présentation Des Commandes Correspondantes Aux Répertoires.Utiliser les commandes sur les fichiers Trainer: Najib LAHMIOUI Module 2 30 .

Dans le cas où je suis (je suis loggé en tant qu'utilisateur usera) je vais automatiquement me retrouver dans le répertoire de l'utilisateur usera qui se trouve dans /home/usera.Dans quel répertoire suis-je actuellement ? (pwd) Si vous êtes en administrateur système la commande par cd ~ vous placera dans le répertoire /root. Trainer: Najib LAHMIOUI Module 2 31 . Les répertoires des utilisateurs sont tous sous /home.

pour connaître le chemin du répertoire où l'on se trouve est d'utiliser la commande pwd : # pwd Pour changer de répertoire courant : # cd répertoire Le symbole (~) représente votre répertoire d¶ accueil ‡ Le symbole (. ‡ Le symbole (.. Trainer: Najib LAHMIOUI Module 2 32 .) représente le répertoire courant.les commandes relatives aux répertoires .) représente le répertoire parent.

y compris les fichiers cachés Trainer: Najib LAHMIOUI Module 2 33 .les commandes relatives aux répertoires .Pour lister le contenu du répertoire: # ls Demandons par exemple uniquement les noms des fichiers commençant par la lettre "l" : $ ls l* $ ls -l permet de lister les attributs des fichiers $ ls ±a liste tous les fichiers du répertoire.

c'est-à-dire en les classant du récent au plus ancien: ls -t pour Afficher les fichiers par type : ls -F Pour Afficher récursivement le contenu d¶un répertoire : ls -R Trainer: Najib LAHMIOUI Module 2 34 .les commandes relatives aux répertoires pour Afficher les fichiers par date.

répertoire. «) $ file /bin/ls $ file /etc/passwd $ file /usr Trainer: Najib LAHMIOUI Module 2 35 . ASCII.les commandes relatives aux répertoires La commande file La commande file permet d¶afficher le type du fichier (exécutable.

# less affiche ligne par ligne sur un écran le contenu des fichiers. Pour passer d'une page à l'autre.les commandes sur les fichiers .pour Visualiser le contenu de fichiers: # cat permet de lire des fichiers Une option utile de cat est -n qui permet de numéroter les lignes # more a l'avantage d'afficher le fichier page par page. Trainer: Najib LAHMIOUI Module 2 36 . tapez sur la touche ESPACE.

les commandes sur les fichiers -Vous pouvez utiliser la commande head simplement pour afficher le début d'un fichier # head filename Il est possible de spécifier le nombre de lignes supplémentaires en entrant # head ±n filename Trainer: Najib LAHMIOUI Module 2 37 .

Trainer: Najib LAHMIOUI Module 2 38 .les commandes sur les fichiers La commande tail permet d'afficher les dernières lignes d'un fichier # tail -n filename L'option -f demande à tail de ne pas s'arrêter lorsqu'elle a affiché les dernières 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.

Pour afficher le nombre :de lignes .les commandes sur les fichiers . mots et caractères : # wc Trainer: Najib LAHMIOUI Module 2 39 .

vous serez capable de : .Commandes De Gestion De Répertoires Et De Fichiers Objectifs : A l¶issue de ce module.Utiliser les liens symboliques Trainer: Najib LAHMIOUI Module 2 40 .Copier déplacer et créer les fichiers et les répertoires -Renommer & supprimer les fichiers et les répertoires .

Pour copier un répertoire: # cp rep1 rep1_copie Trainer: Najib LAHMIOUI Module 2 41 .Pour copier un fichier : # cp file1 file1_copie .Copier les fichiers et les répertoires .

Déplacer et renommer les fichiers et les répertoires -Pour déplacer un fichier : # mv file1 to destination«./ « -Pour renommer un fichier ou un répertoire : # mv file1 my_file1 #mv rep1 my_rep1 Trainer: Najib LAHMIOUI Module 2 42 ./ « -Pour déplacer un répertoire : # mv rep1 to destination«.

Créer les fichiers et les répertoires .pour créer un fichier : # touch file_name .Pour créer un Repertoire # mkdir rep1 # mkdir -p rep2 /rep1 # mkdir rep3 rep4 rep5 Trainer: Najib LAHMIOUI Module 2 43 .

Supprimer les fichier et les répertoires -Pour supprimer un fichier : # rm filename -Pour supprimer un répertoire vide : # rmdir répertoire -Pour détruire tous les sous-répertoires. : # rm -r répertoire #rm -ri répertoire Trainer: Najib LAHMIOUI Module 2 44 . leurs contenus et le répertoire lui-même.

Les liens physiques (aussi appelées liens durs ou en anglais hardlinks) représentent un nom alternatif pour un fichier Trainer: Najib LAHMIOUI Module 2 45 .Utilisation des liens symboliques et physiques Les liens sont des fichiers spéciaux permettant d'associer plusieurs noms (liens) à un seul et même fichier On distingue deux types de liens : Les liens symboliques représentant des pointeurs virtuels (raccourcis) vers des fichiers réels. En cas de suppression du lien symbolique le fichier pointé n'est pas supprimé.

Utilisation des liens symboliques et physiques .Pour créer un lien symbolique : # ln -s source_file target_file Les liens physiques sont créées à l'aide de la commande ln (sans l'option -s) selon la syntaxe suivante : # ln nom-du-fichier-reel nom-du-lien-physique Trainer: Najib LAHMIOUI Module 2 46 .

Atelier Trainer: Najib LAHMIOUI Module 2 47 .

Les Commandes De Recherche De Répertoires Et De Fichiers Objectifs : A l¶issue de ce module.Copier déplacer et créer les fichiers et les répertoires -Renommer & supprimer les fichiers et les répertoires . vous serez capable de : .Utiliser les liens symboliques Trainer: Najib LAHMIOUI Module 2 48 .

Rechercher dans le contenu des fichiers # grep -option pattern file_name Ex1:.pour chercher tous les lignes qui contiennent le mot root Dans le fichier /etc/group # grep root /etc/group Ex2: pour chercher tous les linges qui ne contiennent pas le mot root dans le fichier /etc/group # grep -v root /etc/group Trainer: Najib LAHMIOUI Module 2 49 .

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 root dans le fichier /etc/group # grep -c root /etc/group Trainer: Najib LAHMIOUI Module 2 50 .Rechercher dans le contenu des fichiers Ex3:.

Utilisation des expressions de metacaractères avec grep Trainer: Najib LAHMIOUI Module 2 51 .

Utilisation des expressions de metacaractères étendues avec egrep Ex1: pour chercher tous les lignes qui contiennent la lettre N Suivie par e ou o plusieurs fois # egrep µN(e|o)+¶ /etc/passwd Ex2:pour chercher les lignes qui contiennent Network Admin ou uucp Admin # egrep ¶(Network|uucp) Admin¶ /etc/passwd Trainer: Najib LAHMIOUI Module 2 52 .

Utilisation des expressions de metacaractères étendues avec egrep Trainer: Najib LAHMIOUI Module 2 53 .

La commande de recherche de fichiers : find

- Find scrute récursivement l¶arborescence du system de fichier en recherchant tous les fichier égalant une expression booléenne représentant un critère de recherche

Trainer: Najib LAHMIOUI

Module 2

54

Les expressions de la commande find

Trainer: Najib LAHMIOUI

Module 2

55

Les actions de la commande find

Trainer: Najib LAHMIOUI

Module 2

56

Ex1: pour chercher un fichier nommer test dans votre répertoire d¶accueil # find ~ -name test -Ex2: pour chercher et supprimer un fichier nommer test dans votre répertoire d¶accueil # find ~ -name test -exec rm {} \. Ex3: pour chercher tous les fichiers qui ont été modifier il y a deux jours dans votre répertoire courant # find . -mtime +2 Trainer: Najib LAHMIOUI Module 2 57 .Exemples de la commande find .

le tri se fait suivant l¶ordre lexicographique. -t c pour utiliser le séparateur de champs Trainer: Najib LAHMIOUI Module 2 58 . -r pour tri inversé. Par défaut. Un certain nombre d¶options sont fournies pour modifier l¶ordre du tri : -n pour tri numérique. -k x pour tri à partir du champ x.la commande sort La commande sort trie les lignes d¶un ou plusieurs fichiers de texte.

la commande sort Quelques exemples de la commande sort : $ ls -l | sort -n -k5 $ sort -n -k3 /etc/passwd Trainer: Najib LAHMIOUI Module 2 59 .

Trainer: Najib LAHMIOUI Module 2 60 .finale # Concatène les fichiers liste.la commande uniq Ce filtre élimine les lignes dupliquées depuis un fichier trié. # et enfin écrit le résultat dans un fichier de sortie. # les trie. # efface les lignes doubles. On le voit souvent dans un tube combiné avec un sort cat liste-1 liste-2 liste-3 | sort | uniq > liste.

Il existe d'autres spécifications On peut également spécifier un séparateur de champs avec l'option -d. dont le séparateur de champs est le caractére double point (``:''). Trainer: Najib LAHMIOUI Module 2 61 .la commande cut La commande cut permet d'afficher des zones spécifiques d'un fichier. Par exemple : # cut -d: -f6 /etc/passwd affichera le 6eme champ du fichier /etc/passwd. Par exemple : # cut -c1 /etc/passwd affichera la première colonne du fichier /etc/passwd.

il écrit tout sur la sortie standard.Il ne modifie pas le fichier traité.la commande sed .sed est un éditeur de ligne non interactif. . mais il permet de réaliser des commandes complexes sur des gros fichiers. il lit les lignes d'un fichier une à une leur applique un certain nombre de commandes d'édition et renvoie les lignes résultantes sur la sortie standard. La syntaxe de sed est la suivante: sed -e 'programme sed' fichier-a-traiter Ou Sed -f fichier-programme fichier-a-traiter Trainer: Najib LAHMIOUI Module 2 62 . -la syntaxe n'est franchement pas très conviviale.

toto«.toto«« (la troisième chaîne toto rencontrée dans le texte uniquement) Trainer: Najib LAHMIOUI Module 2 63 .toto «.. La syntaxe est la suivante: sed "s/toto/TOTO/" fichier va changer la première occurrence de la chaîne toto par TOTO (la première chaîne toto rencontrée dans le texte uniquement) sed "s/toto/TOTO/3" fichier va changer la troisième occurrence de la chaîne toto par TOTO Dans même ligne ex: «.la commande sed La fonction de substitution s permet de changer la première ou toutes les occurrences d'une chaîne par une autre.

l n (Lignes) découpage par blocs de n lignes Syntaxe : split fichier Exemple : # split -b 135000 vacances. Ses options sont : .mpeg Trainer: Najib LAHMIOUI Module 2 64 .la commande split La commande split permet de découper un fichier en plusieurs plus petits unités.b n (Bytes) découpage par blocs de n octets ou .

En voici quelques options : .s indiquer lorsque deux fichiers sont identiques .. sous répertoires.la commande diff La commande diff permet de comparer le contenu de deux fichiers pour en conaître les différences..B ignore les différences du à des lignes blanches .i ignore les différences minuscules/MAJUSCULES .r comparaison récursive des fichiers d'un répertoire. Trainer: Najib LAHMIOUI Module 2 65 . Ceci est très pratique pour savoir si deux fichiers ont le même contenu.b ignore les différences du à des espaces blancs .q indiquer seulement si les fichiers sont différents et ne pas afficher les différences elles-mêmes .

la commande diff Syntaxe : diff [options] fichier_1 fichier_2 Exemple : $ cat file1 $ cat 1 1 2 4 3 5 $ diff file1 file2 2.3c2.3 <2 <3 -->4 >5 file2 Trainer: Najib LAHMIOUI Module 2 66 .

la commande expand .La commande expand d'Unix/linux permet de convertir les tabulations en espace (par défaut. unexpand et tr . .La commande tr permet de transposer ou d'éliminer des caractères dans un fichier ou un flux de données. . une tabulation est transformée en huit espaces).La commande unexpand convertit les espaces en début de ligne par une tabulation. Exemples : Pour remplacer les minuscules par les majuscules correspondantes tr '[a-z]' '[A-Z]' < fichier Trainer: Najib LAHMIOUI Module 2 67 .

Atelier Trainer: Najib LAHMIOUI Module 2 68 .

Sign up to vote on this title
UsefulNot useful