You are on page 1of 43

Linux : Découverte et Utilisation

11 décembre 2014

Abdelkader BELAHCENE
abelahcene@gmail.com

Table des matières
Introduction

1

2

3

4

2

Avantages du Logiciel Libre (Open Source) . . . . . . . . . . . . . . . . . . . .

2

Bref Apercu sur Linux

2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Prise en Main

6

1.1

L'accès a la machine

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Gestionnaire Graphique

1.3

Utilisation de Terminal Graphique . . . . . . . . . . . . . . . . . . . . . .

7

1.4

Utilisation d'éditeur de Texte

8

1.5

Quelques Outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.6

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .

Concepts de Base

6
6

12

2.1

Le Système des Fichiers

. . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2

Commandes de Base Utilisateur . . . . . . . . . . . . . . . . . . . . . . .

12

2.3

Environnement Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.4

Autres Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.5

Divers

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.6

Un Peu de Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.7

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

Petite Administration

30

3.1

Installation

30

3.2

Gestion du Disque

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.3

Fichiers Systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3.4

Les Processus

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.5

Installation de Logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

3.6

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Introduction aux Réseaux

37

4.1

Communications à Travers les Réseaux . . . . . . . . . . . . . . . . . . .

37

4.2

Création de sous Réseaux

. . . . . . . . . . . . . . . . . . . . . . . . . .

37

4.3

Le Serveur ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

4.4

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

2

Introduction 1
L'objet de cette partie est de faire une présentation rapide du système linux, et des outils
essentiels non seulement pour l'utilisation et mais aussi une petite administration d'une
machine tournant sous linux.
Je veux dans ce document dépasser un peu, la simple utilisation de la machine, et
montrer quelque soit peu, comment regler certains problemes. C'est un peu comme un
conducteur de voiture, qui doit connaitre les rudiments de la mechanique et de l'élécricité
auto. Imaginer un conducteur qui, pour changer un roue, il doit appeler une tierce
personne ! ! ?
Bien entendu pour la panne mécanique, il faut voir un spécialiste ! !
Avant de parler du système linux, pour donnons un aperçu sur les logiciels libres et
montrer leur importance. Linux est l'exemple le plus frappant de logiciel libre.
Ce document s'adresse aussi bien aux personnes qui ont déjà utilisé et/ou administré
une machine sous Linux mais qui veulent remettre un peu les choses en place et mieux
comprendre surtout la distribution Debian et derives et un peu aussi RedHat.
Une bonne partie est réservée a la programmation shell, sans laquelle il n' y a pas
d'administration.

www.tldp.org, www.debian.org,
www.linuxtoday.com, www.linux.org, www.linuxquestions.org, www.opensource.
org, sourceforge.net

Pour la document et sites utiles voir essentiellement :

Avantages du Logiciel Libre (Open Source)
L'arrivée fulgurante ces dernières années, sur le marché international, des logiciels libres
et gratuits, fait rapidement changer les relations entre développeurs de logiciels et utilisateurs. Il y a actuellement un engouement mondial aux logiciels libres. Les raisons sont
multiples politiques, économiques et strategiques. Il sut de regarder quelques articles
pour s'en convaincre, voir par exemple : 
France : http ://www.liberation.fr/page.php ?Article=216428 (article du 18 Juin
2004) 
USA : http ://www.nsf.gov/od/lpa/news/03/pr03132.htm

1. abelahcene@gmail.com

3

Table des matières

Page 4

Ou encore des articles plus récents, comme par exemple (Avril 2009) solutions-linux-2009l open-source-arme-anticrise-2857.html sur le site

http://www.indexel.net/actualites/
http:

ou le rapport du Lieutenant colonel Xavier Guimard de la gendarmerie francaise

//gendarmerie.defense.gouv.fr

Nous donnons ci-après les avantages essentielles :
1. Liberté d'utilisation et de choix de logiciels (ou libre choix de l'outil)
2. Liberté de modication (compléter améliorer et redistribuer )
3. Liberté d'aider son prochain (travail coopératif ) grace aux innombrables forums
lies a chaque logiciel et sites d'aide.
4. Liberté de choisir son fournisseur
5. Abandonner le piratage des logiciels avec tous les inconvénients qui y sont liés
(virus, espionnage, illégalité...).
Le logiciel libre ore une opportunité importante de formation, surtout pour les étudiants
et développeurs. Il leur permet de comprendre le fontionnement des logiciels, comment
ils sont ecrits et de les adapter a leur besoins. Bien sur gratuitement ce qui convient
parfaitement aux etudiants aux ressources generalement limitees.
De plus des groupes de developpeurs peuvent se former facilement autour d'un theme et
aider ainsi a la creation de petites entreprises et de ne pas dependre de grands editeurs
qui n'encouragent pas du tout le transfert de la technologie et du savoir.
Voici une partie du message (traduit) envoyé par Richard Stallman en Sept 1983 à la
communauté internationale : 
Newsgroups : net.unix-wizards,net.usoft
Organization : MIT AI Lab, Cambridge, MA
From : RMS%MIT-OZ@mit-eddie
Sujet : nouvelle implémentation Unix
Unix libre ! À partir de cette correspondance, je vais écrire un système
complet compatible avec Unix logiciel appelé GNU (pour Not Unix Gnu) , et
de le céder gratuitement à tous ceux qui peuvent l'utiliser. Contributions de
temps, d'argent , de programmes et de matériel sont grandement nécessaires
... .... .....
Pourquoi je dois écrire GNU Je considère que la règle d'or exige que
si j'aime un programme , je dois le partager avec d'autres personnes
qui aiment ça . Je ne peux pas en bonne conscience signer un accord de
non-divulgation ou d'un accord de licence du logiciel . Alors que je peux
continuer à utiliser les ordinateurs sans violer mes principes, j'ai
décidé de mettre sur pied un ensemble suffisant de logiciels libres,
afin que je serai en mesure de me passer de tout logiciel qui n'est
pas libre. Comment participer ? Je demande des fabricants d'ordinateurs
des dons de machines et d'argent. Je demande aux individus de faire des
dons de programmes et de travail. Un fabricant d'ordinateur a déjà oert de
fournir une machine ....... Pour plus d'informations , contactez-moi.

LinuxIntro

Belahcene

11 décembre 2014

2.. car au fait seul le noyau est linux. Enn il a la robustesse des grands systèmes et la facilité d'utilisation des systèmes orientés  bureau . avec tous les avantages précités. 4. D'abord c'est un système open source. Le reste des logiciels sont programmes qui tournent autour de ce noyau pour accomplir la tache adéquate. Pourquoi. c'est aussi une application qui utilise les ressources de la carte vidéo et autres gérés par le noyau pour présenter les images et autres graphiques. la mémoire les imprimantes etc. En un mot un grand système dans une petite machine. c'est une application qui permet de connecter un utilisateur a travers le réseau (carte réseau et autres périphériques) gérer par linux. 3. après abus de langage tous les logiciels installés sur linux font le  système linux . L'interface graphique non plus ne fait pas partie de linux .Table des matières Page 5 Bref Aperçu sur Linux Initialement parler de linux c'était parler du noyau du système.. Le noyau est le coeur du système qui gère les périphériques : les disques durs. LinuxIntro Belahcene 11 décembre 2014 . Par exemple le programme de navigation réseau refox ne fait pas parti du système linux. Ensuite il hérite de plus d'une quarantaine d'années d'expériences de part le monde des développeurs sous Unix/Linux. donc utiliser Linux : 1. Après tout cela vous ne payez pas un sou pour l'obtenir. avec en plus l'avantage d'être libre.. Linux fait parti de la classe des systèmes UNIX. développés et utilise depuis les années 70.

Si la machine est utilisée comme serveur (ftp. C'est une émulation de terminaux graphiques. 1. on récupère les ressources de la machine en arrêtant tous les programmes inutiles et surtout l'interface graphique.1 Prise en Main 1. 1.. Lorsque des programmes très gourmands en consommation mémoire et/ou en puissance de calcul (CPU)..F6) entrer le login et le password. Parfois il est utile de travailler sans faire tourner les applications graphiques. dns . Les gros problèmes viennent souvent du graphisme 6 . F1 à F6 sont les clés de contrôle en haut du clavier). avec évidemment l'utilisateur U1 sur le terminal 7 (Ctrl+Alt+F7). Pour revenir au graphisme utiliser Ctrl+Alt+F7. Exercice 1. Flubox. On obtient ainsi un utilisateur en mode texte sur terminal 2 et un utilisateur 2 sur le terminal 8 (Ctrl+Alt+F8).. et de basculer si nécessaire pour faire de l'administration. . le 7ieme est un accès graphique. pour y accéder on doit entrer un nom et mot de passe utilisateur. Au fait on peut avoir ces terminaux sur plusieurs terminaux physiques. Pour faire de la maintenance ou de la réparation du système.1 L'accès a la machine Le système linux étant un système multi-utilisateur. web. par exemple Xfce. 3. Par défaut 6 terminaux texte.. Si on veut accéder au terminal texte. comme dans les cas suivants : 1.F6.) où le graphisme n'est 1 pas requis . 2. Il est recommandé de se loger toujours en simple utilisateur.. plus légers et moins puissants mais consommant moins de ressources utiles aux machines à mémoire limitée. On peut aussi avoir plus d'une interface graphique. Il existent beaucoup d'autres. avec la commande  su  ou d'utiliser la procédure  sudo  (voir section (3)). Fvwm.2 Gestionnaire Graphique Actuellement les gestionnaires graphiques les plus utilisés et les plus courants sont Gnome et Kde. il sut basculer avec Ctrl+Alt+F1 (ou F2. . on accède avec Ctrl+Alt+F1 (ou F2.

avec la commande il sut de faire une boucle : for i in $(ls *. Dans la fenêtre terminal on peut ouvrir plusieurs onglet de terminaux Par quelques exemples. Utilisation de Terminal Graphique Page 7 Une fois l'utilisateur logé. Supposer vouloir télécharger un document volumineux et que la connexion soit limitée.3 Utilisation de Terminal Graphique Bien que sur l'interface graphique on utilise les outils graphique pour travailler. voir les outils dans le menu des préférences. elle permet de diérer les taches : Exemple 2. Remarquer d'abord que le bureau possède plusieurs bureaux virtuels. 1. ce que vous pouvez faire avec les visionnaire graphique d'images (imagemagick par exemple).1. ce qui est dicile à faire à travers un navigateur. car ls l /home liste les répertoires l et /home LinuxIntro Belahcene 11 décembre 2014 .jpeg 5 done Schéma d'une commande : cmd options paramètres. disons vers 2 heures du matin ! ! !. les options commencent par - par exemple 2. La 3 disposition des menus est légèrement diérente du gestionnaire KDE . la ligne de commande est indispensable. seulement vous êtes obligé d 'ouvrir les images une a une et de les exporter dans le nouveau format.gif $i. qui sont utiles pour garder ouvertes plusieurs fenêtres d'applications en parallèles sont qu'elles soient visibles en même temps.org taper man wget pour avoir l'aide sur wget nous verrons une amélioraton du script attention au signe  . Le bureau complet peut être personnaliser. De même avec la ligne de commande on peut réaliser très simplement des taches répétitives : Exemple 3. 4. Nous donnons un rapide descriptif de l'interface GNOME . do convert $i. chercher dans la liste des accessoires l'outil par defaut. nous montrons l'importance de la ligne de commande. Repérer le menu des applications du bureau. avec 2 les menus et fenêtres. une interface graphique est ouverte.kde. Une solution simple est de le faire avec la commande wget 4 en diéré grâce à la commande at 2 :00. 3. assez habituelle. 5. 6.gnome. aussi terminal est requis.gif) .3. par exemple sous gnome c'est gnometerminal. on décide alors de le faire de nuit. Supposer que vous vouliez convertir une liste d'images (disons 120 images ! ! !) gif en image png. Plusieurs outils existent. ls -l /home liste le répertoire /home avec l'option format long (-l) 6 GNOME http://www.. mais les même fonctionnalités existent.org KDE http://www.

latex. Ctrl+u : Coller emacs éditeur tres puissant. vi editeur s'ouvrant dans un terminal. C++. Ne pas confondre avec traitement de texte LinuxIntro Belahcene 11 décembre 2014 .. l'utilisateur a le libre choix. Ctrl+k : Couper. Vous pouvez meme jouer sous emacs. pascal.4. Il y a beaucoup d'autres éditeurs par exemple kate. la sauvegarder dans ch2. tapez une phrase dans  write  par exemple d'openoce. Alt+x+c-mode : edit en mode C Alt+o+i : mettre en italic Ctrl+x+r+d : Supprime le rectangle Ctrl+x+r+r t 8 : copie rectangle dans t Ctrl+x+r+g t 9 : recupere rectangle depuis t gedit un éditeur graphique simple d'utilisation. On peut utiliser TAB pour autoCompletion dans la ligne de commande. html. très utile si on n a pas de graphisme. mais aussi gestionnaire de chier.1. Ctrl+w : Chercher.).4 Utilisation d'éditeur de Texte 7 Pour écrire un texte il faut utiliser un éditeur de texte .txt. Pour les raccourcis. Il comprend un grand nombre de langages (C.txt et cat ch2. échappe pour revenir au mode commande. taper :x pour sauvegarder et quitter. Utilisation d'éditeur de Texte Page 8 1.doc. installé par défaut sur l'environnement gnome. surtout utile pour editeur Texte sans graphique. jouer au puzzle.. Un éditeur de texte rend dèlement le texte qui est tapé sans ajout de caractères supplémentaire pour le formatage. taper i pour insérer du texte... Retenir : Ctrl+x Ctrl+f : Création de chier Ctrl+x Ctrl+s : Sauvegarde Ctrl+g : Annuler la commande Ctrl+k : Supprime une ligne Ctrl+(espace) : début selection Alt+w : Copier dans pressePapier Ctrl+y : Coller du pressePapier. mais aussi en graphique. php. php . nano il est plus facile à utiliser que vi. par exemple Alt+x mpuz. java. Les commandes courantes : Ctrl+x puis Return : enregister. la barre des commandes s'ache en bas. html. en C. Ctrl+x : quitter. met les couleurs sur les mots cles. Pour voir la diérence entre un traitement de texte et un éditeur. Ctrl+x+2 : Divise la fenetre horizontal. 7.doc et la même phrase dans l'éditeur gedit. kedit etc. ensuite faire cat ch1. On peut selectionner avec la souris et coller avec le bouton du milieu. il a deux mode de fonctionnement : mode commande.. la plupart sont donnés dans le menu graphique. Retenir que pour créer un chier taper le nom dans la barre en bas de feuille. sauvegarder le chier ch1. il s'ouvre dans un terminal. utiliser la touche ctrl avec les lettres indiquées. Un éditeur est utile pour administration ou développement par exemple pour écrire un programme en shell.

org a une trentaine de CD. nautilus Navigateur de répertoires et chiers 10. la distributions  debian  : site ociel Debian www. basé sur le netscape (qui n'est pas open source). au monte ou sont écrites ces lignes. Pour être plus précis voyant l'exemple suivant : Exemple 4. voir les commandes en bas de fenetre. opera. le Présentateur. Cette suite remplace en mieux la suite msOce (compatible) . Quelques Outils Page 9 mc Midnight Commander. On outre la compatibilité msoce n'est pas assurée. il reste important de maîtriser l'instruction ou la commande du langage avant d'utiliser l'interface. mais les suites ne sont pas complètes c'est le cas du traitement de texte abiword ou du tableur gnumeric.5. qui souvre dans un terminal et en meme temps editeur. konqueror.5 Quelques Outils Pour découvrir l'environnement des outils.1. D'autres outils ont les même fonctionnalités. amaya. Au fait quand on installe Linux un on installe avec le système des centaines de logiciels avec et on peut compléter a n'importe quel moment. L'inconvénient liée à cette apparente facilité (est ce réellement une facilité ! !) est que les connaissances du développeur dans le langage concerné (ici html) se restreignent à l'apprentissage de l'outil composer au lieu du langage de base lui même.org LinuxIntro Belahcene 11 décembre 2014 . on peut sur un éditeur mozilla  composer . ajouter à cela la dépendance totale à l'outil. F8 pour supprimer. par exemple. voir par exemple Open Source www. Par exemple au lieu d'écrire la commande html : <title> C'est ma page web </title> qui met un titre à une page Web. est un gestionnaire de chier.debian. De plus l'outil permet rarement d'exploiter toutes les possibilités des langages et ajoute parfois des codes inutiles. Libreoce suite de bureautique basée suite la suite staroce de sun contient : le traitement de texte. On peut évidemment la compléter avec d'autres logiciels se trouvent sur d'autres sites de Linux 10 . Pour se xer les idées. faire le tour sur les menus applications. le tableur. geany Bien qu'il existe des outils  composer  qui font interface et  facilitent  le développement sur certains langages. Utiliser la touche Inser pour selectionner les chiers. par exemple F5 pour copier. Firefox est un navigateur internet. pas moins de 25 000 logiciels libres et gratuits téléchargeable gratuitement à partir du site. D'autres navigateurs par exemple sont netscape. qui permet de visualiser le rendu avec exécution du code html. programmes et logiciels installés.sourceforge. 1. presque la moitie sur le site de Redhat/Fedora. les numéros concernent les clés. utiliser le bouton de titre correspondant.

graphviz permet la visualisation d'un chier avec code spécial très simple en gure graphique. (Ctrl+Alt+F2). 1. gif. 2.1. jpeg etc.6 Exercices Certaines commandes ne fonctionnent pas avec un terminal distant. kaeine ou xine sont d. ou octave.. gpdf. gimp visionnaire. Utiliser Ctrl+Alt+F7 et Ctrl+Alt+F8 passer d'une écran à un autre. La navigation sur les chiers. gnuplot traceur de courbes pour des fonctions ou tableau de coordonnées. manipulateur et traitement d'images (genre photoshop). ksnapshot capteur d'images. Passer au terminal 1. kuickshow visionneur d'images et des diapos gnomeBaker graveur de CD/DVD ou k3b qcad outil de conception de dessin d'architecture (genre autocad) scilab calcul mathématique et scientique (genre matlab). par exemple choix du clavier ou bien basculement vers terminal texte (Ctrl+Alt+F1). avec génération automatique des références . ar) d) ajouter un raccourci pour le terminal 12. 1. totem Visionnaire de vidéo. Exercices Page 10 Lyx/Latex 11 Traitement de texte scientique. (Ctrl+Alt+F1).. Lancer la commande startx. table des matières et des gures et prise en charge totale des symbole mathématiques.autres lecteurs de lms. pour voir les diérents répertoires et chiers. Le chier est forme de commandes qui reconstruit le dessin 13. Pour les commandes voir la section (3) LinuxIntro Belahcene 11 décembre 2014 . voir les erreurs. il sut de cliquer sur l'icône home. passer au terminal 2. xpdf. eps. se loger en utilisateur U1. xg outil pour dessiner des graphiques en mode vectoriel 12 . evince visionnaire des chiers de format ps ou pdf.6. avec des clients leger par exemple. Personnalisez votre bureau : a) ajouter des boutons de fermeture de la barre des menus b) changer nombre de bureaux virtuels c) insérer un bouton de clavier avec (fr. puis 13 : startx  :1. qui peuvent être sauvegardés en diérents format ps. de fenêtre ou encore de tout l'écran. kpdf oui acroread sont d'autres lecteurs de format pdf ou/et PostScript. us. se loger en utilisateur U2.

Changer les ecrans de veilles screensaver. couper.6. Personnaliser le terminal. 3. La commande gksu permet a l'utilisateur de creer un lanceur de commande d'administration en fournissant le mot de passe. LinuxIntro Belahcene 11 décembre 2014 . 4. Ajouter un bouton lanceur de terminal pour root. emacs et gedit. en vertical. 7. Acher son contenu dans gedit. Utiliser Emacs : ouvrir plusieurs fenêtres en horizontal.\1. rendre les noms en minuscule. 8. Utiliser mc pour copier et deplacer des chiers de votre repertoire vers le ash par exemple. Ajouter un programme au démarrage automatique. 9. 6. Ouvrir dans emacs un chier. Donner son contenu avec cat. Exercices Page 11 e) ajouter un raccourci pour evince f ) ajouter un bouton a une application non listee dans le menu (par exemple cheese). dans une boite de dialogue graphique. par exemple minbar. 10. Ecrire un chier d'une cinquantaine de lignes avec nano. essayer la commande Ctrl+Alt+% puis remplacer \(\w+\) \(\w+\) avec \.(upcase \2).1. \w est le mot. Changer la résolution de l'écran. copier et coller du texte avec et sans souris. 5. Le \1 et \2 se referrent vers les premier et second mot.

 par exemple cp -r essai *. cd est diérent de CD. essai . stdout pour sortie standard.2 Commandes de Base Utilisateur Ouvrir un terminal et manipuler les commandes de cette section 1 : Les commandes sont toujours écrites en minuscule. chier vsftpd. monRep sont les paramètres.2 Concepts de Base 2. mkdir. fdisk. Par exemple repertoires des erreurs /var/log. contient les informa- tions sur les processus. Le système se présente sous la forme d'arborescence (parmi ses répertoires) il y a : /bin contient les commandes de bases (binaire). tout le reste est sous répertoire de la racine.c monRep Copie récursive le répertoire essai et tous les chiers d'extension C dans le répertoire monrep. voir le document débutant-linux. tty pour terminal.c . cdrom.. ash ou supports distants sur d'autres machines ! !) est rattaché à la racine notée par le symbole / . cat. *. /usr contient les programmes et logiciels. disquettes. -r est l'option. Le format générale d'une commande est commande [opt] paramètres Les options sont précédées par le signe  . Dans /usr/sbin par exemple : adduser.conf /home /dev contient les répertoires des utilisateurs : contient les noms périphériques. atd.1 Le Système des Fichiers Tout le système (les disques durs.pdf pour plus de détails sur les commandes 12 . par exemple ls. chroot /etc contient les congurations des services et système : par exemple repertoire apache2. /sbin contient les commandes du super utilisateur (administrateur) : ifcong.. par exemple [sh]da pour les disques. 2. cp : est la commande. Faire par exemple cat /proc/meminfo. reboot. n'a pas d'existence sur disque. /proc Est un répertoire virtuel. /var contient les chiers variables.. 1. pour des informations sur la mémoire. linux est sensible à la casse.

le lien conteient alors le nom du premier et non pas son contenu. ps aux liste tous les processus 2 qui tournent sur la machine. tail -15 le. astuce : Shift+PgUp (PgDown) permet de remonter ou descendre dans le terminal (simulation de l'ascenseur) valable aussi en mode texte. Essayer 3 aussi ls -il f1.2. echo message renvoie l'écho message sur écran.txt modie aussi f1.1 Commandes les plus Courantes cd /usr/bin changement de répertoire. ou encore apropos ls Liste le répertoire courant. Commandes de Base Utilisateur Page 13 2.  zcat  permet de decompressé le chier a la volée.txt le chier f1. cat /etc/passwd | grep -v bash Le symbole|. ls -l > f1. le meme chier a 2 noms.txt.txt pour voir la diérence.txt. 4 2. Si on utilise  >>  il y aura ajout à la n (append). emplacement physique 4. (man pour manual).txt page par page. crée un lien symbolique.txt crée un lien hard f2. Un processus est un programme en exécution. -i : ache les inodes. attention au $.txt au chier f1.txt Donne les 15 (les 10.txt Fait une copie de f1. la commande head est pareille mais pour le début du chier.txt f3. cp f1.txt. pipe. Essayer ln -s f1.txt f2. permet de récupérer la sor- tie d'une commande pour l'envoyer en entrer dans la suivant.txt rm ch*. aller dans /usr/bin man ls donne l'aide sur la commande. L'option -s. Ici le contenu du chier passwd est récupérer puis ltré avec grep pour garder les lignes ne conte- nant pas le mot  bash . résumé de la commande.txt avec écrasement.txt f3.txt. echo $HOME donne le contenu de la variable d'environnement HOME. (s'il vous appartient). dans le répertoire courant. qui doit précéder toute variable shell.txt donne le contenu de ch.txt f3. la modication de f2.txt le symbole > redirige la sortie de ls vers le chier f1.txt mv f1.txt f2. LinuxIntro Belahcene 11 décembre 2014 .txt. kill -9 2345 tue le processus dont le numéro est 2345. ln f1. appelé f2.txt Donne le contenu du chier le.txt f2. 3.txt est renommé f3. On peut aussi utiliser xman ou dans konqueror man :ls ls help donne une aide rapide.txt.txt supprime tous les chiers commençant par ch d'extension txt. more ch. ls -lrt /etc Donne la liste des chiers et répertoire de /etc avec les détails (option -l) trie par temps (-t) en ordre inverse (-r) mkdir monRep Crée le répertoire monRep.2. si rien n'est indiqué) dernières lignes du chiers le.2. cat le.

Permet de retrouver le chier f2. apres femeture du terminal.. !Num permet de relancer la commande de numero Num. fg %n°) nohup permet de garder le processus actif. essayer les commandes suivantes di -crB f1. locate localise un chier.txt donne le nombre de lignes. on peut faire sortir le résultat d'une commande dans un autre terminal. de mot et de caractères du chier ch. Par exemple si on est dans terminal 1. pour faire la mise à jour de la base lancer updatedb nd /usr -name konqueror : cherche le mot konqueror dans le rep /usr gzip ch. On peut aussi utiliser l'option -h tty donne le terminal en cours d'utilisation. Tester les 4 cas dans un terminal ensuite fermer le terminal et voir ce qui se passe : gedit.tgz ladir archive et compresse les chiers de la répertoire ladir sous le nom dir. on peut aussi utiliser le sudo voir chiers /etc/sudoers df disk free.txt.txt. donne la utilisée par le répertoire /home.2. et echo donne le contenu de la variable par exemple echo $PATH 5 donne le contenu de la variable PATH. Environnement Utilisateur Page 14 wc ch.. Le premier est /dev/pts/0.txt Compresse le chier ch. donne la taille des partitions montées.txt donne la dirence entre les chiers f1.tgz.c a partir de f1. ensuite /dev/pts/1.txt f2. etc. alors ls > /dev/pts/2 sort le résultat dans le deuxième terminal history Donne la liste des commandes deja utilisées. puis gedit &. option -h : human reading (lecture appropriée) du /home disk used. le $ est obligatoire LinuxIntro Belahcene 11 décembre 2014 .c grace au patch. 5..3 Environnement Utilisateur Tout utilisateur a un espace de travail et un ensemble de variables d'environnement (en lettres capitales) qui lui est propre.c monPatch.3.c f2. cherche dans la base de données des chiers.txt et sera ch. nohup gedit et enn nohup gedit &.c > monPatch puis patch f1.tx et f2..gz. avec x : pour extraire et t pour lister ou bien tester di f1.txt. 2. pour l'inverse utiliser gunzip. ctrl z : mettre en pause le process en cours bg : passer le processus qui est en pause en arriere plan fg : reprendre un process en premier plan (si plusieurs tournent en même temps. tar -czvf dir. On peut aussi personnaliser les commandes a achées. su switch user. La commande env donne le contenu des variables courantes.

ind :Si le comportement ne convient plus après maints changement. En plus des variables d'environnement l'utilisateur a aussi un ensemble de chiers cachés (précédés par  .gconf détermine l'interface graphique gnome 2. ajoute au chemin précédent le répertoire /opt/bin. est un répertoire qui dénit le comporte- ment du logiciel. taper la commande echo $HOME pour voir votre répertoire maison (d'accueil). a2ps -1 tree.txt 9 permet de sortir l'arborescence du système et de stocker le résultat dans le chier tree. ou encore . Autres Commandes $HOME Page 15 Contient le répertoire maison (Home) de l'utilisateur. 8 Par exemple . détruire le répertoire concerné.4. . le francais de France (fr_be de belgique.2. ar_dz : arabe algérien). par defaut : /usr/local/bin :/usr/bin :/bin :/usr/bin/X11 :/usr/games 8. tail -n 24 $HISTFILE .bash_history : Contient l'historique des commandes exécutées. Les change- export PATH=$PATH :/opt/bin/.mozilla est le répertoire de sauvegarde du com- portement du browser mozilla pour le dit utilisateur.ache les 24 dernières lignes du chier d'historique. mettre la meme commande dans . valable uniquement pour la session. On peut mettre dans ce chier les changement a rendre permanent. Contient la langue utilisée. LinuxIntro Belahcene 11 décembre 2014 .xxxx : où xxxx est le nom d'un logiciel.ache le contenu du chier d'historique page par page. pour les lister ajouter l'option  -a  pour  all  comme ls -al) qui personnalisent son comportement. La même information peut être obtenue avec la commande history (qui utilise ce chier en entrée).ps 10 Convertit le chier texte tree. $PWD Contient le répertoire courant. .bashrc : Donne le comportement a utiliser au login ou a l'ouverture d'un terminal. les éléments les plus anciens sont supprimés. le répertoire par défaut sera recrée. /usr/local/sbin :/usr/local/bin :/usr/sbin :/usr/bin :/sbin :/bin :/usr/bin/X11 7.ache le nom et la taille du chier d'historique des commandes.bashrc le rend valable pour toutes les sessions. $PATH Contient la liste des répertoires de recherche d'une commande. mais ce changement est ment fait a chaud sont valable uniquement pour la session. . cat $HISTFILE | more . qui peut être completement diérent d'un autre utilisateur. Cette variable par défaut est diérente pour un administrateur $LANG 6 7 et un simple utilisateur . echo $HISTFILE $HISTFILESIZE . par exemple fr_FR.txt.txt en format PostScript (ps) 6.txt -o tree. . périodiquement mis à jour.4 Autres Commandes tree -d -L 2 / >tree.

txt permet des planication de taches répétées.  . déclarées dans le chier mycron. sudo permet a un utilisateur d'exécuter des commandes systèmes.png racourcis_clavier Ctrl+L eace le terminal. La ligne suivante 20 4 15 * * tar czf mesProg. En mode texte utiliser kbd-cong. pour avoir l'environnement de cpte1.txt doit contenir les dates et les actions a executer sous forme : minutes heure jour mois jourSemaine. vous pouvez reprendre la tache en réouvrant le screen. vous lancez une tache (un script qui va qui prend du temps). avec l'option -v on obtient l'inverse.  pdf2ps  fait l'inverse. Pour quitter le sous-shell (prompt >).  di3  donne la diérence entre 3 chiers.gif f2. Si aucun argument n'est donné. l'utilisateur administrateur est pris par défaut. Les extensions détermine le type de conversion a faire. convert f1.cpio. l'option -i permet de desarchiver.txt. Ctrl+r recherche de commande ans l'historique. de faire donc de la maintenance sans avoir a connaître le mot de passe root. c'est a dire celles qui ne contiennent pas  unmot . cpio -o < listFich > rep. man 5 crontab pour voir le format du chier crontab.cpio Cette commande cree (option -o ) une archive (symbole >) rep. ps2pdf convertit le chier du format ps en format pdf. et vous vous déconnectez. Voir le chier de conguration /etc/sudoers pour plus de détail. Autres Commandes Page 16 grep unmot chier. import -window root -quality 98 ecran. top donne l'utilisation des ressources mémoire et cpu. avec cpio -i < rep.cpio qui contient la liste des chiers enregistrée dans listFich ( symbole < ).tgz *. en réel di f1 f2 donne la diérence entre les chiers f1 et f2. Shift+PgUp utilise ascenceur screen : multiplexeur de terminaux.txt qui contiennent le mot  unmot . sous le nom ecran.txt ltre toutes les lignes du chier.png permet la suvegarde du bureau. Cet outil fait partie du logiciel imagemagick.2. Installer imagemagick LinuxIntro Belahcene 11 décembre 2014 . Plus tard. setxkbmap ar choisit la map du clavier arabe sur l'environnement graphique.jpg convertit 11 le chier image de format gif en image jpeg. crontab mycron. suivi de la commande. ouvert pres le retour a la ligne. Faire man 5 crontab pour avoir des détails. L'avantage de cette commande est de donner certains privilèges aux utilisateurs déclarés dans le chier. su . vous 11.cpte1 bascule vers utilisateur cpte1. taper Ctrl+D. Le chier mycron. Vous ouvrez un terminal et vous le nommez.4.c permet de faire l'archivae des chiers C tous les 15 du mois à 4 heures 15. at 10 :00 à 10 la commande at exécute les instructions données dans le sous-shell.

( . avec les informations de date de création 2008-07-20 a 09 :11. Divers Page 17 retrouvez votre tâche comme si tout était resté ouvert. traiter les données etc. ajouter des nouveaux groupes au lieu de tout redénir). usermod : modie un utilisateur (options : -l pour changer le nom. chmod g-x. 2. le dernier champ est le nom du chier  . le propriétaire est bela. g-x : enlève permission d'exécution au groupe. ajouter le groupe video à l'utilisateur bela. Par exemple. La commande chmod permet de changer ces permissions. StartupNotify=true LinuxIntro Belahcene 11 décembre 2014 . sont associées des propriétés. de type.2. de permissions. screen -r monScreen la liste des screens actifs : screen -ls . ici par exemple on ajoute w.. Créer un screen : screen -S monScreen.bashrc Dans la ligne précédente. ou bien avec des valeurs par exemple chmod 765 tata veut dire rwxrw-r-x pour tata. Enn le premier champ donne les permissions : rw. ensuite la taille 2204 octets. (lancer un programme assez long pour le tester) Le détacher (cela veut dire qu'il n'est plus aché mais reste actif avec ctrl a puis d) Le rattacher à un screen détaché. -rw-r--r-. kill permet d'arreter les processus attachés Permission d'un chier Nous donnons ici un groupe de commandes très utiles aussi pour convertir les chiers. permission d'écriture aux autres (other).. on garde l'essentiel [Desktop Entry] Name=JusteEssai Exec=guvcview Icon=/usr/share/pixmaps/guvcview/guvcview.: read/write pour le propriétaire.5 Divers Créer un lien sur Bureau Un lien sur le bureau ressemble a ceci. A chaque chier ou répertoire.png Type=Application Categories=Video. -g pour lui assigner un groupe. sans supprimer les groupes auxquels il appartenait avant : usermod -aG video bela. de date et d'appartenance.bashrc . -G pour lui assigner plusieurs groupes (séparés par des virgules). -a en complément de -g ou -G. de groupe bela.: pas de permission d'exécution).1 bela bela 2204 2008-07-20 09:11 .AudioVideo. r : read pour le groupe et r : read pour les autres.5.o+w tata permet de changer les permissions.

ps doc2.6. Le shell est une interface entre l'utilisateur ou administrateur et le noyau qui fait fonction l'ensemble des éléments de la machine.ps psselect -p99-102 doc1.ps dans doc2. nous découvrons les diérents aspect et la puissance du Shell.ps Modier taille d'une Image La nouvelle taille devient 800 par 600 pixels.png convert -pointsize 72 label :"salam ala 2. man -Tps some-man-page | lpr man -Tps some-man-page | mpage -2 | lpr Graver une image Graver une image iso avec la commande cdrecord cdrecord -v speed=20 dev=/dev/sr0 pfSense-Installer. LinuxIntro Belahcene 11 décembre 2014 . pour le mot Salam alaykoum. A travers les exemples. en jpeg progressif de qualite 80% pour la premiere image. Avec le shell on peut aussi bien planier des taches que répéter de façon automatiques des travaux longs et fastidieux. convert img1. Un Peu de Shell Page 18 Imprimer joliment une page de manuel Les commandes suivantes impriment une page de manuel sur une imprimante/un chier PostScript.6 Un Peu de Shell La programmation shell est indispensable pour une administration saine et robuste.png -interlace line -quality 80 -resize 800x600 img1R.2.iso Copie partielle de chier Copier les pages 99 a 102 du chier doc1. On peut aussi bien lancer les actions en interactif (au fait c est ce qu'on fait toujours a travers le  terminal ) que les lancer à partir d'un chier enregistré. La deuxieme cree une image de police 72.

il faut alors utiliser un outil plus puissant. mais elles peuvent être récupérées d'un ou envoyées vers un chier. c'est le résultat. notre cas Le caractère  #  débute un commentaire sauf s'il pert sa spécicité. comme le langage C . Pour plus d'information ? ? voir les excellents documents [ ] ou [ ] télechargeables depuis Documentation Linux http://www. le programme machine qui s'exécute.1 Les Entrées-Sorties Par défaut la lecture des entrées se fait à partir du clavier et les sorties se font sur écran. ou on veut une interface graphique ou encore un programme rapide.sh. dans le deuxième cas il faut exécuter la commande bash avec le chier comme argument : bash exemple1. Un Peu de Shell Page 19 Au fait il y a plusieurs interpréteur shell.org Il faut dire aussi que si le programme devient trop complexe. Ce qui permet d'exécuter une partie d'un script jusqu'à la première erreur s'il y a. toutes les commandes sont traduites (compilées) en langage interne. Pour le perl par exemple cas # !/usr/bin/perl et # !/usr/bin/awk pour appeler awk. Le choix du langage dépend de l'objectif assigné. Rappelons que l'utilisation d'une variable doit être précédée de  $  Exemple 5.tldp. Dans # !/bin/bash pour appeler l'interpréteur bash. ici la  # . Il sut alors d'utiliser la redirection et éventuellement les délimiteurs de bloc  { } . Pour exécuter les scripts donnés en exemple. Dans le premier cas il sut de faire .2. copier le contenu dans un chier. Bash est celui installé par défaut. Un script est un ensemble de commandes regroupées dans un chier. Les variables sont précédées d'un $. voir les exemples. C++. le sh. java ou encore php. On peut aussi utiliser la commande formattée printf . Toute les erreurs e compilation ou de manque de librairie ou de ressource sont détectées à la phase de compilation et édition de lien. Le shell bash est un interpreteur qui exécute les commandes une a une après traduction de l'instruction en langage interne. Il y a aussi le csh. Notons que le symbole  \  désactive la specité d'un caractère spécial. Mettre le bit exécution a vrai. par exemple exemple1. Les quelques scripts suivants largement commentés. Au contraire un langage compilé comme le C par exemple. donnent un rapide aperçu sur le Bash.sh 2. sinon il faut l'exécuter en invoquant le shell./exemple1. l'extension n'est obligatoire.1  Aectation et variables 1 #!/bin/bash LinuxIntro Belahcene 11 décembre 2014 . La première commande doit être un appel à l'interpréteur qui exécute le contenu du chier. il y a quelques diérences entre eux.sh pour l'exécuter. le ksh.6. Listing 2.sh. mais conseillée pour savoir que ce chier est un script shell. la sortie standard est eectuée avec la commande echo.6. chmod +x exemple1.

) # # # # a=`ls ` echo $a echo "$a" Exemple 6. le  .. alors que $$ contient le PID du script en exécution et $ ? contient le résultat de la dernière commande.9). =  if [[ $a -lt $b ]] . -eq.2  Parametres d'entree 1 2 3 4 5 echo echo echo read echo "valeur de a: $a # n 'Valeur de a: $a' \# "Entree 2 valeurs : A B #ou read A puis "Vous avez donner les est pas un commentaire" ce n est pas un commentaire " read B nombres: $A et $B" 2.6. Le  if  de l'exemple suivant peut être omis. pour les comparaisons de chaîne de caractères il faut utiliser  <. $2.  est obligatoire pour séparer les commandes sur la même ligne LinuxIntro Belahcene 11 décembre 2014 . 12. ils sont récupérés dans les variables $0 (nom du script lui même) $1.. 12 then echo "$a plus petit que $b" else echo "a plus grand que ou egal à b". fi Le test [[ $a -lt $b ]] peut être écrit aussi (($a < $b)).. # a reßoit le résultat de la commande dans $( ) autre faßon de faire tabulation et retour supprimes Ici conservés Un script peut avoir des paramètres en entrée. 0 pour vrai. les comparaisons entre nombres sont  -lt . ]] .2 Les Tests et les Boucles le test if : Le test peut être réalisé avec le classique if/then ou avec un raccourci  [[. -ge. attention au signe  < . de plus les espaces dans la première expression ne sont pas nécessaire pour la deuxième. pas d'espace avant et apres = echo "Valeur de a est $a " # $a est remplace echo 'Valeur de a est $a ' # $a n'est pas remplace b=$a # b reßoit valeur de a echo "Valeur de b est $b " a=$(echo Bonjour. Les variables $#.. . $9 (pour les arguments 1. chaque ordre read lit une ligne complète.2. <=. >. $* contiennent le nombre et la listes des arguments.. -le . >=. 2. La lecture du chier se fait ligne par ligne. -gt. 2 3 4 5 6 7 8 9 10 11 12 13 14 Un Peu de Shell Page 20 a=23 # Simple affectation.6. La convention unix veut que la valeur 0 est retourné si le résultat est vrai. Nous voyons aussi comment les sorties sont redirigées. . Listing 2..

until) existent. exécute les  Cmds  pour tous les éléments de  liste  for planete in mercure mars venus jupiter do echo "$planete". done. N=12 . done On peut aussi écrire les expressions a-la-Langage-C. si elle vaut kabir on execute la deuxieme sion la deniere par defaut. ainsi la boucle  for  précédente peut être écrite : (noter les doubles parenthèses.3  exemples de case 1 2 3 4 5 6 7 8 #!/bin/bash echo -e " read a while [[ do if [[ elif LinuxIntro entrer un $a -ne entier . Exemple 7. done for i in $(seq 5 3 20). Exécuter le programme suivant : Listing 2. for arg in liste . do echo " valeur de i= $i". *) echo " nombre moyen " . la plus courante est  for .2. done Boucle while a=0. Dans la partie list on peut avoir le résultat de n'importe quelle commande. done Le if multiple ( case) : Le choix des commandes a executer se fait en fonction du contenu de la variable. Un Peu de Shell Page 21 boucles Les travaux répétitifs sont réalisés par des boucles . Belahcene 11 décembre 2014 . [[ $a -lt 10 ]] . et pas de  $  avant les variables) for ((i=5.i+=3)). 0 pour finir" 0 ]] $a -gt 30 ]].i<20. do echo " valeur de i= $i".. si val cascontient saghir alors la premiere est executée.. Dans notre exemple. Par exemple les commandes suivantes donne le meme résultat (la commande seq donne une séquence de nombres) : for i in 5 8 11 14 17 20.6. bien que d'autres commandes (while. kabir) echo " grand nombre" . case $val in saghir) echo " petit nombre" . then Type="petit". do echo " valeur de i= $i". then Type="grand". do Cmds . P=Salam while [[ $a -lt $N ]] do echo $P let a=$a+1. done Cette commande donne la liste des planetes : mercure mars venus jupiter..

^ (caret) indique début de ligne. . 10 fi 11 case $Type in 12 "petit") 13 echo " petit nombre" ..49. nous avons déjà vu  # . . e. 1244. 16 *) 17 echo " nombre moyen " . 124.] . mais uniquement la chaîne  xyz . Cependant [^b-n] remplace toutes les lettres sauf de b à n. sauf retour chariot. ou z. 13. est mis pour 124. 14 "grand") 15 echo " grand nombre" . g ou encore [A-Rf-t] les lettres de A à R et f à t.1244. * (étoile) remplace 0 ou plusieurs fois le caractère précédant.2. il inverse le sens de l'expression. particulièrement avec grep .. L'utilisation la plus courante de ces caractères est dans les recherches et manipulations de chaîne de caractères. y. de même  \\  est le caractère  \  lui même. \ (backslash) est utilisé pour rendre normal un caractère spécial  \$  est le caractère  $ .6. A l'intérieur de  [.. 18 esac 19 read a 20 if [[ $a -eq 0 ]] . de même [d-g] remplace les mots contenant une des lettres d. 124. Attention : les caractères sont pris individuellement LinuxIntro Belahcene 11 décembre 2014 .... Ainsi  \[xyzcat /etc/inittab | grep '\<respawn'\]  ne remplace pas toutes les chaînes contenant x. [xy] replace tout mot contenant x ou y.. $ indique n de ligne \< indique le début du mot \> indique la n de mot [] regroupe un ensemble de caractères a  matcher  13 . qui signie commentaire. then exit. (point) remplace au moins une fois le caractère précédant.01.6. 124* est mis pour 12.3 Les Expressions Régulières Une expression régulière est une chaîne de caractères ou méta caractères qui sont interprétés par le shell de façon particulière. Un Peu de Shell Page 22 9 else Type="moyen". mais il peut perdre cette particularité si on le désactive.. . Alors que le produit [0-4][0-9] donne 00. f. fi 21 done 2.

Le résultat est enregistré dans le chier menuNew.6.. -AN N ligne apres ( A pour After. mais on peut le changer.6.2. pour les champs 1.} . Les commandes suivantes sont équivalentes et donnent le nom (premier champ) et le répertoire maison (le champ 6) de l'utilisateur..6. Un Peu de Shell Page 23 2..lst. ni les lignes commentées.5 awk La commande awk est constitue de 3 parties :  BEGIN  pour regrouper les commandes a executer une seule fois au debut  END  pour regrouper les commandes a exécuter une seule fois a la n .$2. sans les lignes vides. 2.4 grep Une commande très utile et très utilisée est la commande grep.. repérés par des variables $1.2. Une ligne est éclatée en champs. du chier /etc/inittab cat /etc/inittab | grep '^#' cat /etc/inittab | grep 'vt100$' cat /etc/inittab | grep '\<respawn' Exercice 9.. les lignes qui nissent par vt100 et les lignes qui contiennent les mots commençant par respawn. la variable  FS : Field Separator  garde le séparateur. Donner les lignes utiles du chier /boot/grub/grub. et le corps du script exécuté a chaque ligne. LinuxIntro Belahcene 11 décembre 2014 .cfg. Se rappeler la caret  ^  signie début de ligne et  $  la n de ligne. B pour Before) Exemple 8. Elle a été déjà présentée. Le caractère pipe  |  permet de faire des ltres successifs. -n Acher le numéro de ligne -r Recherche recursive dans les sous répertoires.. Les commandes suivantes donnent respectivement les lignes qui com- mencent par le caractère #. -i Ignorer la casse. -w Forcer l'appariement du mot complet. ici nous donnons plus de détails sur les options. donne les N lignes avant et N lignes après la ligne sélectionnée. Chaque partie est mise entre des accolades  {. On utilise l'ordre  print  pour écrire à l'écran. Le  espace  est le séparateur par défaut. préciser le répertoire -v inverser le ltre -H préciser le nom des chiers ( -h : cacher les noms)inverser le ltre -N N est un nombre. le séparateur ici est  : . les lignes sont numérotées.

Un Peu de Shell Page 24 Variables Prédénies Les séparateurs par défauts sont le espaces. mais on peut les changer en décalarant dans les variables associées de meme que le numero de ligne et de champ peut etre connus : FS Field separator. voir exemple suivant. La premiere commande donne : la taille des chiers sans les répertoires (qui débutent la ligne par d) de /etc selon le format désiré. Exemple 10.6. leur code en décimal et en hexadécimal pour les caractères alphabétiques. $2. $1)}' Selection de ligne selon un pattern Nous pouvons aussi sélectionner des lignes repondant à un critère ou expression réguliere . contenant la suite de caractère /dev/ ./nomScript si la premiere ligne est #!/usr/bin/awk -f Dans ce dernier cas il faut rendre le script executable. Le programme peut aussi etre mis dans un chier et s'executer soit avec :  awk -f nonScript  . Exemple 11. $1)}' done On peut réecrire la commande comme suit : echo $i $i $i | awk '{printf("%6d %6x %6c\n". Remarquer $i en sortie de echo est récupérée comme $1 entrée une (il y a un seul champ est une seule ligne ) de awk : echo -e " Dec Hex Char\n" for i in $(seq 55 70) do echo $i | awk '{printf("%6d %6x %6c\n". changement de ligne (enregistrement) NR Numero de la ligne courante NF nombre de champs awk 'BEGIN {FS=":"} {print $1 "\t" $6}' /etc/passwd awk -F: {print $1 "\t" $6}' /etc/passwd La commande awk accepte les commandes shell et les expressions régulières. On retrouve aussi les instructions à-la-C. $1. Noter ici le symbole \ devant /. $1.2. pour rendre ce dernier ordinaire. $1. LinuxIntro Belahcene 11 décembre 2014 . $3)}' Que se passe t il so on ecrivait plutot ? : echo -e $i"\n"$i"\n" $i | awk '{printf("%6d\n". La deuxieme donne l'occupation du disk. séparateur en sortie ORS Output Record Separator. separateurs en entree OFS Output eld Separator. Donner les caractères.

2.5 13 ali 16 11 14 Listing 2.dat #le fichier note. } { print "son carre est: " $1 * $1 .$6. if ( $1 == 0) exit. xmax=0 ." Montage". } END { print "Salam" } Tester la commande : awk '{ if ( $1 < 20 ) print }' data. Le programme du listing fait la moyenne.4  operations de control 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/awk -f BEGIN{ xmin=1000.$1. Un Peu de Shell Page 25 ls -lh /etc | awk '!/^d/ { print "Taille de "$8" est "$5}' df -h | awk '/\/dev\//{ print "periph: ". print "Encore un nombre (0 pour finir)". # Separateur de Champs ORS="\n------------------\n" # Separateur de Lignes } { n++. if ($2 < xmin) xmin=$2 if ($2 > xmax) xmax=$2 } END { x /= n./moyenne.dat .txt Sur le chier data.dat contient ammar 13 12 15 smail 15 12 14 kaci 15 8 9 houda 11 12. "Occupation: "$5}' Tester les commandes suivantes (les mettre dans un chier f.6. y += $2^2. x += $2. print "Nombre de donnees\t"./moyenne.awk note. n LinuxIntro Belahcene 11 décembre 2014 . OFS=" ----->\t". executer .awk) : BEGIN { print "donner un nombre ".awk note.txt contenant 14 16 25 12 65 15 569 25 363 1256 33 22 333 256 364 Opérations de Control On peut aussi faire des calculs et utiliser les operations de control (boucles et tests).

dat }' note.dat { print $0 }' note. Un Peu de Shell 15 16 17 18 } Page 26 print "Moyenne \t\t". xmax Exercice 12. i <= val. xmin print "Max \t\t\t" .i*i).6. if ( i==5 ) print " 5 est trouvé".dat }' note. Modier cette exemple pour acher en plus des notes étudiants leurs moyennes (par etudiant) et en n la moyenne globales (de toutes les notes de tous les etudiants). i += 0.5.dat Le script suivant ache aussi le moyenne pour les etudiants selectionnés. la suivante donne les lignes dont le premier champ contient la chaine ma. moy/3 Belahcene 11 décembre 2014 .i.awk for (i=1. Celle d'apres donne les lignes dont le champe 2 est >= 12 ET le champ 3 >= 11 enn la derniere donne les noms pour la colonne 2 est >13 OU colonne 3 >13 gawk gawk gawk gawk gawk '$3 == 12 { print $0 '/kaci/. print $0 " moy= moy=0 } LinuxIntro ".4f\n". L'expression $1 ~ /ma/ cherche la chaine dans le champ 1.5  Les boucles 1 2 3 4 5 6 7 8 9 10 11 12 13 BEGIN { # s'execute uniquement au debut # Affiche les carrees # comme en C standard # val est lu en argument # Lancer le script avec : # gawk -v val=7 -f boucle. Tester les instructions if et for avec le listing : Listing 2.5) { printf ("Le carre de %. } #contient uniquement le bloc BEGIN } Les commandes suivantes donnent dans l'ordre : Les lignes dont la deuxieme note est 12. Le symbole  { doit suivre directement la condition ($2 >13|| $3 >13) qui pose le condition pour le traitement de la ligne #!/usr/bin/awk -f BEGIN { moy=0 } ($2 >13|| $3 >13){ moy += $2+$3+$4. les lignes entre celle contenant kaci et celle contenant ali.dat { print $1 }' note.2f est %. x print "Min \t\t\t"./ali/ { print '$1 ~ /ma/ { print $0 '$2 >= 12 && $3 >= 11 '$2 > 13 || $3 > 13 } ' note.2.

txt dans temp1.6 sed Une autre commande très utile.s/A. X.txt en utilisant gedit et cat. avec  g  toutes les occurrences de la ligne sont concernées. Les déplacer vers votre repertoire maison. d) Lister le contenu du répertoire /home. est souvent utilisée pour des remplacements des mots ou expression dans les chiers. Donner le nombre de caractères de ce chier.Ys/exp1/exp2/g remplace exp1 par exp2 pour toutes les lignes de X à Y. c) Copier ch1.7 Exercices 1. qui intervient sur ($1 ~"root") ps aux | awk '($1 ~"root" && $3>0.6. Noter les parentheses necessaires apres le point  ! . (l'option -n rend la commande silencieuse).lst ## supprime les lignes 3 à 7 et les lignes de 10 juqu'a la fin y/a.txt. et s par S sed sed 2.13s/GNU/gnu/g menuNew.txt ainsi que le répertoire temp1. copier le chier ch1. .Yp/ imprime les lignes X à Y.txt avec nano. Créer un chier ch1. la taille. le temps inverse. e) Vérier dans quel répértoire vous etes. Faire 2 copies du chier ch1.txt dans votre bureau.txt et ch3. avec les options.10. par .5) {print $2 }' 2. La awk recoit la liste des processus à partir de ps. sed 6. Exécuter les commandes suivantes quand cela est possible. X.$d menuNew. utiliser les copier/coller pour le remplir. 2. de tri selon le temps.S/ note. aller dans temp1 modier ch1. lister les chiers cachés de votre répertoire maison.Yi message chier insert le mot message dans chier avant toutes les lignes de numéro X au numero Y. si  Y  est omis la sortie se fait jusqu'à la n X. sinon dites pourquoi : a) Vérier le contenu du chier ch1.txt.5) {print $2 }' ps aux | awk '( !($1 ~"root") && $3>0. Exercices Page 27 Les commandes suivantes donnent les processus gourmands en ressource CPU (> 1%) apartenant a root et son inverse (n' appartiennant pas a root).txt : ch2. principaux paramètres. b) Créer un répertoire temp1.7d.lst ## remplace GNU par gnu dans les lignes 6 à 13 3. f ) Supprimer les chiers ch2. sed (stream editor : éditeur de texte par ot).7.dat remplace les a par A.txt et ch3.2.Yd/ supprime les lignes X à Y X. LinuxIntro Belahcene 11 décembre 2014 . copier le dans /etc.

8. Créer un répertoire temp1.lst avec une police de caractere soignée. 17. des-archiver dans un répertoire temp2. pour tous ces chiers. Copier ch1. Donner le nombre de chiers et répertoires de /etc.txt uniquement accessible en lecture/écriture à votre groupe. sauvegarder votre bureau. donner un message à chaque connexion (nouveau shell). Proposer une gestion d'utilisation. Procéder de 2 manières : archiver puis compresser. compléter-le avec le répertoire courant ? Rendre permanent votre nouveau PATH. 9. puis une fenetre et enn une partie de la fenetre.txt à un autre chier par exemple à ch1New.txt avec quelques modications. sauvegarder vos processus dans le chier myProc. Donner le nombre de terminaux ouverts ( nombre de processus bash). Lancer la commande top (taper q pour en sortir) . Exercices Page 28 3. 12. Que fait la commande : for i in $(cat list. et archiver et compresser en une seule fois. lancer diaporama sur les images a récupérer de votre machine. Dans 3 minutes. Ensuite il faut arreter le planning. Ecrire un script bash qui ache 10 fois le mot Salam. le groupe P2 de 12H à 17h . 18. 5.txt ). Le logiciel est utilisé à tour de role. che2.geogebra. la taille de la mémoire totale. la nuit 17H au matin 8H. Archiver les chiers conf (extension . Lancer le capteur d'images. 13. On veut plannier l'utilisation d'un logiciel dont l'utilisation simultanée est limitée.txt et ch2. de 2 manières.7.txt. 7. /usr/bin et votre répertoire maison. 16.2. 14. Refaire avec nombre comme argument du script. Créer une archive compressée conf. par exemple ch1.txt. on le convertit au format postscript (ps) puis en format pdf. Toutes les 3 minutes ajouter un chier. Quelle est votre chemin (PATH). Changer les permissions de ch1.tgz. y copier les chiers de conguration (extension conf ) de /etc. étendue et utilisées de votre machine. 6. On veut imprimer le chier /boot/grub/menu. Refaire pour un nombre de fois a lire du clavier. Utiliser les racourcis de répertoire pour vous déplacer vers /etc. Voir la commande chgrp. le groupe P3. Donner la liste de repertoires /etc dans un autre terminal.conf ) de 12 a 15 heures toutes le 2 minutes entre la minute 8 et 25. do wget -c http://www.txt. par exemple le groupe P1 de 8h à 12h. done LinuxIntro Belahcene 11 décembre 2014 . et donc on crée des groupes.txt accessible en lecture à tout le monde. ch1.org/book/intro-en/WS_HO_4/Tiling/$i. Modier ensuite la gestion pour lever la restriction le week end (vendredi samedi). 10.txt dans ch2. Quelle est le CPU. 11. /home . 4. donner ensuite la différence entre les 2 chiers. Lancer quickshow (visionneur d'images et diaporama). 15.

bak. arreter les processus qui tournent depuis plus de 6h. Faire des copies de vos chiers shell (extension .sh aura pour copie ch1.168.sh). 26.bak. 21. (ind : Le caractère pipe  |  permet de faire des ltres successifs). 25.txt vos processus. si le processus n'appartient pas a root. Tester l'existence de toutes les machines de votre réseau 192. Donner les lignes utiles du chier Récupérer le chier /etc/inittab dans un autre sans les commentaires ni lignes vides.0. Ecrire un script (utiliser awk) qui arretent les processus qui consomment plus de 2% CPU. les lignes seront numérotées. les entrees se font d'un chier donné en argument du script.5% de CPU l'arreter. par exemple che1. 24.sh. Refaire pour les utilisateurs ordinaires (UID > 999) LinuxIntro Belahcene 11 décembre 2014 . 27. 28. Utiliser ping option -c 2 (2 paquets). (ind : voir basename) 22. tous les matins a 8h nettoyer votre repertoire tmp.bak. Que donnent les commandes suivantes : ls /etc/[mt]* -ld ls /etc/[m-t]* -ld ls /etc/[^mt]* -ld ls /etc/[^m-t]* -ld 23. de tous les chiers .bak si leur taille depassent 1MB. Sauvegarder dans le chier ps. Refaire la question.2.sh. Quel est leur nombre. Le résultat est enregistré dans le chier inittabNew.txt la liste de tous les processus. Compter les utilisateurs de refox.7. si l'un deux utilise plus de 1.10. 29. Tous les soirs a 22 :30. c'est a dire la copie sera che1. 20. Refaire l'opération sans . Sauvegarder dans mesProcess. Les noms de chier sont donnés en arguments. Exercices Page 29 19. Ecrire un scipt qui lit 4 nombres a partir d'un chier et les écrit dans un autre. avec ajout de . Ecrire un script qui ache N fois une phrase lue au clavier.

3 Petite Administration Même si on est un simple utilisateur de la machine. mais parfois il est préférable d'utiliser la ligne de commande. Par exemple on installe un logiciel. 3.. Le reste est fait de facon automatique (détection de carte video. 4. réseau. Aussi il est très recommandé d'avoir quelques notions de bases. 1. Si vous avez un probleme de carte video. ou administrateur. on est souvent amené à faire ne serait ce qu'une petite administration. les processus. 3. Si vous avez un ordinateur portable et que ce dernier redémarre brutalement pendant la procédure d'installation. à savoir les systèmes de chiers. Dans la plus part des cas on peut utiliser une interface graphique. mettre manuellement une adresse à la carte. Entrer un mot de passe d'administrateur et un compte d'utilisateur. l'installation des logiciels.1 Installation Disons deux mots sur l'installation d'une distribution. Adresse de la carte réseau.). on congure la carte réseau. ce qui est actuellement rare. Choix du clavier et de la langue 2. ces taches nécessitent la permission du super user. on sauvegarde le système. Dans ce cas vous pouvez utiliser un CD-Live. Dans ce chapitre nous essayons de faire le tour des questions essentielles. L'installation peut se faire meme si le graphisme ne fonctionne pas 30 . puis tapez noacpi noapic nolapic à l'écran d'accueil au lieu de simplement valider. éditez l'entrée Install en appuyant sur la touche Tab. sauf si votre materiel est tres recent par rapport au software. recuperer ensuite le chier /etc/X11/xorg.conf et copier dans le repertoire de 1 la distribution installe . carte son. par exemple Centos/Redhat ou Debian/ubuntu. Partionnement du disk : l'installateur exécute un partitionneur gparted ou fdisk. s'il y a pas de DHCP.. ce qui désactivera l'ACPI (un système d'économie d'énergie qui est bogué sur certaines cartes mères). Les choses essentielles à retenir pour l'installation standard sont 1.

.. ext2. Avec diérents types de système reconnus. LinuxIntro Belahcene 11 décembre 2014 . donnés en options. ext3. mkfs -t vfat /dev/hda2 crée un système de chier et formatte la partition /dev/hda2 en format vfat. Elle gère le partionnnement du disk. on peut aussi utiliser mkfs. fdisk cette commande est dangereuse et est réservée au super user.2.1  résultat de fdisk et df 3. Gestion du Disque Page 31 Figure 3.vfat. Il est bien entendu que toute les commandes utilisateur sont aussi valables pour l'administrateur. On peut aussi utiliser  parted  qui permet de redimensionner une partition. vfat.2 Gestion du Disque Ci-après nous donnons les commandes les plus utilisées pour l'administration d'un machine seule ou dans un réseau local.3..

d. le type du device est un iso9660 (cdrom). l'utilisateur peut le monter. On peut aussi bien identier la machine avec sont nom ou sa carte réseau.d .d ou rc5. les ash disk. pas de  muli-user . s'il lui est permis. etc. /etc/hosts Ce chier contient le numero des cartes et les nomes des machines associes. il faudrait alors être administrateur pour faire le montage. la carte réseau est désactivé. A chaque niveau correspond un ensemble de services à lancer qui sont enregistrés dans le répertoire correspondants. Le mot de passe n'et pas stocké dans ce chier. avec la permission a tout utilisateur pour le faire. ln -s .d. Si on supprime le mot  user . Le niveau 0 est l'arrêt.d Tous les programmes commençant par S sont exécutés au démarrage. quota permet de xer des tailles limites aux usagers. On peut empêcher un utilisateur d'accéder à un périphérique donné./init.. Si le point de mount est déclare dans /etc/fstab. pour niveau 2 .3. voir le services dans /etc/rc1. Fichiers Systèmes Page 32 mount -t vfat /dev/hdc1 /media/disk : montage de la partition 1 du disk 3 sur le répertoire /mnt/hd1. Lire les commentaires du début de ce chier. la ligne suivante : LinuxIntro Belahcene 11 décembre 2014 . le graphisme n'est pas lancé. /etc/passwd Contient la liste de tous les utilisateurs y compris les utilisateurs systèmes. Supprimer le lien de rm /etc/rc2. rc3. autrement il faut être administrateur. est monte sur le répertoire /media/cdrom0.. Par exemple niveau 1 correspond au fonctionnement  single .d/vsftpd stop (ou start) Comment supprimer (ou ajouter) un service de la liste de démarrage. par exemple la ligne suivante : /dev/hdb /media/cdrom0 iso9660 user Signie le périphérique  hdb  ici le cdrom. 3. 3 ou 5 voir les répertoires /etc/rc2.d/ssh S96ssh crée un lien au service ssh porle faire démarrer automatiquement.d.. /etc/fstab Contient les systèmes de chiers et partitions à monter au démarrage et à rendre accessible à l'utilisateur et au système.3 Fichiers Systèmes Nous voyons ici chiers systèmes importants : /etc/inittab Le processus de démarrage lit ce chier pour déterminer quel est le niveau de fonctionnement du système. un seul utilisateur. Les services qui tournent automatiquement au démarrage : dans le niveau 2 sont dans /etc/rc2. et empêcher ainsi qu'un utilisateur ne remplisse le disque.3. Comment arrêter (ou lancer) un service à chaud : /etc/init. Ceci est valable pour les disques durs . et ceux qui commencent par K sont arrêtés.d/S20vsftpd (ou ajouter le lien avec S au début du nom) par exemple : cd /etc/rc5. le niveau 6 est le redémarrage  reboot .

son répertoire maison est /home/bella. détruit complètement le programme dont le numéro est 345. Contrairement à ce qui pourrait paraître. Il est déconseillé de se loger en super utilisateur (compte administrateur ou root). les déclarations de la souris du clavier et de la carte vidéo. La conguration peut se faire par outil graphique évidemment 3. Pour arrêter un programme en exécution ou un processus il sut de donner son PID à la commande kill. La commande Xorg congure permet de refaire la conguration et de réécrire le chier xorg. Dès qu'un processus est lancé il reçoit un identiant PID (Processus IDentication). la detection se fait de facon automatique au demar- xrandr current ache les informations sur l'ecran actuel. si la permission est accordée. Linux est un système mutli-utilisateur. Ces commandes sont détaillées plus loin. 3. Nous le verrons en détail. qui permet de passer momentanément en root. Par exemple pour créer un compte il faut être super user. voir 4 page 37 dans le chapitre réseau.168. c'est à dire chargé en mémoire et donc en exécution ou en attente de l'être. même si l'utilisateur ne lance aucune application. Les Processus Page 33 bella:x:1004:1002:.4 Les Processus Un processus est un programme en exécution.10.10 Congurer la carte réseau ethernet eth0 et lui aecte l'adresse indiquée 2 /etc/X11/xorg. nous avons besoin de lancer une commande d'administrateur. a pour UID et GID (User et Group IDentier) 1004 et 1002.conf Dans ce chier se trouve la conguration du graphisme. si à un moment donné. dont le mot de passe crypte est ailleurs (ici dans /etc/shadow).conf. ou encore la commande ps aux par exemple pour top. Par exemple kill -9 345. Utiliser plutot la commande xrandr par exemple : xe l'achage a la resolution 1024 par 768 pixels. à moins d'avoir un multiprocesseurs LinuxIntro Belahcene 11 décembre 2014 . Version recente de xorg. c'est à dire il peut se loger et travailler sur la machine. voici un exemple : 2.3.4. plusieurs utilisateurs peuvent y travailler en même temps sur la même machine ou à distance. exécuter la commande avoir les détails sur les processus. c'est un abus de langage. il y beaucoup de processus en exécution en 3 même temps . il sut d'utiliser le su mis pour switch user. /etc/network/interfaces (sous Redhat : /etc/syscong/network-script/ifcfg-eth0) Ce chier contient les informations de conguration de la carte réseau. Pour avoir une idée. ifcong eth0 192. en realite une seule instruction machine est exécutée à la fois.:/home/bella:/bin/bash Signie que l'utilisateur bella. et a le droit d'utiliser le shell bash. et xrandr size 1024x768 rage su serveur X.

B doit être installé manuellement. Installation avec apt-get La distribution debian a un outil extrêmement puissant et utile pour l'installation des logiciels. mais n'essaiera pas d'installer B.5. Le paquet doit être donne complètement. ce dernier est alors installé a moins qu'il ne soit pas présent. Un autre outil plus puissant apt-get sera étudie a la section suivante. il permet de faire la résolution automatique des dépendances. avec sa version... c'est à dire.list pour charger la liste des dépôts.deb Permet d'installer  -i  le logiciel apache2. Les options les plus courantes en plus de -i. Utilisation de Synaptic Le logiciel synaptic est une interface a la commande apt-get. cet outil donne aussi des informations concernant les paquets. liste des chiers  -r : supprime le paquet (remove) Remarque 13. Installation de Logiciel Page 34 bela@pc1020:$ su Password: -------> donner le mot de passe de root pc1020:~# adduser cpte1 Adding user `cpte1'. c'est à dire lorsqu'un logiciel nécessite l'installation d'un autre.8-3_all. les chiers LinuxIntro Belahcene 11 décembre 2014 . sont (concerne les paquets installes) :  -l : ache des informations sur le paquet (uniquement le nom : par exemple apache2)  -L : le contenu du logiciel.2.5. dans ce cas l'installation n'est pas réalisée.3. si B n'est pas installe. dpkg vous informe que A nécessite B. dpkg -i apache2_2. dpkg ne résoud pas les dépendances. faire dpkg help ou man dpkg pour avoir les diérentes options.1 Logiciel Précompilé type deb Installation avec dpkg L'installation de logiciel sous debian se fait par la commande dpkg (Debian PacKaGe). Enter new UNIX password: ------> mot de passe cpte1 Retype new UNIX password: password updated successfully Changing the user information 3. si un logiciel A dépend de B.5 Installation de Logiciel 3. tout comme sous redhat on utilise rpm (Redhat Package Manager). en plus d'installation ou de la suppression de logiciel. Au fait il utilise les chiers sources. directory `/home/cpte1'.

Monter puis démonter des partitions et dire quelles sont leur taille et type. 6. fdisk -l permet de lister les partitions. Lister le chier passwd. tester ensuite si les programmes at et crontab fonctionnent.conf pour les info sur le proxy par exemple. Installer un paquet individuel. regarder groupes secondaires. 3.6. Créer un répertoire windC.. De meme pour le cdrom.2. par exemple minbar. y monter la partition windows qu'il faudra reperer. utilisent un proche de apt. Exercices Page 35 Packages pour les info sur les paquets et aptget.lst contient les infos sur le menu de démarrage.3. remarquer les informations de root.5. tout comme dpkg. suivie de L pour donner la liste des chiers. Arrêter les services atd et cron. Redémarrer les de nouveau et vérier at et crontab.8-3_all. pour ce faire utiliser yum. 7. Centos. y monter le ash disk. On veut lancer automatiquement au démarrage un programme. voir les commentaires sur le chier. -q pour une requete (query) suivie de l pour lire l'entete. (voir fdisk). LinuxIntro Belahcene 11 décembre 2014 . -U pour une mise à jour . Que représente la dernière colonne. mais les dépendances ne sont pas résolues.6 Exercices 1. en particulier peut il monter automatiquement un ash disk ou écouter le son.2 Logiciel Précompilé type RPM Installation avec rpm Les distributions compatible Redhat. dans un répertoire Cd. 5. De même que pour la commande apt-get on peut utiliser synaptic à travers un proxy. Créer un usager user1. 2. Comment retrouver le grub (le menu démarrage) détruit par l'installation de wind$XP ? Le chier /boot/grub/menu.  9. Installer apache2 se fait avec : rpm -i apache2_2. 4. et utiliser la commande rpm. 3. Créer un répertoire usb1. de user et de ftp. 3. Autoriser l'utilisateur a faire le montage de cette partition en lecture seulement. Dans Paramètres->Préférences->Réseau congurer la proxy et ajouter le login/motdepasse s'il est requis. comme Fedora. donner la procédure. nécessite de donner le paquet du type rpm.. mandriva. Yum. Comment retrouver le mot de passe root avec le CD de Démarrage ? 8.rpm les options -i pour installer.

1. de les archiver et compresser. Exercices Page 36 10. Créer un autre usager user3. Créer deux usagers u1 et u2 dans le groupe gr1 (a créer). 15.9-i386.3.bz2. Donner le nom. tous les jours sauf vendredi.6. Permettre aux utilisateurs du groupes gr1 d'utiliser refox pour naviguer de 13 heures à 14 heures et pour le groupe gp2 de 16 heures à 17 heures. Écrire un bash script qui permet de récupérer dans votre répertoire les chiers de /etc/init. 14. les paramètres et le PID du script en exécution. 11.d. permettre a l'utilisateur user1 l'accès et la lecture du répertoire /home/user3 mais pas à l'utilisateur user2. 12. Arrêter tous les processus dont le PID est supérieur a 500 . LinuxIntro Belahcene 11 décembre 2014 . 16. 13. créer un répertoire de travail et les désarchiver dans celui-ci. Voir la commande tr. 17. Écrire un script qui convertit tous les noms de chiers de minuscule vers majuscule d'un répertoire donné. autoriser uniquement le passage (en lecture seule) d'un utilisateur à un autre de ce groupe. Installer le logiciel source tk-1. Ind : regarder les permissions et le groupe du répertoire.

le modèle simplié se réduit à 4 couches. ajoute sa propre entête qui sera traitée par la couche correspondante sur la machine distante.  Application : web. La gure 4. Par exemple la couche transport vérie la validité de l'information et fait corriger les erreurs de transmission. 4. trai-  Routage de réseau : choix du tement par l'applicatif chemin  Transport : vérication de  Réseau physique transmis- l'information sion de bits. ici serveur ftp. ajoute concernant le port et autre information de l'application que la couche application du correspondant doit ouvrir pour voir le port concerne et le reste de l'information pour savoir qu'elle est l'application qui la prendre en charge. ici serveur ftp.1 montre comment les couches interviennent dans une communication entre par exemple client ftp et serveur ftp. Remarque 15. Chaque couche de réseau. ftp.4 Introduction aux Réseaux A tous les niveaux des couches sont dénis des protocoles de communication. A chaque niveau sur une machine correspond sur la machine distante la même couche qui joue le même rôle.168.2 Création de sous Réseaux La commande ifcong (sans paramètre) : donne la conguration d'une carte réseau : le numéro ou addresse IP : (4 octets : 192. Chaque machine dans le réseau est 37 . Dénition 14.10).10. 4. Un protocole est un ensemble de règles et de procédures à respecter pour pouvoir échanger des informations entre machines / logiciels des données sur un réseau Le modèle ISO découpe la communication en 7 couches qui ne sont pas toujours très nettement distinctes.1 Communications à Travers les Réseaux Nous résumons en bref la communication entre les ordinateurs dans un réseau et les diérentes couches intervenant. Ainsi par exemple la couche d'application.

xe l'adresse de eth0.1 qui fait automatiquement la conguration. utile voire indispensable si on a peu d'adresse et/ou on veut contrôler les adresses. Les informations de reseau sont stockées dans le chier /etc/network/interfaces.168.d/networking restart Ou bien utiliser la commande network-admin gw 192. Ethernet mgt fb fb fb fb tpl6 tpl6 fb Switching Hub fb fb fb 5302m 5302m Pilote Ethernet Pilote Ethernet cmgt cmgt Carte Reseau Figure 4. par exemple 255.168.2. Une machine M1 voit M2 si elles sont dans le meme réseau (ou sous réseau) : la séparation en sous est faite par le mask. auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.255. LinuxIntro Belahcene 11 décembre 2014 . La conguration precedante. en static.168.255.0 gateway 192.1  Communication Client Serveur identie par un numéro.1 Une adresse dynamique est donne automatiquement par un serveur DHCP.10.255. Pour changer manuellement il sut de modier ce chier et puis de relancer le serveur avec la commande /etc/init.4.0 creer des sous reseau de 254 machines au maximum. Création de sous Réseaux Page 38 Ordinateur B Ordinateur A Protocole FTP Serveur FTP Client FTP Terminal Protocole TCP TCP TCP Protocole IP IP IP Linux Kernel TM 3Com CoreBuilder 5000 Pro.10.10 netmask 255.10.255. Les adresses statiques sont données soit à chaud (utiliser par exemple ifcong) ou permanentes (utiliser les chiers de conguration ou un outil qui écrit dans le chier /etc/network/interfaces .

on n'utilise le gw 192.255 Remarque 18. ce dernier cas nécessite un bit supplémentaire pour le masque.128 gw 192. si la premiere n'est pas veriée on passe a la deuxieme. Réseau Adr.1 à 126 192.168.10.168. Les commandes suivantes ajoutées au chier interface. up route add -net 192.168. m2 .127 192.168.128 192.10.225 masque 24 bits: m1.10.255.4.10 et 192. la regle par default doit etre la derniere.168. Une carte peut avoir plusieurs adresses.10.129 à 254 192.168. Par controle elle ne peuvent le faire avec le masque 255.10.Machines Adr.2.200.10.255.10.1. personnalise le routage.255.10 ifconfig eth0:1 192. ) et non pas à une machine qui peut avoir plusieurs cartes et donc plusieurs adresses. Création de sous Réseaux Page 39 Remarque 16.75.1 à 254 192. Dans l'exemple suivant. le dernier octet etant a 0 .168.168.128 .10 m2 : 192.168.168.128 netmask 255. LinuxIntro Belahcene 11 décembre 2014 .168.. que si le reseau est dierent de 192.168.10. Diusion 24 bits 192. Deux bits suplémentaires sont nécessaires pour faire 4 sous-réseaux .168.125 m3 : 192.. il faut qu'elle aie la même partie addresse correpondant au masque (i. Une adresse IP est liée a une carte réseau (ou modem..10. Le masque est une suite de 32 bits qui jouent le role de ltre.155 m4 : 192. on utilise des alias.175 peuvent se co- muniquer avec le masque 255.10.10.168.10.200 Exemple 19.0 192.1.168.168.1. Les regles sont lues dans l'ordre. par exemple.10.168. voir le chier exemple : /usr/share/doc/ifupdown/examples/network-interfaces.10.168.10.1. Exemple 17. Masque Adr. m1 : 192. n est pas concerne.255 25 bits 192.168.168.168. car la partie controle est 192.e : les bits a 1 du masque). la carte eth0 physique a deux adresses correspondant aux cartes logiques eth0 et eth0 :1 ifconfig eth0 192. dans ce cas 10 a le premier bit a 0. etc. Les machines d'adresse 192.255.10.35 Le masque permet d'eclater un résaux en plusieurs sous réseaux. par contre 175 son bit est à 1.255.168.0 192. en eet le premier bit (128 en binaire est : 1000 0000) du quatrieme octet est aussi controle. Pour que deux cartes reseaux puissent communiquer.168.0.10.1. Exemples de réseau avec 254 machines et de deux sous réseaux de 126 machines chacun.2 up route add default gw 192.128.255. m3 et m4 meme reseau masque 25 bits : bit 25 de M1 est 0 car 10 s'ecrit 00001010 bit 25 de M2 est 0 car 125 s'ecrit 01111101 bit 25 de M3 est 1 car 155 s'ecrit 10011011 bit 25 de M4 est 1 car 225 s'ecrit 11100001 M1 et M2 dans un meme S/reseau M3 et M4 dans un autre S/reseau masque de 26 bits: chacune est dans un réseau a part.gz.

Voir pour des détails les rewalls. La machine 1 communique avec la machine 2 du fournisseur 2 a travers le passerelle locale puis le fournisseur1.ip_forward=1 De façon permanente mettre dans le chier net.0 0.0.2). Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.2.0.255.10.1 Conguration de Passerelle Pour changer de réseaux.2 Filtrage des adresses Pour que le  Forwarding  se fasse correctement il faut que la passerelle soit declaree sur les machines clientes qui communiquent.10.168.20.10. Comme les machines en communications (A et B) ne sont pas dans le meme reseau. Imaginer une passerelle comme un couloir dans une maison.10. et non pas notre réseau locale. le role de cette passerelle et de faire suivre  forwarding  les paquets d'une carte a une autre.0 255. a chaud avec la commande . Comment alors la machine 2 pourra t elle trouver le chemin vers la machine 1 et lui repondre ? On utilise alors le  Masquerading .ipv4.255. Exemple 20. par defaut .20.0 avec le masque 255. Pour rendre actif le  Forwarding  mettre a 1 (par defaut elle est a 0) la variable /proc/sys/net/ipv4/ip_forward. Considérons 2 sous réseaux avec les adresses 192. La deuxieme.10.0 se fait dirctement a travers la carte reseau eth0.10.1.1 et 192.conf 4.2. Création de sous Réseaux Page 40 4.255. C'est a dire on masque l'adresse de la machine 1 par l'adresse de la passerelle qui.168. Ce dernier declare sa passerelle fournisseur 2.ipv4. On dit qu'on translate ( -t nat ) les adresses. c'est a dire dans les deux sens. veut dire.168.168. Pour rendre permanente toutes ces informations les stocke dans le chier /etc/network/interfaces.0. A ne peut connaitre B qu'a travers une passerelle. Dans l'exemple de la gure (4. tout ce qui n est pas dans le reseau precendent est envoye a travers la carte eth0 a la machine passerelle 192. Ainsi la passerelle doit avoir une adresse dans le premier reseau et une autre dans le deuxieme. ce qui veut aussi dire que chaque chambre a un acces sur le couloir.0 192. Editer ce chier pour voir les informations enregistrees a l'installation. La machine d'un sous reseau ne peut acceder directement a une machine d'un autre.255.168.1. sysctl -w net. Ajout de passerelle à chaud dans le noyau sans sauvegarder pour prochain boot ou relance du service networking : route add default gw 192. il permet de passer d'une chambre a une autre. il est nécessaire d'utiliser une passerelle.168.1 Lancer la commande route -n pour voir le resultat de la commande precedante.ip_forward=1 /etc/sysctl.0 UG 0 0 0 eth0 La premiere ligne signie que l'acces au reseau 192.0 U 0 0 0 eth0 0.0.2.4.0. de meme B ne connait A qu'a travers une passerelle.0.1 0. elle est connue du fournisseur 1. La passerelle doit avoir 2 cartes avec les adresses par exemple 192. Retenons pour l'instant la commande à utiliser : LinuxIntro Belahcene 11 décembre 2014 . puisque la passerelle et le fournisseur 1 sont dans le même réseau.0 et 192.10.0.168.168.

d . La commande lister les regles (-L) et iptables -t nat Notons que cette commande est lance a chaud sur le noyau.10 192.d/runIptable. pour la rendre permamante on peut utiliser un script qui la lance au demarrage.120.15 23./init.10. ici entre url1 et url2 1. Création de sous Réseaux Page 41 Reseau Local Machine1 Fournisseur1 11111 00000 00000 11111 00000 11111 00000 11111 192.120.sh 2.sh 3. iptables -t nat -L permet de -F permet de vider les regles de translation.10..194. ln -s .168.d vers ce chier :  cd /etc/rc2.1 193.120 Passerelle Figure 4. On peut utiliser la procedure suivante : 1.2. Le rendre executable chmod +x /etc/init.2  Passerelle iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE On fait ici la translation d'adresse sur la carte en sortie eth1. On suppose ici que le niveau de fonctionnement est 2 LinuxIntro Belahcene 11 décembre 2014 .12. en cachant les adresses locales.d/runIptable.conf netselect -vv url1 url2 donne le site le plus proche parmi les arguments.4.11.168.194.d/runIptable. Creer un lien dans /etc/rc2.sh S90runIp Au démarrage 1 le noyau chargera la commande iptables. On ecrit la commande dans un chier par exemple /etc/init. c'est a dire tous les paquets sortant par eth1 prennent l'adresse de cette derniere.12 Fournisseur2 193. L'adresse du DNS est stockée dans le chier de résolution des adresses : /etc/resolv.

168. A la premiere connection sur le serveur ssh.170 "gedit --display=:0. pour modier si nécessaire les autorisation d'exporter de graphique for i in $(seq 210 223). Dans les répertoires /etc/rcS.d.cong.3.4. La commande rm /etc/rc5. Démonstration.170 "echo -e 'l2009\nl2009' > f. ainsi le client peut verier si necessaire que la clé publique 2 présentée par le serveur est bien sa clé publique. /etc/init. mettre a yes le X11Forwarding dans le chier /etc/ssh/sshd.168. ou a no pour interdir le transfert du graphisme. ce dernier presente son empreinte ou identite.d ou /etc/rc5.d et /etc/rc2. sinon le client risque de se connecter à un faux serveur qui aurait usurpé l'adresse IP du vrai serveur.txt " Cette commande permet de changer le mot de passe root sur la machine 192.10.168.d/ssh stop ln -s /etc/init. verier quelque option. 2.d (niveau de fonctionnement : /etc/inittab) on met les liens avec ln -s vers les scripts de démarrage.0" Ouvrir le chier /etc/ssh/sshd_cong.d/S77ssh supprime le lien. Une autre option interessante est de lancer une commande a distance sans se loger comme par exemple ssh -X user@192.d/ssh stop.10. do ping -c 2 192. Le supprimer de /etc/rc5. passwd < f.168.d/ssh /etc/rc5. et réessayer de nouveau gedit. Pour l'arrêter à chaud /etc/init. puis start pour le relancer. on trouve le script qui permet l'arrêt/démarrage dans /etc/init. Le Serveur ssh Page 42 4.170 Refaire la connection avec l'option -X.d/S77ssh permet de l'enlever du démarrage automatique.3 Le Serveur ssh Remplace le telnet avec la sécurité dans le transfert de mot de passe. par exemple ne pas accepeter le login avec root  PermitRootLogin no  et ne pas admettre une connection sans password. Essayer un acces sur le serveur puis lancer une commande qui ouvre une fentre par exemple gedit ssh user@192. pour ne pas le lancer au démarrage. le nouveau mot de passe est l2009.10.168.$i.d/S79ssh S : start pour lancer. ssh -l root 192.txt. Conguration du ssh server : pour autoriser le transfert du graphisme. done S'il est installé.10.. voir notre document sur la securite des serveurs LinuxIntro Belahcene 11 décembre 2014 .. 79 indique l'ordre d'exécution des services. n'a de l'importance que s'il doit être exécuté après un autre service.  PermitEmptyPasswords no . voir le chier /etc/ssh/sshd_cong.170.10.

4. 5.20.10/24. Créer des alias à votre carte réseau pour être dans 2 réseaux diérents : 192.40. a) On suppose que vos voisins sont dans 2 sous-réseaux (M1 : 192.4. refuser le transfert de graphisme. 2.128. N1 :192.20.10 et 192.142.65 et N2 :192. 7.168.168. N2. si vous avez une seule carte utilisez les alias.10.168.0. par exemple 192. M2 :192.168. Exercices Page 43 4. Activer l'acces sans password.0 et 192.0. Même question pour le masque 255. faire en sorte que M1 puisse acceder à M2.255. de diusion et de réseaux. 3.10.0 et 192. M2 peut elle aller sur M1 ? 6. b) on suppose que M2 ne declare pas de passerelle . LinuxIntro Belahcene 11 décembre 2014 .255. M1 et M2 se voient directement avec le masque 255. que le temps d'essai ne depasse pas une minute.168.150/25) et ne peuvent se voir qu'à travers votre passerelle. Les connections peuvent elles se faire entre M1 :192. Soient les sous réseaux 192.168.4 Exercices 1.15. Expliquer.168. refuser le transfert de graphisme.20.32.0 ? Quel est le masque qui éclate le réseau 192. Est ce que les machines N1.255.210.168.0.168.168. Faire de votre machine une passerelle. Refaire en inversant ces autorisations.10.168.0. Congurer votre machine passerelle.50.168.10.0 et les machines M1 :192.142.10/25 et M2 : 192. refaire en autorisant tout cela. Utiliser le chier de congurations /etc/network/interfaces (sauvegarder le chier initial).168.168. 192.0 en 8 sous réseaux et quelles sont les plages d'adresses des machines.10/20.0.10/21 et M3 : 192.168.168.128.168. Congurer le serveur ssh de sorte qu'il n y est pas d'accces root. 4. que le temps d'essai ne depasse pas une minute et pas admettre d'acces sans password.10.10. M2 :192.10. Congurer le serveur ssh de sorte qu'il n'y est pas d'accces root.60.