Introduction à l'informatique et Linux
Introduction à l'informatique et Linux
Cours complet
IUT de Villetaneuse
S1 2016
Les enseignements
▶ 12 sessions de 4h et du travail personnel . . .
▶ 6 sessions pour la présentation générale du système d’exploitation Linux,
▶ 6 sessions pour la théorie de base du codage informatique
L’évaluation
▶ Une composition après la sixième session (sur papier ou sur ordinateur).
▶ Une composition à la fin du module (sur papier ou sur ordinateur).
3 Le système Linux
4 L’ordinateur de bas en
6 données
Fichiers exécutables et
données
Plan
1 Généralités
Qu’est-ce qu’un ordinateur ?
Les composants principaux et les principes de fonctionnement d’un
3 Le système Linux
4 L’ordinateur de bas en
6 données
Fichiers exécutables et
données
Définition
Définition (Ordinateur)
Machine électronique programmable capable de réaliser des calculs logiques sur des nom
Interaction Hardware/Software
La plupart du temps, l’informaticien n’a pas a interagir directement avec le m
3 Le système Linux
4 L’ordinateur de bas en
6 données
Fichiers exécutables et
données
Les interfaces
La forme classique
▶ Un ordinateur est classiquement composé d’une unité centrale et de périph
▶ Les interfaces permettent l’interaction avec l’environnement (utilisateurs ou
Matériel commun
▶ Des capacités de calcul : CPU et/ou GPU
▶ De la mémoire : RAM, Disque dur, . . .
Logiciels similaires
▶ Pour dialoguer avec le matériel : Système d’exploitation, Firmware
▶ Pour accomplir ses tâches : logiciels, programmes, . . .
Périphériques différents
▶ Interfaces : Connexions réseau, écrans, claviers, . . .
Les performances
▶ Guichet unique d’accès : une requête à la fois.
▶ On peut écrire une valeur dans une fiche ou lire une fiche, rien d’autre
Les instructions données doivent être simples (opérations arithémtiques entre deux
valeurs, tests élémentaires uniquement).
▶ Les registres sont très rapides ; la durée d’un cycle est de l’ordre de la nanoseconde.
▶ Toute opération complexe est divisée par un humain en opérations élémentaires
→
programmation.
▶ Les instructions forment un code compact appelé code machine.
Analogie : pour faire une multiplication, on peut faire plein d’additions et tester si on arrive
à 0.
Aucune intelligence
Aucune compréhension réelle des valeurs manipulées On ne peut pas tout surv
Haut Niveau →
▶ Logiciel,langages de programmation, . . .
C’est le domaine de l’informatique et des informaticiens Une interface : Le s
Bas niveau
▶ Firmwares, exécution des instructions machine, . . .
▶ C’est le domaine de la physique et des électroniciens.
G. Santini, J.-C. Dubacq (IUTV)
S1 201614 / 235
Plan
1 Généralités
2 Le système d’exploitation
La fonction du système
d’exploitation La multiplicité des
systèmes existants Comparatif
3 Le système Linux
4 L’ordinateur de bas en
6 données
7 Compléments sur
G. Santini, J.-C. Dubacq (IUTV) S1 201615 / 235
l’arborescence Flux de
données
Plan
1 Généralités
2 Le système d’exploitation
La fonction du système
d’exploitation La multiplicité des
systèmes existants Comparatif
3 Le système Linux
4 L’ordinateur de bas en
6 données
7 Compléments sur
G. Santini, J.-C. Dubacq (IUTV) S1 201617 / 235
l’arborescence Flux de
données
Le système d’exploitation
Le système d’exploitation permet de développer des programmes sans tenir compte de la
complexité physique de la machine. Les programmes utilisent des fonctionnalités
standardisées d’accès aux ressources matérielles.
Côté Système, l’O.S.
▶ coordonne l’utilisation des ressources (par exemple quel « programme » utili
▶ assure la maintenance et la fiabilité du système (par exemple gestion des fic
▶ fournit des services commun à tous les programmes
2 Le système d’exploitation
La fonction du système
d’exploitation La multiplicité des
systèmes existants Comparatif
3 Le système Linux
4 L’ordinateur de bas en
6 données
7 Compléments sur
G. Santini, J.-C. Dubacq (IUTV) S1 201619 / 235
l’arborescence Flux de
données
Les différents systèmes d’exploitation
2 Le système d’exploitation
La fonction du système
d’exploitation La multiplicité des
systèmes existants Comparatif
3 Le système Linux
4 L’ordinateur de bas en
6 données
7 Compléments sur
G. Santini, J.-C. Dubacq (IUTV) S1 201621 / 235
l’arborescence Flux de
données
Les différents systèmes d’exploitation
Linux
Windows
▶ Non propriétaire : Gratuit le plus
souvent
▶ Propriétaire : Payant
▶ Ouvert : sources disponibles
▶ Sources non disponibles
▶ Flexible : sources modifiables
▶ Sources non modifiables
▶ Puissant : Programmable
▶ Communauté active : nombreux
utilisateurs, services payants
▶ Communauté active : entraide des
utilisateurs
▶ Plus ergonomique : pour les utilisateurs
(interfaces d’utilisation optimisées)
Plus complexe : plutôt pour les
▶
informaticiens (interfaces de
Les systèmes, en constante évolution
programmation optimisées)
Depuis une dizaine d’année, Linux et Windows ont beaucoup évolué. La plupart
G. Santini, J.-C. Dubacq (IUTV)S1 201622 / 235
Plan
1 Généralités
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Plan
1 Généralités
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Un peu d’histoire
GNU-Linux
▶ Le système GNU-Linux est la rencontre d’une technologie, le noyau Linux et d’une
philosophie de développement et de diffusion. C’est un système au développement
collaboratif (par une communauté) qui est distribué librement et permet l’utilisation de
tous les logiciels libres développés pour son architecture.
▶ Le noyau Linux est historiquement une version libre du système UNIX développé
initialement par le Finlandais Linus Torvalds à partir du début des années 1990.
▶ Le projet GNU est celui du développement collaboratif et libre d’un système
d’exploitation libre initié par Richard Stallman en 1983.
Aujourd’hui
▶ C’est un système très largement diffusé et utilisé sur lequel ont été développées
plusieurs distributions (qui sont des suites logicielles qui accompagnent le noyau).
▶ Initialement confidentiel et réservé à des spécialistes avec des interfaces rudimentaires,
il est aujourd’hui toujours plus ergonomique et automatisé pour les non spécialistes,
mais laisse les outils et interfaces de bas niveau disponibles au plus grand nombre.
▶ On notera par exemple l’existence de nombreuses interfaces graphiques Bureaux (GNOME,
KDE,
. . .) de nombreux paquetages pré-compilées, de nombreux outils d’administration et de
services (protocoles, . . .)
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 26 / 235
Plan
1 Généralités
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
À l’IUT : Debian
Une distribution téléchargeable
Pour ce cours
▶ Les concepts abordés dans ce module sont généraux.
▶ Il pourront être testés sur tous les systèmes Linux (avec de très faibles varia
▶ Il vous est possible d’installer une version de Linux sur votre ordinateur perso
▶ Une pratique régulière devrait vous assurer une bonne note à peu de frais. .
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Un système avec plusieurs utilisateurs
Des utilisateurs et des droits
▶ Chaque personne accédant au système est identifiée par un nom d’utilisateur (dit
login) et un mot de passe (dit password).
▶ Chaque utilisateur bénéficie de permissions : exécution de certains programmes,
lecture de certaines données, écriture de fichiers seulement dans certains répertoires.
▶ Chaque utilisateur bénéficie d’un espace de travail réservé sur le disque. C’est un
répertoire de l’arborescence dans lequel l’utilisateur a tous les droits : il peut y créer
des sous-répertoires, y écrire des fichiers, y installer des programmes et applications.
Toutes ses données et préférences personnelles y sont regroupées.
▶ Ce répertoire est appelé "Répertoire Personnel" ou "Home Directory". Il est en général
placé dans un répertoire qui s’appelle /home/ et porte le nom de l’utilisateur.
Superutilisateur - Root
▶ certains utilisateurs ont des permissions étendues pour administrer le système et effectuer
des opérations interdites à l’utilisateur normal.
▶ l’utilisateur root a tous les droits dans le système (par exemple il peut changer les
permissions de n’importe quel fichier, il fixe les noms d’utilisateur et les mots de passe,
il peut installer des programmes et librairies dans les répertoires système, . . .)
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 30 / 235
Identification en 2 étapes
Étape #1
S’identifier en donnant au système son nom d’utilisateur
Étape #2
Valider son identité avec le mot de passe
G. Santini, J.-C. Dubacq (IUTV)
S1 201632 / 235
Exercices
Ce TP est un premier contact avec le système d’exploitation Linux. Il vous permettra
d’appréhender les différences entre cet OS et ceux que vous pouvez avoir l’habitude d’utiliser
(Windows, MacOS-X). Nous présenterons au cours du TP les grandes lignes de l’environnement
de travail XFCE, la façon dont on peut interagir avec le système d’exploitation au moyen de
l’outil "Terminal" ainsi que les outils de base pour envoyer des mails (configuration de votre
compte mail à l’IUT) et pour obtenir de l’information sur internet (notamment sur Linux). Il
existe de nombreuses versions gratuites ou payantes de Linux. La distribution installée à l’IUT
se nomme Debian et est téléchargeable depuis [Link]
Connexion initiale
Q1 Lorsqu’on allume l’ordinateur un laps de temps est nécessaire pour charger le système
d’exploitation. Au terme de ce chargement, une interface graphique propose à
l’utilisateur de s’identifier. Linux est un système d’exploitation multi-utilisateur. Chaque
utilisateur doit systématiquement s’identifier ("login") auprès du système pour avoir le
droit de l’utiliser. Une fois identifié, l’utilisateur à accès a ses fichiers et son espace de
travail personnel. Une fois qu’il a fini d’utliser le système, l’utilisateur se déconnecte
("logout"). La période entre l’identification et la connexion est appellée "session
d’utilisation".
Démarrez votre ordinateur.
Q2 Connectez-vous ! Votre identifiant est votre numéro d’étudiant, votre mot de passe est
votre numéro INE. Attention : les identifiants et les mots de passe sont sensibles à la
casse. Cela veut dire que les caractères majuscules et minuscules sont distingués.
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Accès au système
Le bureau XFCE
Parmi les différents environnements graphiques existants, vous utiliserez l’en
Métaphore du bureau
Contrairement aux systèmes d’exploitation propriétaires, l’environnement de travail (bureau)
n’est pas directement lié au système d’exploitation. Les deux environnements de travail les
plus utilisés sous Linux sont GNOME ([Link] et KDE
([Link]
L’environnement choisi à l’IUT est XFCE (lié à GNOME mais plus léger). Une fois la session
lancée et
l’environnement chargé, vous arrivez dans un espace de travail appelé bureau. Cet
environnement de travail est assez proche de celui qui peut être proposé par les systèmes
d’exploitation propriétaires. Au moyen de la souris, vous pouvez intéragir avec le système.
En cliquant sur les éléments graphiques, vous pouvez ouvrir des menus, lancer des
programmes, quitter le système...
Q3 Identifier la barre de menu, la barre de tâches et le bureau.
Q4 Dans cet environnement, identifiez deux façons de lancer le navigateur internet
(Firefox ),
et l’application terminal ( ).
G. Santini, J.-C. Dubacq (IUTV) S1 201636 / 235
Exercices
Lancement d’applications
Comme la plupart des systèmes d’exploitation modernes, la distribution de Linux mise à
votre disposition est un système multi-tâches. Cela signifie, que vous pouvez exécuter en
parallèle plusieurs applications. Il n’est pas rare que lors d’une session vous lanciez plusieurs
programmes où chaque programme est associé à une fenêtre. À la suite des exercices
précédents, vous devez avoir au moins 4 fenêtres ouvertes (même si elles ne sont pas toutes
visibles à l’écran). Les fenêtres ouvertes apparaissent dans la barre des tâches située dans
la partie basse de l’écran qui doit alors ressembler à ça :
Q5 Donnez différentes façons de passer d’un programme à l’autre, d’une fenêtre à l’autre,
(au moyen de la souris ou du clavier) ? Qu’observez-vous au niveau de la barre des
tâches lorsque vous passez d’une application à l’autre ?
Q6 Identifiez l’outil permettant de passer d’un bureau à l’autre. Décrivez dans quelles
situations ces bureaux peuvent-être utiles. Trouvez comment on déplace une fenêtre
depuis un bureau vers un autre.
Q7 Placez sur les bureaux 1 et 2, une fenêtre de terminal chacun et sur les 3 et 4, une fenêtre
de navigateur.
Résultat attendu :
Q8 Expliquez la fonction de chacun des boutons placés dans le coin supérieur droit des
fenêtres. Fermez les fenêtres des programmes suivants : un terminal (bureau 1) et un
navigateur (bureau 3).
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Les logiciels disponibles
Les suites bureautiques
▶ Les suites bureautiques proposent les fonctionnalités grand public de traitem
▶ Plusieurs suites gratuites existent en libre accès sous linux
▶ CalligraSuite ()
▶ OpenOffice ()
▶ ...
Éditeur de texte
Nous allons créer un nouveau fichier. Pour cela nous allons utiliser un outil fondamental pour
tout programmeur : un éditeur de texte. Plusieurs éditeurs de texte sont à votre disposition
(vous pouvez explorer le menu Applications →Accessoires ou Applications →Développement
dans la barre de menu de XFCE). À la différence de logiciels tels que Word, un éditeur de
texte ne permet que de saisir du texte brut, sans mise en forme. Les programmes sont en
général écrits dans un éditeur de texte. Pour lancer un éditeur de texte trois moyens sont à
votre disposition :
▶ Lancer l’application depuis le menu application,
▶ Lancer l’application depuis une icône du bureau,
▶ Lancer l’application depuis la ligne de comande, par exemple en tapant :
login@host:˜$ gedit ←›
Ceci aura pour effet d’ouvrir une fenêtre de l’éditeur.
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Distribution et accès aux logiciels
Licences Propriétaires
Licences libres (open source) Elles restreignent un ou plusieurs de
Elles permettent de :
▶ d’utiliser le logiciel,
▶ d’étudier et de modifier les sources,
Gratuit
▶ de redistribuer les sources, modifiées ou non. ne signifie pas libre
Certains logiciels gratuits sont des l
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
La ligne de commande
Interface de communication avec le système (IHM)
▶ Interface historique en mode texte,
▶ Interface privilégiée sous Linux : de nombreux programmes ne peuvent être
▶ Interface puissante et programmable.
Principes de fonctionnement
L’utilisateur tape des commandes sous forme de texte
Le texte est évalué par un interpréteur,
L’interpréteur lance l’exécution des commandes.
Utilité
▶ Permet de lancer des programmes ou des applications,
▶ Permet d’interroger le système et d’interagir avec lui.
▶ Basé sur un interpréteur, un langage de programmation permet de construire des scripts
pour effectuer des tâches complexes de gestion ou d’administration.
login@host:˜$ □
La fenêtre de terminal ou Shell
La ligne de commande est un programme fenêtré simple qui permet de taper du texte.
▶ La ligne de commande comporte une partie non interprétée [ user@localhost
˜ ] appelée le prompt. Ici le prompt est configuré pour afficher le nom de
l’utilisateur, le nom de la machine, et le nom du répertoire courant.
▶ Le caractère □ marque la position du curseur. C’est là qu’est inséré le texte frappé par
l’utilisateur.
▶ Le texte tapé par l’utilisateur sera évalué comme une (ou plusieurs) commande(s) par un
interpréteur.
L’interpréteur
▶ L’interpréteur parcourt le texte tapé par l’utilisateur, identifie les commandes
▶ Plusieurs interpréteurs existent : csh, tcsh, bash. Dans ce cours nous utiliser
▶ Bash est l’interpréteur du projet GNU. Il est le plus utilisé sous linux.
login@host:˜$
Exécution ls
d’une commande
public_html/
▶ La commande (ici ls) est évaluée (lancée, interprétée) dès que l’utilisateur presse la←
touche ›
(Entrée). L’ensemble du texte partant du prompt jusqu’à la fin de la ligne est
interprété comme une commande.
▶ Si la commande est valide, un programme est lancé.
▶ Durant l’exécution du programme, la ligne de commande est indisponible. L’utilisateur
doit attendre la fin de l’exécution du programme avant de pouvoir taper une nouvelle
commande.
▶ Si le programme produit un affichage (ici ls affiche le nom des fichiers et répertoires),
celui-ci est affiché par défaut dans la fenêtre du Shell.
▶ Une fois la commande exécutée, le Shell propose une nouvelle ligne de commande où
l’utilisateur peut taper une nouvelle instruction.
Interpretation de la commande
nom_commande Le premier mot doit correspondre au nom d’une commande c
commande s’exécute selon un mode « par défaut ». L’ajout d’une option pourr
paramètres Certaines commandes peuvent fonctionner sans paramètre.
2 Le système
3 d’exploitation Le
système Linux
Un peu d’histoire
Debian : La distribution utilisée à
l’IUT Un système multi-utilisateurs
Une interface
graphique Les
logiciels disponibles
Distribution et accès aux
logiciels La ligne de
commande
De l’aide sur Linux et les commandes
6
Se documenter sur le fonctionnement de Linux
Ressource sur le Web
▶ Les forums d’utilisateurs :
▶ [Link]
▶ [Link]
▶ [Link]
▶ Les pages Wikipedia pour les commandes, les concepts.
▶ [Link]
▶ De nombreux sites de description du système Linux
▶ [Link]
Description
▶ permet d’accéder à la documentation d’utilisation d’une commande (les pag
▶ Les pages de man décrivent les syntaxes, les options, les arguments des co
▶ Elles décrivent les résultats des évaluations et le format de ces résultats.
Exemple d’utilisation:
login@host:˜$ man ls
affiche :
NAME
ls - list directory contents
SYNOPSIS
ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]
Exercices
Usage du terminal
Une fenêtre de terminal est un outil de base fondamental à toute personne travaillant sous
Linux. Cette fenêtre propose ce que l’on appelle une ligne de commande. C’est un moyen
d’adresser directement des commandes au système, sans avoir à passer par une interface
graphique. C’est un outil très puissant qui est de plus programmable. De ce fait, la ligne de
commande permet de faire des choses qu’aucun programme graphique n’est capable de
faire facilement. Cependant pour l’utiliser efficacement un apprentissage est nécessaire. Ce
module est là pour vous en donner un aperçu.
Q14 Rappelez la structure de la ligne de commande telle qu’elle s’affiche dans le terminal
(décrivez les différents éléments et leur rôle).
Q15 Évaluez la commande suivante et commentez l’affichage produit : man ls
Q16 Quelle est la fonction de la commande ls ?
Q17 Testez la commande ls avec plusieurs options parmi celles que vous avez identifié.
Vérifiez que le comportement de la commande est modifié par l’utilisation d’options
différentes.
2 Le système
3 d’exploitation Le
4 système Linux
L’ordinateur de bas en
haut
Le matériel
5 Organiser ses
6 données
Fichiers exécutables et
G. Santini, J.-C. Dubacq (IUTV) S1 201655 / 235
Processus Compléments sur
l’arborescence Flux de
données
2 Le système
3 d’exploitation Le
4 système Linux
L’ordinateur de bas en
haut
Le matériel
5 Organiser ses
6 données
Fichiers exécutables et
G. Santini, J.-C. Dubacq (IUTV) S1 201657 / 235
Processus Compléments sur
l’arborescence Flux de
données
La carte mère est l’élément central de l’ordinateur sur lequel sont assemblés et mis en relation
tous les composants matériels. Elle permet à tous ses composants de fonctionner ensemble
efficacement.
G. Santini, J.-C. Dubacq (IUTV) S1 201658 / 235
La carte mère
La carte mère est l’élément central de l’ordinateur sur lequel sont assemblés et mis en relation
tous les composants matériels. Elle permet à tous ses composants de fonctionner ensemble
efficacement.
G. Santini, J.-C. Dubacq (IUTV) S1 201658 / 235
Les unités de calcul
Organisation de la mémoire
Les ordinateurs réalisent des calculs logiques sur des
données binaires
▶ Les données et les instructions sont stockées sous forme
de blocs repérés par une adresse,
▶ Les blocs contiennent une information binaire organisée
en octet. Chaque octet contient 8 bits d’information qui
sont lus comme une suite ordonnée de 0 ou de 1 ou de
Vrai et de Faux.
▶ Un octet peut prendre 28 = 256 valeurs différentes.
2 la fréquence (103 − 10 M
▶ La largeur (8, 16, 32 64 bits), série ou parallèle et
ela conditionne donc fortement l’efficacité d’une configuration matérielle.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201663 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Plan
1 Généralités
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201665 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Un fichier
De l’information au stockage
Les informations utilisées dans un ordinateur sont stockées dans la mémoire de m
Les performances des systèmes de stockage de masse sont meilleures chaques
De l’information au fichier
L’information est découpée en petites unités qui s’appellent des fichiers, séma
Un fichier est lié à la façon dont on y accède (son nom et son chemin), mais nou
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201668 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Des fichiers et des répertoires
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201670 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Exemple d’arborescence Linux
/.................................................................................................................................Répertoire racine (Root Directory)
bin/
(. . .)
home/
moi/.....................................................................................................Répertoire personnel (User directory)
Mes Documents/
[Link]
Exercice_1.sh
(. . .)
anonymou
s/
[Link]
Telechargemen
(. . .) ts/
(. . .)
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
6 Fichiers exécutables et u
La notion de chemin
Le chemin définit un accès unique à partir de la racine
▶ Deux fichiers ou répertoires ne peuvent pas porter le même nom si ils sont d
▶ Sous Linux, les noms des fichiers et répertoires différencient les caractères M
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201674 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Répertoire courant et chemins relatifs
Le répertoire courant
▶ Le répertoire courant est un répertoire de référence d’où sont lancées les co
▶ Par défaut, le répertoire courant est le répertoire personnel de l’utilisateur,
▶ Naviguer dans l’arborescence équivaut à modifier le répertoire courant.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201676 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Notation spéciales
Les chemins des répertoires de
référence
Répertoire
Répertoire
Notation Répertoire courant
Notation Répertoire racine /
.
Répertoire personnel ˜
Répertoire parent ..
La notation ˜ est un chemin absolu, remplacée par le vrai chemin avant l’exécution
des commandes. C’est un raccourci au niveau du shell, pas au niveau du système
d’exploitation.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 201679 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Conventions
Noms et chemins
▶ Un chemin peut être absolu ou relatif. Il peut utiliser les notations spéciales.
▶ Par convention la notion de fichier sera comprise dans son sens large. Par exe
Sources et destination
Les commandes de déplacement acceptent une ou des sources qui sont des fic
Description
▶ Affiche le nom du répertoire courant.
Exemple d’utilisation:
/...........................................................Répertoire
racine /...........................................................Répertoire racine
home/ home/
moi/ . . . . . . . . . . . . . . . . . Répertoire courant moi/....................................Répertoire
personnel
Etoiles/ Etoiles/...........................Répertoire courant
Description
▶Change le répertoire courant (permet de naviguer dans l’arborescence).
▶Si le chemin du répertoire cible est omis, le répertoire courant redevient par
Ce n’est pas une commande, mais une fonctionnalité du shell.
Exemple d’utilisation:
/..........................................................................................................................................................Répertoire Racine
home/............................................................................................................................Répertoire courant
initial
moi/.......................................................................................................................Répertoire courant cas
#1
Etoiles/..........................................................................................................Répertoire courant cas
#2
Commande cas #1 : Commande cas #2 :
login@host:/home$
cd login@host:˜$
G. Santini, J.-C. Dubacq (IUTV) S1 201683 / 235
□
login@host:/home$ cd
moi/Etoiles
login@host:˜/Etoile$ □
Syntaxe pour ls
ls <source>
Description
▶ Affiche le contenu d’un répertoire.
▶ Par défaut si aucune source n’est indiquée, la commande affiche le contenu
Exemple d’utilisation:
/Répertoire racine
home/Répertoire courant
moi/
[Link] Etoiles/
login@host:/home/$ ls
moi/
login@host:/home/$ ls moi/
Etoiles/ [Link]
Description
▶ Affiche le contenu d’un répertoire y compris les fichiers et répertoires cachés
▶ Les fichiers et répertoires cachés ont un nom dont le premier caractère est u
▶ Les fichiers et répertoires cachés sont utilisés par le système ou certaines ap
Exemple d’utilisation:
moi/.................................Répertoire
courant
./ssh/ Sans option -a
id_rsa login@host:˜$ ls
id_rsa.pub [Link]
known_host Avec option -a
s
login@host:˜$ ls -a
.bashrc . .. .bashrc .ss
astronomie.t h/ [Link] Etoiles/
xt Etoiles/
[Link]
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 85 / 235
Syntaxe pour cat
cat fichier [fichier_2 ...]
Description
▶ Affiche le contenu des fichiers les uns à la suite des autres.
▶ Les fichiers sont concaténés dans l’ordre des paramètres.
Exemple d’utilisation:
Cette commande est en générale utilisée pour concaténer des fichiers textes. On l’utilise avec une c
Soient
[Link]
Mercure, Venus Terre, Mars login@host:˜$ cat [Link] [Link]
Mercure, Venus Terre, Mars Jupiter, Saturne Uranus,
[Link]
Jupiter, Saturne Uranus, Neptune
Description
▶ Si le chemin est occupé par un fichier ou un répertoire, mise à jour de la date
▶ Sinon, création d’un ou de plusieurs fichiers vides à l’endroit spécifié par le c
Exemple d’utilisation:
moi/.................................................................................................................................................Répertoire Courant
[Link]
[Link]...........................................................................................................................Création Commande #1
Stars/
[Link]..................................................................................................................Création Commande
#2
[Link]................................................................................................................Création Commande
#2
login@host:˜$ touch [Link]
login@host:˜$ touch Stars/[Link] Stars/[Link]
Description
▶ Création d’un ou de plusieurs répertoires aux endroits spécifiés par les chem
▶ Si le chemin est occupé par un fichier ou un répertoire, il y a un message d’e
▶ Si le chemin n’est pas déjà créé à part le dernier élément, il y a un message
Exemple d’utilisation:
moi/..................................................................................................................................................Répertoire courant
Systeme_Solaire/.................................................................................................................Création commande
#1
Etoiles/
Rouges/...................................................................................................................Création commande
#2
Bleues/.....................................................................................................................Création commande
#2
login@host:˜$ mkdir Systeme_Solaire
login@host:˜$ mkdir Etoiles/Rouges
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 88 / 235
Etoiles/Bleues login@host:˜$ mkdir Galaxies/M91
mkdir: impossible de créer le répertoire
« Galaxies/M91 »: Aucun fichier ou dossier de ce type
Syntaxe pour mkdir(bis)
mkdir -p chemin <chemin_2 ...>
Description
▶ Création d’un ou de plusieurs répertoires aux endroits spécifiés par les chem
▶ Si depuis la racine en suivant un chemin, on rencontre un fichier, il y a un m
▶ Si depuis la racine en suivant un chemin, il n’y pas de répertoire, il est créé.
Exemple d’utilisation:
chez_moi/......................................................................................................................................Répertoire Courant
[Link]
Etoiles/
Galaxies/........................................................................................................................Création Commande
#1
M91/.........................................................................................................................Création Commande
#1
highres/...........................................................................................................Création Commande
#1
login@host:˜$ mkdir -p Galaxies/M91/highres
G. Santini, J.-C. Dubacq (IUTV) S1 201689 / 235
Syntaxe pour rm
rm chemin [chemin_2 ...]
Description
▶ La commande supprime le fichier pointé par le(s) chemin(s).
▶ Si le chemin pointe sur un répertoire, la commande affiche un message d’err
Exemple d’utilisation:
moi/.................................................................................................................................................Répertoire Courant
[Link].........................................................................................................Supprimé par la commande
#1
Etoiles/
[Link]......................................................................................................Supprimé par la commande
#2
[Link]............................................................................................................Supprimé par la commande
#2
login@host:˜$ rm [Link]
login@host:˜$ rm [Link] Etoiles/[Link]
Description
▶ L’option -r (comme récursif) permet de supprimer un répertoire et tout son
L’option -f (comme force) permet d’ignorer certaines questions.
Exemple d’utilisation:
chez_moi/......................................................................................................................................Répertoire Courant
[Link]
Etoiles/................................................................................................................Supprimé par la commande
#1
[Link]......................................................................................................Supprimé par la commande
#1
Galaxie/.......................................................................................................Supprimé par la commande
#1
[Link]........................................................................................Supprimé par la commande
#1
[Link]
G. Santini, J.-C. Dubacq (IUTV) S1 201691 / 235
Syntaxe pour cp
cp source cible
Description
▶ Copie le fichier source vers la cible.
▶ La source doit être un fichier ordinaire (pas un répertoire),
▶ Si la source est un répertoire la commande produit un message d’erreur.
▶ Si la cible :
▶ est le chemin d’un répertoire existant, le fichier sera copié dans ce répertoire et conservera son
nom,
▶ ne correspond pas à un répertoire existant, le fichier sera copié avec le nom (chemin) cible.
Exemple d’utilisation:
moi/..................................................................................................................................................Répertoire courant
[Link]................................................................................................Fichier source commandes #1 et
#2
Etoiles/................................................................................................................Répertoire cible commande
#1
[Link]..............................................................................................Copié/Créé par la commande
#1
[Link]........................................................................................................copié/créé par la commande
#2
[Link]
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 92 / 235
login@host:˜$ cp [Link] Etoiles
login@host:˜$ cp [Link] Etoiles/[Link]
Syntaxe pour cp(bis)
cp source <source_2 ...> cible
Description
▶ Copie plusieurs fichiers sources vers la cible.
▶ Les sources doivent être des fichiers ordinaires, et la cible un répertoire.
Exemple d’utilisation:
moi/..................................................................................................................................................Répertoire courant
[Link].............................................................................................................................................Fichier source
[Link]...................................................................................................................................Fichier source
Candidature/......................................................................................................................................Répertoire cible
[Link]..............................................................................................................Copié/créé par la
commande
[Link]...................................................................................................Copié/créé par la
commande
login@host:˜$ cp [Link] [Link] Candidature
login@host:˜$ cp [Link] [Link] Candidature/ #
Moins ambigu
Description
▶ L’option -r (Récursif) permet de copier un répertoire et son contenu si il app
▶ Attention : si le répertoire n’existe pas et qu’on copie un répertoire, il y a ren
Exemple d’utilisation:
moi/.................................................................................................................................................Répertoire Courant
Galaxie/................................................................................................................................Source commandes
[Link]
Etoiles/...................................................................................................................................Répertoire cible #1
Galaxie/.....................................................................................................Copié/créé par la commande
#1
[Link]......................................................................................Copié/créé par la commande
#1
Top10/........................................................................................Copié/créé par la commande #2
(renommage)
[Link]..............................................................................................Copié/créé par la commande
#2
login@host:˜$ cp -r Galaxie
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 94 / 235
Syntaxe pour mv
mv source cible
Description
Déplace/renomme un fichier ou répertoire.
▶ modifie le chemin d’accès à la source qui devient le chemin cible.
▶ Le chemin source disparait et le chemin cible est créé.
▶ Le fichier ou répertoire pointé reste le même.
▶ La cible doit être un chemin non occupé ou un répertoire.
Description
▶ Crée un fichier archive dont le nom (chemin) est donné en premier argument et porte
classiquement l’extension .tar.
▶ Les fichiers sources qui servent a créer l’archive sont préservés par la commande tar.
▶ L’option c (comme create), indique que la commande tar doit utiliser un algorithme
d’archivage.
▶ L’option v (verbose), permet d’afficher le déroulement de l’archivage.
Exemple d’utilisation:
moi/..................................................................................................................................................Répertoire courant
[Link]
Images/
[Link]
g
[Link]
g
[Link].........................................................................................................................Créé par la commande
#1
Regroupe dans la même archive [Link] le fichier [Link] et le répertoire Images/ et son contenu :
Description
▶ Examine une archive ou crée des fichiers à partir de l’archive.
▶ Le fichier archive est préservé par la commande tar.
▶ L’option x (extract), permet de désarchiver.
▶ L’option t (list), permet de lister le contenu d’une archive
Exemple d’utilisation:
login@host:˜$ tar tvf [Link]
moi/Répertoire courant [Link] Images/ Images/[Link] I
[Link] login@host:˜$ tar xvf [Link] astronomie
[Link]éé par la commande #2 [Link]
Imagescréé par la commande #3 login@host:˜$ tar xf [Link] login@host:
[Link]éé par la commande #3
[Link]éé par la commande #3
Examen de fichiers
Q34 Quelles sont les informations données par le nom du fichier ?
Q35 Les commandes less, cat et hexdump permettent d’afficher le contenu d’un fichier.
Analysez la différence de comportement entre ces deux commandes sur le fichier
[Link]. Qu’en concluez-vous ? Quel est le programme le plus adapté pour voir le
contenu de ce fichier ?
Q36 Relisez le manuel de la commande tar. Vérifiez la liste des fichiers contenus dans
l’archive.
Combien y en a-t-il ?
Q37 Sortez les fichiers de l’archive.
Q38 Avec les commandes de la question 35, regardez le fichier contenu dans un répertoire.
Analysez la différence de comportement entre ces commandes. Qu’en concluez-vous ?
Remarques : si un affichage prend trop de temps, utilisez le raccourci clavier adéquat pour
suspendre l’exécution de la commande courante. Si l’affichage de votre terminal est
durablement perturbé, dans le menu Terminal →Réinitialiser le terminal.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
Répertoire courant et chemins
G. Santini, J.-C. Dubacq (IUTV) S1 2016102 / 235
relatifs Notation spéciales
Quelques mini-manuels
Métacaractères
Arborescence et montage
6 Fichiers exécutables et u
Le métacaractère *
Le caractère *
moi/................................................Répertoire Courant
[Link] . . . . . . . . . . . . . . . . . . Fichier ciblé[Link]
[Link] . . . . . . . . . . . . . . . Fichier cibléImages/..............................................Répertoire final
[Link] [Link]..............................Fichier déplacé
Images/ . . . . . . . . . . . . . . . . . . . . Répertoire final [Link]........................Fichier déplacé
Les jokers
Ce sont des motifs simples. Lorsqu’ils ne peuvent pas être instanciés, ils ne son
On y trouve ? qui remplace une lettre, [a-c][0-2] qui remplace a0 b0 c0 a1 b
Les raccourcis
Le motif {fourch,brou}ette est remplacé par fourchette et brouette indé
Le motif ˜ a déjà été vu et est remplacé par le chemin absolu du répertoire p
Copie et déplacement
Q39 Quelle commande permet la création "simultanée" de trois répertoires GIF et
Photos/Portugal, Photos/Marseille et Photos/Montagne ?
Q40 Quelle commande permet de déplacer depuis le répertoire images tous les fichiers
présentant l’extension gif dans le répertoire GIF nouvellement créé ?
Q41 Quelle commande permet de copier depuis le répertoire images tous les fichiers
présentant l’extension jpg dans le répertoire Photos nouvellement créés ?
Q42 Définissez le répertoire Photos/Montagne comme votre répertoire courant. Quelle
commande permet de déplacer la photo de chalet dans ce répertoire ?
Q43 En vous mettant dans Photos, déplacez les photos restantes dans le bon répertoire
(Marseille est supérieure à 2000). Si possible, faites usages de jokers.
Suppressions
Q44 Quel est le résultat de la séquence de commandes suivante :
cd ..
rm images
Q45 Comment modifier la dernière commande pour supprimer le répertoire images/ ?
Comment modifier la commande pour éviter les invites de confirmation ?
Q46 Quelle commande permet de copier le répertoire GIF et son contenu dans un répertoire
nommé
images_GIF ?
Q47 Quelle est la différence entre les deux commandes suivantes :
cd ~
cd /home/usager/votre_identifiant/
Q48 Fabriquez une archive qui contient le répertoire Photos (et uniquement celui-ci). Vérifiez
son contenu.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
données
Les fichiers : noms et contenu
Organisation des données
enregistrées L’organisation
arborescente
La notion de chemin
6 Fichiers exécutables et u
Le partitionnement
Du disque aux partitions
▶ Un disque est souvent divisé en plusieurs zones d’usage distinct (par exemple, système et
données utilisateurs).
▶ Chacun de ces zones est appelée une partition. Elle est un système de fichiers
indépendant des autres, et peut être combinée avec d’autres.
▶ Sous Windows, chaque partition est désignée par une lettre en fonction de son ordre de
découverte par le système. Cette lettre fait partie du chemin.
L’ordre des partitions peut changer et donc la lettre ; ça pose problème pour les mises à
jour.
Montage et démontage
▶ Un système d’exploitation peut rendre accessible une partition : c’est le montage de la
partition.
▶ Inversement : c’est le démontage de la partition.
Une partition montée peut être utilisée normalement par les programmes.
Une partition démontée doit utiliser une interface spéciale plus compliquée qui
contourne le système de fichiers et permet d’accéder directement au disque.
Les partitions qui ne sont pas la racine sont accrochées dans la partition racine (ou une
autre déjà accrochée) au niveau d’un répertoire qui sert de point de montage.
Exemple : fichier moi/[Link] dans un système monté sur /home, le chemin absolu
est
/home/moi/[Link].
Le pseudo-système /dev
Sous Linux, les périphériques sont accessibles par une interface de type fichie
/dev/codeperipherique.
Le sous-arbre à partir de /dev est un système de fichiers indépendant d’un p
Description
▶ périphérique correspond à périphérique (/dev/xxx). Il y a plusieurs syntax
▶point_de_montage correspond à un nom de répertoire valide dans l’arboresc
▶ Sans argument, la commande liste tous les montages en cours
Exemple d’utilisation:
Analyse de périphériques
Q49 Le périphérique zero est un périphérique virtuel. La commande dd
if=/dev/zero count=1 | hexdump -v permet de voir les 512 premiers octets
de ce périphérique virtuel (en hexadécimal). Regardez-le. Qu’est-ce qu’il a de
particulier ?
Q50 Le périphérique urandom est un périphérique virtuel. La commande dd
if=/dev/urandom count=1 | hexdump -v permet de voir les 512 premiers octets
de ce périphérique virtuel (en hexadécimal). Regardez-le. Recommencez. Qu’est-ce
qu’il a de particulier ?
Q51 Le périphérique sda1 est une des partitions du disque dur. La commande dd
if=/dev/sda1 count=1 | hexdump -v permet de voir les 512 premiers octets de
ce périphérique virtuel (en hexadécimal). Regardez-le. Que se passe-t-il ? Un
programme normal comme dd peut-il examiner le disque dur en outrepassant le
système de fichiers ?
Q52 En utilisant la commande mount, analysez les différentes partitions présentes dans votre
système.
Identifiez celles qui correspondent à un vrai périphérique et les systèmes de fichier virtuel.
G. Santini, J.-C. Dubacq (IUTV) S1 2016113 / 235
Espace libre
Une partition occupe une taille fixe. La plupart des systèmes de fichiers sont de taille fixe.
Elles peuvent accueillir uniquement une certaine quantité de données.
L’espace de travail
Comme dans un parking, la quantité de données que l’on peut mettre dans un
La fragmentation
Les fichiers sont posés par petits blocs dans la partition (qui est elle-même un gros bloc
dans l’ensemble du disque). Parce qu’un fichier est plus rapide à lire si les blocs sont les uns
à côté des autres, les systèmes de fichiers essayent de maintenir cet état. Sous Windows, on
peut aider le système en procédant à une opération de rangement : la défragmentation.
Les systèmes de fichiers utilisés sous Linux n’ont quasiment pas de fragmentation si on
utilise moins de 95% de leur espace.
Description
▶ Affiche les disques montés et leur capacité de mémoire (celui de la partition
▶ L’option -h (human readable) convertie l’affichage des tailles mémoires en u
Exemple d’utilisation:
login@host:˜$ df -h
Sys. de fichiers
/dev/sda1 myserver:/home/moi Taille 56G
[Link]%Monté sur 16G37G31%/
... 1,8T 1,6T192G90%/users/moi
login@host:˜$ □ ... ............
L’organisation des fichiers et répertoires est elle stockée dans des blocs spéciaux
appelés nœuds d’index (ou inodes). Un chemin est associé à un inode unique qui va
contenir la liste des numéros de blocs de données qu’il utilise.
▶ Un répertoire est un inode qui pointe vers un bloc de données qui contient un tableau de
→type nom inode
▶ Un fichier est un inode qui pointe vers un ou plusieurs blocs de données qui
contiennent... les données.
Description
▶ Si le chemin est occupé par un fichier ou un répertoire, affiche les métadonn
Exemple d’utilisation:
login@host:˜$ stat /etc/fstab
Fichier : « /etc/fstab » Taille : 672 Blocs : 8 Blocs d’E/S : 4096 fichier Pé
09:12:51.763972183 +0100 Changt : 2015-08-09
10:57:36.553313285 +0200 Créé : -
login@host:˜$ □
Description
▶ Crée un lien dur entre la référence source et le chemin cible.
Exemple d’utilisation:
Le lien sur un fichier crée une deuxième entrée pointant vers le même inode.
moi/.................................................Répertoire courant
moi/.................................................Répertoire
courant [Link]
[Link].........................Référence Etoiles/
source [Link]
Etoiles/ [Link].........................Nouveau chemin
[Link] [Link]
g
aldebaran.g
if
G. Santini, J.-C. Dubacq (IUTV) S1 2016121 / 235
Exercices
Liens durs
Q65 Dans votre répertoire ˜/Documents/m1101/textes, créez un petit fichier
[Link]. Insérez quelques lignes de texte dedans (avec gedit [Link]),
puis quittez l’éditeur de texte.
Q66 Vérifiez dans la console son numéro d’inode, et son contenu. Quelles sont les commandes
pour cela ?
Q67 Faites une copie de [Link] vers [Link], et un lien de [Link]
vers [Link]. Vérifiez le contenu de la copie et du lien. Vérifiez que les numéros
d’inode et les compteurs de liens sont comme ce à quoi vous vous attendiez.
Q68 Avec l’éditeur de texte, comme plus haut, modifiez le fichier source. Regardez les trois
fichiers dans le terminal. Est-ce conforme à vos attentes ? Essayez ensuite en changeant la
copie.
Q69 Faites un lien de [Link] vers [Link]. Vérifiez le compteur de liens. Effacez
ensuite
[Link], et vérifiez encore.
Q70 Modifiez [Link], puis regardez tous les contenus. Effacez le fichier
[Link]. Le fichier [Link] est-il toujours là ?
G. Santini, J.-C. Dubacq (IUTV) S1 2016122 / 235
Q71 Essayez de faire un lien entre [Link] et /tmp/[Link]. Que se passe-t-il ?
Pourquoi ? Expliquez.
Les liens symboliques
Une redirection
Sous Windows ou sous Unix, on peut créer des « raccourcis » qui lient un chemin
spécifique à un autre endroit dans l’arborescence.
▶ Unix les appelle des liens symboliques.
▶ Windows les appelle des raccourcis.
▶ Un lien symbolique est un chemin (relatif ou absolu) qui indique un autre point de
l’arbre. Il fonctionne au niveau chemin et pas au niveau inode.
▶ Un lien symbolique peut traverser les partitions.
Un lien symbolique peut pointer sur un chemin qui ne correspond pas à un fichier ou un
répertoire. On dit qu’il est brisé.
Liens symboliques
Q72 Dans votre répertoire ˜/Documents/m1101/textes, recréez un petit fichier
[Link], effacez [Link] et [Link].
Q73 Faites un lien symbolique de [Link] vers [Link]. Vérifiez le contenu du lien.
Regardez les métadonnées associées.
Q74 Avec l’éditeur de texte, comme plus haut, modifiez le fichier source. Regardez les deux
fichiers dans le terminal. Est-ce conforme à vos attentes ?
Q75 Faites un lien de [Link] vers [Link]. Vérifiez le contenu des trois
fichiers (en modifiant).
Q76 Modifiez [Link], puis regardez tous les contenus. Effacez le fichier
[Link]. Le fichier [Link] est-il toujours là ?
Q77 Essayez de faire un lien entre [Link] et /tmp/[Link]. Que se passe-t-il
?
Pourquoi ? Expliquez.
Q78 Faites un lien symbolique vers un répertoire. Que se passe-t-il ? Quel est le danger ?
Un lien symbolique archivé en tant que tel pointant en dehors de l’archive peut être brisé !
Liens et archives
Q79 Dans votre répertoire ˜/Documents/m1101, créez un répertoire selection.
Q80 Faites un lien symbolique dans selection d’une image de images, un lien dur et
une copie de fichier. Rajoutez un lien dur dans selection vers la copie de fichier sous
un autre nom (par exemple [Link].
Q81 Archivez le répertoire selection au format tar. Vérifiez avec tar vvf
[Link] que les fichiers sont tous présents, sauf le lien symbolique.
Q82 Archivez avec zip le même répertoire. Vérifiez (avec stat [Link]) que la taille de
l’archive est cohérente avec la présence de quatre images (et non pas trois).
Q83 Archivez dans un autre fichier zip le même répertoire avec la conservation des liens
symboliques.
Comparez les tailles et expliquez.
Q84 Créez trois répertoires d1, d2, d3. Dans chacun de ces répertoires, décompressez les
archives crées précédemment. Regardez ce qui arrive aux liens symboliques et aux
liens durs dans chacun des cas.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
Processus Fichier binaire et
fichier texte
Processus dans un système multitâches et mutli-
utilisateurs
(IUTV) Gestion de la mémoire vive S1 2016127 / 235
Gestion de l’accès au CPU
Processus en ligne de
commande
8 Flux de
Plan
1 Généralités
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
Processus Fichier binaire et
fichier texte
Processus dans un système multitâches et mutli-
utilisateurs
(IUTV) Gestion de la mémoire vive S1 2016129 / 235
Gestion de l’accès au CPU
Processus en ligne de
commande
8 Flux de
Fichier binaire et fichier texte
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
Processus Fichier binaire et
fichier texte
Processus dans un système multitâches et mutli-
utilisateurs
(IUTV) Gestion de la mémoire vive S1 2016134 / 235
Gestion de l’accès au CPU
Processus en ligne de
commande
8 Flux de
Identification des processus par le système d’exploitation
Système multi-utilisateur
▶ Plusieurs utilisateurs partagent les mêmes ressources matériel (RAM, CPU, d
▶ Chaque utilisateur lance des processus liés à ses activités sur la machine et i
Système multi-tâches
▶ Plusieurs programmes en cours d’exécution partagent les mêmes ressources
▶ Chaque programmes lance des processus et il utilise les résultats de ces pro
Utilités
▶ L’utilisateur peut suivre un processus, le suspendre temporairement, le relan
▶ Le système s’en sert pour lui affecter des ressources matériel.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
Processus Fichier binaire et
fichier texte
Processus dans un système multitâches et mutli-
utilisateurs
(IUTV) Gestion de la mémoire vive S1 2016138 / 235
Gestion de l’accès au CPU
Processus en ligne de
commande
8 Flux de
Gestion de la mémoire vive
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
Processus Fichier binaire et
fichier texte
Processus dans un système multitâches et mutli-
utilisateurs
(IUTV) Gestion de la mémoire vive S1 2016141 / 235
Gestion de l’accès au CPU
Processus en ligne de
commande
8 Flux de
Gestion de l’accès au CPU
Description
▶ Affiche les processus en cours d’exécution.
▶ L’option <-e> indique que tous les processus doivent être affichés,
▶ L’option <-u> restreint l’affichage aux processus de l’utilisateur.
Exemple d’utilisation:
login@host:˜$ ps -eu
Warning: bad ps syntax, perhaps a bogus ’-’? See USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAN
santini 5905 0.0 0.2 4824 1656 pts/1 Ss 09:27 0:00 -bash LC_ALL=fr_FR.UTF
santini 5962 0.0 0.1 3884 896 pts/1 R+ 09:48 0:00 ps -eu MANPATH=/etc/jav
login@host:˜$ □
Description
▶ Permet de suivre dynamiquement (temps réel) les ressources matériel utilisé
▶ Ouvre un interface dans la ligne de commande qui peut être quittée en pres
▶ Donne pour chaque processus en autres choses, le PID, le nom du propriétair
Exemple d’utilisation:
Tasks: 85 total, 1 running, 84 sleeping, 0 stopped, 0 zombie
Cpu(s): 5.7%us, 0.0%sy, 0.0%ni, 93.6%id, 0.0%wa, 0.7%hi, 0.0%si, 0.0%st
Mem: 772068k total, 231864k used, 540204k free, 2412k buffers
Swap: 995992k total, 0k used, 995992k free, 161316k cached
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
Processus Fichier binaire et
fichier texte
Processus dans un système multitâches et mutli-
utilisateurs
(IUTV) Gestion de la mémoire vive S1 2016145 / 235
Gestion de l’accès au CPU
Processus en ligne de
commande
8 Flux de
Processus en ligne de commande
login@host:˜$ sleep 20
(il faut attendre 20 secondes avant
l’apparition du nouveau prompt)
...
...
login@host:˜$ □
login@host:˜$ gedit
(Il faut quitter l’application ou tuer
le processus gedit pour avoir un nouveau
prompt)
...
...
login
login@host:˜$ gedit
ˆZ @host:˜$ gedit
[1]$+ Stopped
gedit
login@host:˜$ bg
[1]$+ gedit &
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
l’arborescence Droits sur les
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Chemins par défaut et variable d’environnement
Configuration des variables d’environnement
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 150 / 235
Plan
1 Généralités
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
l’arborescence Droits sur les
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Chemins par défaut et variable d’environnement
Configuration des variables d’environnement
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 152 / 235
Propriété des fichiers
Utilité
▶ Chaque fichier (ou répertoire) et chaque processus du système est associé à
▶ Être propriétaire d’un fichier ou d’un processus confère des droits sur ceux-c
Description
▶ Affiche le contenu d’un répertoire en format long.
▶ Le format long donne le nom du propriétaire et son groupe, ainsi que les droi
Exemple d’utilisation:
chez_moi/......................................................................................................................................Répertoire Courant
public_html/
[Link]
astronomie.t
xt
Types d’utilisateurs
Cible
u (U)ser Propriétaire du fichier/répertoire
g (G)roup Membre du même groupe que le
propriétaire o (O)ther Tous les autres
’u’ ’g’ ’o’
a (IUTV)
G. Santini, J.-C. Dubacq (A)ll Tous les Introduction
utilisateurs (réunion de ,
à l’informatique et ). S1 2016 155 / 235
Syntaxe pour chmod
chmod droit fichier
Description
▶ Modifie les droits et permissions accordés par le propriétaire aux différents u
Exemple d’utilisation:
Retire au propriétaire le droit d’écriture sur le fichier
cv_2011.pdf. Retire aux utilisateurs qui ne sont ni le propriétaire ni
membre de son groupe les droits de lecture, d’écriture et
login@host:˜$ chmod u-w cv_2011.pdf d’exécution.
Ajoute au propriétaire et aux membres de son groupe
le droit d’exécution sur le fichier [Link]. login@host:˜$ chmod o-
rwx [Link]
Ajoute à tous les utilisateurs, tous les droits.
login@host:˜$ chmod
ug+x [Link]
a+rwx [Link]
Exemple
d’utilisation:
Alph. Oct.
Alph. Oct. rwx-------------------700 login@host:˜$ chmod 700 dir_parano login@
--- --- --- 000 rwx r-x r-x 755
rw-------------------600 rwx rwx rwx 777
rw- r-- r-------644
rw- rw- rw- 666
G. Santini, J.-C. Dubacq (IUTV) S1 2016157 / 235
Exercices
Identification et droits
Q101 Au moyen de la commande id, affichez votre UID et votre GID ? Comparez-le avec
celui de votre voisin de table. Qu’en concluez-vous ? Comparez-les avec celui de
l’utilisateur root. Qu’en concluez-vous ?
Q102 Quels sont vos droits sur le répertoire racine /, root, /tmp, sur votre répertoire ˜/,
et celui de votre voisin de table ˜/../login_voisin.
Q103 Pouvez-vous lire les données contenue dans le répertoire de votre voisin. Quelle
commande permettrait de le faire ? Qui doit lancer la commande ?
Q104 Donnez les commandes octale et alphanumérique de changement de droits permettant :
▶ d’autoriser aux membres de votre groupe et aux "autres" l’accès en lecture aux images du
répertoire
donnees_tdtp2/images.
▶ de donnez les droits d’écriture aux membres de votre groupe sur le fichier
donnees_tdtp2/command_line.txt
▶ de vous (le propriétaire) retirer toute possibilité de supprimer le fichier
donnees_tdtp2/0readme
Q105 Imaginez comment donner à votre voisin un accès sous votre répertoire personnel à un
répertoire dans lequel il aurait les droits d’écriture sur un fichier spécifique, que vous ne
pourriez vous que lire (mais pas modifier). Il ne doit pas pouvoir créer un autre fichier
chez vous.J.-C.
G. Santini, Comment faites vous pour effacer ce fichier ?
Dubacq (IUTV) S1 2016158 / 235
Exercices
Remise en état
Après toutes les modifications pouvant impliquer votre répertoire personnel, n
pour remettre les modes de votre répertoire à leur état d’origine.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
l’arborescence Droits sur les
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Chemins par défaut et variable d’environnement
Configuration des variables d’environnement
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 160 / 235
Les principaux répertoires et leur contenu
Répertoire Contenu
/ Répertoire racine : Toutes les données accessibles par le système
/bin Binaires exécutables des commandes de bases (cd, ls, mkdir, . . .)
/dev Fichiers spéciaux correspondants aux périphériques
/etc Fichiers de configuration (profile, passwd,fstab... )
/home Les répertoires personnels des utilisateurs
/lib Librairies partagées et modules du noyeau
/mnt Points de montage des périphériques
/root Répertoire personnel de l’administrateur
/tmp Données temporaires
/usr Ressources accessibles par les utilisateurs
/var Fichiers de log ou fichiers changeant fréquemment
L’essentiel est synthétisé dans
[Link]
Hiérarchie du système
Astuce : si la sortie d’une commande est trop longue, on peut ajouter |less à la fin
de la ligne pour l’afficher par morceaux. Ceci vous sera expliqué dans quelques
séances...
Q106 Identifiez le propriétaire, le groupe et les différents droits des fichiers contenus dans le
répertoire
/bin ? Quels sont vos droits sur ces fichiers ?
Q107 Ces fichiers on le droit x. Que pouvez-vous en conclure ?
Q108 A votre avis, que se passe-t-il en fait lorsque vous saisissez une commande telle que ls ?
FHS
Q109 Identifiez, à l’aide de la FHS, la fonction de /usr/include. Confirmez votre
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
l’arborescence Droits sur les
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Chemins par défaut et variable d’environnement
Configuration des variables d’environnement
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 164 / 235
Langages Compilés Vs Langages Interprétés
Inconvenients Avantages
▶ ▶ Plus rapide
Il faut recompiler pour prendre en compte (spécifiquedu
une modification à code.
la machine q
▶ L’ensemble
▶ L’exécutable n’est pas portable sur d’autres des instructions sont regr
machines.
Avantages
Inconvenients ▶ Modifications du code source immédia
▶ Moins rapide. ▶ Le code est portable sur d’autres ma
▶ Plusieurs fichiers (et librairies) servent à l’exécution.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
G. Santini, J.-C. Dubacq (IUTV)
l’arborescence Droits sur les
S1 2016166 / 235
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Lancer un programme/une commande
Cas général
▶ Pour exécuter un programme il suffit saisir sur la ligne de commande le chem
▶ Si le fichier présente la permission "X" pour exécutable, les instructions qu’i
Description
▶ Affiche sur la sortie standard l’expression après interprétation.
Exemple d’utilisation:
Affiche ’Bonjour’ :
Définie une variable puis affiche sa valeur :
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
l’arborescence Droits sur les
G. Santini, J.-C. Dubacq (IUTV) S1 2016171 / 235
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Chemins par défaut et variable d’environnement
Chemins par défaut et variable d’environnement
Lorsqu’on donne une commande au terminal, on ne spécifie pas le che
login@host:˜$ ls
Un mécanisme propre aux commandes
Mes_Documents/ Etoiles/
▶ [Link]
Le premier [Link]
mot tapé sur la ligne de commande est toujours interprétée comme le nom d’un
login@host:˜$
fichier exécutable, □
▶ Le système recherche donc dans une liste de répertoires contenant les exécutables si
un fichier porte le nom de cette commande,
▶ Dès qu’il trouve dans ces répertoires un tel fichier, il l’exécute . . .
PATH=repertoire1:repertoire2:...:RepertoireN
▶ Lors de chaque appel de commande, l’interpréteur parcourt cette liste dans l’ordre à la
recherche d’un fichier portant le nom de la commande,
▶ Dès qu’il rencontre un tel fichier, il met fin à sa recherche et exécute le fichier.
Rôle de $PATH
→ Il s’agit d’une liste de répertoires que l’interpréteur parcours automatiquem
Description
▶ Affiche le chemin du fichier correspondant à une commande.
▶ Parcours successivement les répertoires de la variable $PATH. Dès qu’il trouv
Exemple d’utilisation:
/.........................................................Répertoire Racine
bin/
ls..............................................Exécutable login@host:/home/chez_mo$ echo $PATH
#1
... /bin:/usr/bin:/usr/local/bin:/home/chez_m
home/ login@host:/home/chez_moi$ which ls
chez_moi/......................Répertoire /bin/ls
Courant
bin/
ls................................Exécutable #2
G. Santini, J.-C. Dubacq (IUTV) S1 2016174 / 235
Chemins par défaut et variable d’environnement
Environnement
Q114 Au moyen de la commande env, donnez la liste des répertoires contenus dans $PATH.
Q115 Au moyen de la commande which, afficher la localisation des exécutables correspondants
aux commandes mv, cd, man, cat, firefox, acroread.
Q116 Vérifiez que ces répertoires font partie de la liste contenue dans la variable
$PATH ? Que se passerait-il si ce n’était pas le cas ?
Q117 Ajouter le répertoire ˜/bin à la liste des répertoires $PATH.
Q118 Maintenant que ˜/bin est parcoure par défaut lors de l’appel d’une commande, comment
invoque-t-on désormais l’exécution du script [Link] ? Vérifiez le comportement
attendu.
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
l’arborescence Droits sur les
G. Santini, J.-C. Dubacq (IUTV) S1 2016177 / 235
fichiers Arborescence du
système Linux Interprétation
ou Compilation Exécution des
commandes
Chemins par défaut et variable d’environnement
Fichiers de configuration
Fichiers systèmes et utilisateurs
▶ Les variables d’environnement (et d’autres variables de configuration) sont d
▶ On distingue les fichiers système qui définissent des comportements pour tou
.bashrc
# Mes aliases alias ll=’ls -l’ alias df=’df -h’ alias rm=’
PATH=$PATH:$HOME/bin
Description
▶ créet un alias entre un nom de commande et une expression.
▶ l’expression est donnée entre quotes : ’expression ...’
Exemple d’utilisation:
login@host:˜$ ll
chez_moi/Répertoire -bash: ll: command not found login@host:˜$ alias ll=’ls -l’
public_html/ Cou 32
total
[Link] [Link] drwxr-xr-x 2 santini ensinfo 4096 20 jui 15:50
public_
-rw-r-r- 1 santini ensinfo25 20 jui 15:49 telluriques
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
8 l’arborescence Flux de
données
Entrée et sortie standard
Redirections
Tubes
Les scripts
Plan
1 Généralités
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
données
Entrée et sortie standard
Redirections
Tubes
Les scripts
Entrée et sortie standard
Description
▶ Affiche le contenu des fichiers les uns à la suite des autres.
▶ Les fichiers sont concaténés dans l’ordre des paramètres.
Exemple d’utilisation:
Cette commande est en générale utilisée pour concaténer des fichiers textes. On l’utilise avec une c
Soient
[Link]
Mercure, Venus Terre, Mars login@host:˜$ cat [Link] [Link]
Mercure, Venus Terre, Mars Jupiter, Saturne Uranus,
[Link]
Jupiter, Saturne Uranus, Neptune
Description
▶ Affiche par défaut les 10 premières lignes d’un fichier.
▶ Si un entier n précède le nom du fichier, la commande affiche les n premiè
Exemple d’utilisation:
Soit le fichier [Link] contenant les lignes
suivantes :
[Link]
# Premier groupe
1 Mercure
Tellurique
2 Venus
Tellurique La commande suivante affiche les 5 premières lignes du
fichier :
3 Terre
Tellurique
4 Mars login@host:˜$ head -5 [Link]
Tellurique # Premier groupe
# Deuxième groupe 1 Mercure Tellurique
1 Jupiter 2 Venus Tellurique
3 Terre Tellurique
Gazeuse
4 Mars Tellurique
2 Saturne login@host:˜$ □
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 188 / 235
Syntaxe pour tail
tail < -int > fichier
Description
▶ Affiche par défaut les 10 dernières lignes d’un fichier.
▶ Si un entier n précède le nom du fichier, la commande affiche les n derniè
Exemple d’utilisation:
Soit le fichier [Link] contenant les lignes
suivantes :
[Link]
# Premier groupe
1 Mercure
Tellurique
2 Venus
Tellurique La commande suivante affiche les 4 dernières lignes du
3 Terre fichier :
Tellurique
4 Mars login@host:˜$ tail -4 [Link]
Tellurique 1 Jupiter Gazeuse
# Deuxième groupe 2 Saturne Gazeuse
1 Jupiter 3 Uranus Gazeuse
Gazeuse 4 Neptune Gazeuse
2 Saturne login@host:˜$ □
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 189 / 235
Syntaxe pour grep
grep "motif" fichier
Description
▶ Affiche les lignes du fichier qui comportent le "motif".
▶ Les lignes sont affichées dans leur ordre d’apparition dans le fichier.
# Premier groupe
1 Mercure
Tellurique
2 Venus Commandes :
Tellurique
login@host:˜$ grep ’Tellurique’
3 Terre [Link]
Tellurique 1 Mercure Tellurique
4 Mars 2 Venus Tellurique
Tellurique 3 Terre Tellurique
# Deuxième groupe 4 Mars Tellurique
1 Jupiter login@host:˜$ grep ’1’
Gazeuse [Link]
G. Santini, J.-C. Dubacq (IUTV)
1 Mercure Tellurique
2
S1 2016 190 / 235
Exercices
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
7 Compléments sur
données
Entrée et sortie standard
Redirections
Tubes
Les scripts
Redirection des Entrée/Sorties
Commandes de Redirection
Il est possible de modifier le comportement par défaut des commandes et de donner une
entrée et/ou une sortie standard différente des entrées/sorties standards.
command » [Link]
▶ ▶ Redirige la sortie standard de la commande command vers le fichier [Link].
▶ Si le fichier [Link] n’existe pas, il est créé avec comme contenu les affichages produits
command 2» [Link]
▶ ▶ Redirige la sortie erreur de la commande command vers le fichier
[Link] avec préservation du contenu si le fichier de sortie existe déjà.
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 193 / 235
Exemple de redirection
Description
▶ Affiche sur la sortie standard l’expression après interprétation.
Exemple d’utilisation:
Affiche ’Bonjour’ :
Définie une variable puis affiche sa valeur :
Redirections
Q130 Que font les commandes suivantes ?
login@host:˜$ echo “Bonjour"
login@host:˜$ echo “Bonjour" >
[Link] login@host:˜$ echo “Salut" >
[Link] login@host:˜$ echo “Bonjour"
Q131 Entrainez-vous avec les commandes suivantes. Profitez-en pour comprendre les affichages produits
par les commandes ps et file :
Q132 Proposez une commande pour copier le contenu
_ de /proc/cpuinfo dans un fichier [Link] sans
utiliser lalogin@host:˜$
commande cp ps > essai [Link]
login@host:˜$ file /usr/include/stdio.h > [Link]
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
8 l’arborescence Flux de
données
Entrée et sortie standard
Redirections
Tubes
Les scripts
Tubes
Principes de fonctionnement des Tubes (Pipe en anglais)
▶ A la différence des redirections simples qui permettent de rediriger la sortie s
▶ Un tube permet de rediriger la sortie standard d’une commande vers l’entrée
Syntaxe
▶ Le tube est symbolisé par le caractère |.
cmd1 | cmd2
▶ ▶ La sortie standard de la première commande (cmd1) est redirigée vers l’entrée standard de
la deuxième commande (cmd2).
▶ L’entrée standard de la commande cmd1 et la sortie standard de la commande cmd2 ne sont
pas modifiées.
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 198 / 235
Exemple de Tubes avec les commande ls et more
Exemple #1
▶ Si de très nombreux fichiers sont contenus dans un répertoire, la commande ls peut
produire un affichage qui ne tient pas dans l’écran, rendant impossible le parcours de la
liste des fichiers (seuls les derniers sont visibles).
Images/..........................................Répertoire courant
login@host:˜$ ls [Link]..........................Hors de la fenetre
Défilement de tous les [Link]....................Hors de la fenetre
fichiers [Link].............................Dans la fenetre
[Link] [Link]............................Dans la fenetre
[Link].....................................Dans la fenetre
[Link] [Link]
[Link].....................................Dans la fenetre
[Link]
[Link]....................................Dans la fenetre
login@host:˜$ ls |
more [Link] Images/..........................................Répertoire courant
[Link] [Link].............................................Page 1
[Link] [Link]......................................Page 1
[Link] [Link]...........................................Page 1
[Link] [Link]
Affichage d’une première page [Link]..........................................Page 1
puis
E
Presser la pour la page suivante [Link].....................................................Page 1&2
touche [Link]..............................................Page 1&2
[Link]
Page 2
Exemple #2 :
▶ Si de très nombreux fichiers sont contenus dans un répertoire, la commande ls peut
produire un affichage qui ne tient pas dans l’écran, rendant compliqué l’identification
de certain type de fichier (fichiers au format gif par exemple).
Images/..........................................Répertoire courant
login@host:˜$
ls [Link].............................................Affiché
[Link] [Link].......................................Affiché
alphacentauri.g [Link]...........................................Affiché
if
[Link]..........................................Affiché
[Link]
[Link] [Link]...................................................Affiché
[Link] [Link]..................................................Affiché
[Link] [Link]..................................................Affiché
Images/..........................................Répertoire courant
[Link]..........................Retenu par le
filtre
[Link].......................................Affiché
login@host:˜$ ls | grep ’.gif’
alphacentauri.g [Link].......................Retenu par le
if [Link] filtre
login@host:˜$ [Link].......................Retenu par le
filtre
[Link]................................Retenu par le
filtre
[Link]..................................................Affiché
[Link]...............................Retenu par le
filtre
Description
▶ Affiche des statistiques sur le nombre de lignes, de mots et de caractères (co
Exemple d’utilisation:
Soit le fichier suivant :
Commande #1 :
Tubes
Q133 Étudiez et comparez les commandes suivantes. Pour vous aider vous pouvez évaluer les
commandes pas à pas en vous arrêtant avant chaque tube.
Q134 Proposez une commande pour afficher le nombre de fichiers dans votre répertoire home
login@host:˜$ cat /proc/cpuinfo | wc -l
Q135 Proposez unelogin@host:˜$
commande pour afficher
head le/proc/cpuinfo
nombre des processus
| wc -l
Q136 Proposez unelogin@host:˜$
commande pour afficher les premières 5 lignes
cat /proc/cpuinfo | des
grepdernières
’cpu’10|lignes
wc du fichier
/proc/cpuinfo -l
login@host:˜$ head /proc/cpuinfo | grep ’cpu’ | wc
-l
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
Les interpréteurs
▶ L’interpréteur parcourt le texte tapé par l’utilisateur, identifie les commandes et les
paramètres, et si la syntaxe est correcte, lance un processus.
▶ Plusieurs interpréteurs existent : csh, tcsh, bash.
▶ Bash est l’interpréteur du projet GNU. Il est le plus utilisé sous linux. C’est Bash
l’interpréteur qu’on utilise dans ce cours.
▶ L’interpréteur peut lire les commandes à partir d’un fichier, le script shell.
Exemple
#!/bin/bash
echo Liste des Fichiers: #affiche la liste
ls
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
▶ On peut accéder aussi aux variables d’environnement, qui ont été définies a
$PATH)
Exemple
MSG=Bonjour echo $MSG echo $PATH
Les Variables
Q142 Définissez un script nommé exo_4_script.sh à partir du script exo_2_sc
Exemple
Soit [Link] le script suivant :
#!/bin/bash
echo "Nombre d’argument "$#
echo "Les arguments sont "$*
echo "Le second argument est "$2
login@host:˜$ ./[Link] A B C
Nombre d’argument 3
Les arguments sont A B C
Le second argument est B
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
1
Plan
1 Généralités
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
1
Les calculs arithmétiques
Syntaxe
$(( expression_arithmétique ))
Exemples
login@host:˜$ total=$(( 5 + 3 )) login@host:˜$ echo $total
8
login@host:˜$ echo $(( 5 - 3 ))
2
login@host:˜$ echo $(( 5 * 3 ))
15
login@host:˜$ echo $(( 5 / 3 ))
1
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
1
for
Syntaxe #1
for Boucle itérative
▶ permet de répéter l’évaluation d’uneforou
(( plusieurs
init ; test ; incr )) ; do expr_1
instructions,
▶ à chaque tour de boucle une variableexpr_2
appelée itérateur change de valeur,
...
▶ la sortie de boucle s’effectue lorsque l’itérateur atteint une certaine valeurs
done
Exemple #1
test_for_loop_1.bash
#!/bin/bash
login@host:˜$
./test_for_loop_1.bash
echo "test #1" test #1
for (( i = 0 ; i < 3 ; i++ $i = 0
));do $i = 1
echo ’$i = ’$i done $i = 2
Exemple #2
test_for_loop_2.bash
#!/bin/bash login@host:˜$
./test_for_loop_2.bash
echo "test #2" test #2
$i == ’$i
for i in hello la terre;do echo ’$i hello
done $i = la
$i = terre
La boucle for
Q147 Dans le cours nous avons vu plusieurs syntaxes possibles pour la boucle for. Soit le script
suivant :
#!/bin/bash
# affiche les 10 premiers entiers pairs
for int in 2 4 6 8 10 12 14 16 18 20
do
echo $int
done
Q148 Modifiez ce script pour remplacer la liste de valeurs par une expression arithmétique
2 Le système
3 d’exploitation Le
4 système Linux
5 L’ordinateur de bas en
6
haut Organiser ses
données
Fichiers exécutables et
données
1
if
Branchements conditionnels
▶ Le if permet de mettre en place des alternatives.
▶ Un test (dont le résultat est Vrai ou Faux) permet de conditionner les express
Syntaxe #1
Comportement
if test then ▶ Ici, les expressions ne sont évaluée
expr_1 expr_2 ▶ Aucune des expressions ne sont év
...
fi
3
Syntaxe #3 else
exp
if test_1
then
expr_
1 elif
test_2
then
expr_
2 elif
test_3
then
expr_
l’expression expr_1 est évaluée,
▶ si test_2 renvoie la valeur Vrai
Comporte
l’expression expr_2 est évaluée,
ment
▶ si test_3 renvoie la valeur Vrai
▶ Si l’expression expr_3 est évaluée, et
test_1
renvoie ▶ si aucun des tests ne renvoie la
la valeur Vrai alors c’est
valeur l’expression
Vrai r_4 qui est
G. Santini, J.-C. Dubacq (IUTV) Introduction à l’informatique S1 2016 227 / 235
e
Les tests
Tests de l’arborescence
Syntaxe Valeur
Tests de l’arborescence
Q149 Créez un script ico_existe.sh, qui teste si un fichier ico est présent dans le
répertoire courant. Si le fichier existe, le script affiche le message d’avertissement
suivant ($PWD sera remplacé lors de l’exécution par la valeur de la variable
d’environnement) :
Attention: le fichier $PWD/ico existe
Q150 Modifiez le script pour qu’il supprime le fichier ico si celui-ci existe et affiche un
message d’avertissement indiquant que le fichier est supprimé. Les affichages seront
alors les suivants : Attention: le fichier $PWD/ico existe
Le Fichier $PWD/ico est supprime
Q151 Modifiez ce script pour qu’il teste en plus si le répertoire courant contient un répertoire
nommé ico/.
Si il ne contient pas de répertoire ico/, le script crée ce répertoire.
Syntaxe Valeur
Syntaxe Valeur
pérateurs booléens
Syntaxe
Valeur
NOT : Vrai si le test renvoie Faux (négation). O
! [ test ]
[ test_1 ] | | [ test_2 ]
[ test_1 ] && [ test_2 ]ET logique.
Tables de vérité
Exemple
#!/bin/bash
TITLE="En ce jour du $(date -I)" MOTS=$(grep cool /usr/share/dict/w
echo "$TITLE, $i est un mot cool" done
Archiveur
Faites un script qui a les actions suivantes si on lui donne en argument un répertoire (par
exemple
~/M1101/TD6) :
Q154 S’arrête si la cible n’est pas un répertoire
Q155 Définit une variable BACKUPDIR qui vaut le chemin du répertoire du dessus suivi du mot
sauvegarde (ici ~/M1101/sauvegarde) en utilisant la commande dirname
Q156 Crée le répertoire s’il n’existe pas
Q157 Définir une variable faite avec la date du jour et le nom du répertoire (par exemple
2014-10-31-TD6) en utilisante les commandes basename et date.
Q158 Crée une archive compressée du répertoire (ici en exécutant
tar czf ~/M1101/sauvegarde/[Link] ~/M1101/TD6)
On pourra affiner en s’arrêtant si une archive existe déjà sous ce nom avant de la créer (ou
proposer de l’effacer en utilisant la commande read x pour lire une variable depuis le
terminal).