0% ont trouvé ce document utile (0 vote)
5 vues61 pages

Commandes Shell : Inodes et Liens Linux

Ce document traite des commandes Shell sous Linux, en se concentrant sur les inodes, les liens physiques et symboliques, ainsi que sur la recherche de fichiers. Il explique comment utiliser des commandes comme 'find', 'grep', 'sort', et 'uniq' pour gérer les fichiers et les données. Enfin, il aborde l'archivage et la compression des fichiers avec des outils comme 'tar' et 'gzip'.

Transféré par

mohamed.rayen.hamed
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues61 pages

Commandes Shell : Inodes et Liens Linux

Ce document traite des commandes Shell sous Linux, en se concentrant sur les inodes, les liens physiques et symboliques, ainsi que sur la recherche de fichiers. Il explique comment utiliser des commandes comme 'find', 'grep', 'sort', et 'uniq' pour gérer les fichiers et les données. Enfin, il aborde l'archivage et la compression des fichiers avec des outils comme 'tar' et 'gzip'.

Transféré par

mohamed.rayen.hamed
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP 6 Linux

Les commandes Shell (Bash Shell)


Les liens, la redirection et les pipes

Enseignante: MANSOUR Sihem

Contact : sihemmansour@[Link]
[Link]@[Link]
Les inodes
Définition d’un inode
 Sous linux, chaque fichier est représenté par un inode caractérisé par un
identifiant unique. Voir l’exemple:

Chaque inode contient les informations suivantes:


 le bloc de disque où est la donnée est stockée, le type de fichier, la taille du
fichier, l’identifiant du propriétaire
 L’identifiant du groupe, les autorisations de lecture, d’écriture et d’exécution,
Heure du dernier accès, Heure de la dernière modification

2 Ens: MANSOUR Sihem


Les liens
 Sous linux, il existe deux types de liens: lien physique et lien
symbolique.
Lien physique:
 Donc si on explique encore plus, un inode est le fichier avec ces
différentes caractéristiques (contenu, propriétaire, groupe, droit
d’accès, etc..), cet inode peut avoir plusieurs noms sur le système,
 Pour savoir si un inode a plusieurs noms sur le système, taper ls –l
nom_inode
 Dans notre exemple l’inode f15 a trois noms

3 Ens: MANSOUR Sihem


Les liens
 L’attribution du nom pour un inode se fait via la création d’un lien
physique.
 La création du lien physique se fait via la commande suivante:
ln inode lienpysique(nouveauNom)
Voir l’exemple:

 La suppression de l’inode se fait lorsque on supprime tous les liens


physiques sur lui sous le système

4 Ens: MANSOUR Sihem


Les liens
La création du lien physique a deux objectifs:
 le premier objectif est l'attribution de plusieurs noms à un contenu
précieux comme ça on garantit sa conservation.
 Le deuxième objectif est l'assurance du travail collaboratif sur un

fichier, chaque utilisateur travaille sur un nom dans son espace du travail
et tous travaillent sur le même contenu

5 Ens: MANSOUR Sihem


Les liens
Un lien physique ne peut pas
 relier deux fichiers situés sur des partitions différentes.

 être créé sur un dossier et sur des fichiers spéciaux comme les

sockets, les pipes, et les device files.

 Être appliqué sur des systèmes de fichiers non compatibles comme

FAT32, exFAT ( des systèmes de fichiers de clés USB, cartes SD et


disques externes)

6 Ens: MANSOUR Sihem


Les liens
Liens symboliques

 Les liens symboliques ressemblent plus aux « raccourcis » dont vous


avez peut-être l'habitude sous Windows. La plupart du temps, on crée
des liens symboliques sous Linux pour faire un raccourci.

 Le principe du lien symbolique est que l'on crée un lien vers un autre
nom de fichier. Cette fois, on pointe vers le nom de fichier et non pas
vers l'inode directement .

 Voir le graphique suivant:

7 Ens: MANSOUR Sihem


Les liens

 Dans l’exemple ci-dessous on va créer un lien symbolique f2 sur le


fichier f1. On utilise là encore la commande ln, mais avec le paramètre
-s

8 Ens: MANSOUR Sihem


Les liens

Pour avoir des informations sur le fichier f2, taper la commande ls –l. voir l’exemple:

D’après l’exemple, le lien symbolique prend la lettre l comme type de ressource

La présence de flèche dans le resultat de commande prouve que f2 est un raccouci sur f1

Si on supprime f2, rien ne se passe pour f1. sinon si on supprime f1, f2 devient
un raccourci endommagé.

9 Ens: MANSOUR Sihem


Les liens
Voici un tableau récapitulatif qui résume les principales différences entre les deux liens:

10 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
find: une recherche apronfondie
 find est la commande de recherche par excellence pour retrouver
des fichiers, mais aussi pour effectuer des opérations sur chacun
des fichiers trouvés. Elle est très puissante, permet donc de faire
beaucoup de choses, et par conséquent… elle est un peu
complexe.

 Contrairement à locate, find ne va pas lire dans une base de données

mais au contraire parcourir tout votre disque dur.

11 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Utilisation basique de la commande find:
 Recherche à partir du nom
 Exemple:

Le -name " f1" est un paramètre qui demande de retrouver un


fichier qui s'appelle très exactement f1
 Comme nous n'avons pas précisé où rechercher, find a
cherché dans le répertoire dans lequel nous nous trouvions
et dans ses sous-répertoires. Le ~

12 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Maintenant, nous allons préciser le chemin d’accès ou on va
faire la recherche:

 Notez que, contrairement à locate, find récupère uniquement la


liste des fichiers qui s'appellent exactement comme demandé.
Ainsi, s'il existe un fichier nommé syslog2, il ne sera pas listé
dans les résultats. Pour qu'il le soit, il faut utiliser le joker :
l'étoile « * »

13 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Si vous voulez chercher un fichier sur tout le disque dur,
utilisez le chemin d’accès /

 Recherche à partir de la taille:


 On peut faire des recherche sur les fichiers à partir de leur
taille:

14 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Au lieu de se baser sur le nom, on se base ici sur la taille (-size).
Le +10M indique que l'on recherche des fichiers de plus de 10
Mo. On peut aussi utiliser k pour les Ko, G pour les Go, etc.
 Vous pouvez aussi utiliser un moins « - » à la place du « + »
pour obtenir par exemple les fichiers de moins de 10 Mo. Et si
vous enlevez le « + », la commande cherchera des fichiers de
10 Mo exactement (ni plus, ni moins).

15 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Recherche à partir de la date
 Vous êtes sûrs d'avoir accédé à votre rapport au format .odt il y
a moins de 7 jours, mais vous n'arrivez pas à le retrouver ?

 Avec -atime, vous pouvez indiquer le nombre de jours qui vous


séparent du dernier accès à un fichier.
 Exemple:

16 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Recherche uniquement des répertoires ou fichiers:
 On peut aussi rechercher uniquement des répertoires ou des
fichiers. Utilisez :

 -type d : pour rechercher uniquement des répertoires


(directories) ;
 -type f : pour rechercher uniquement des fichiers (files).

17 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Par défaut, find cherche des répertoires ET des fichiers. Ainsi,
si vous avez un fichier appelé syslog et un répertoire appelé
syslog, les deux résultats seront affichés. Pour obtenir
uniquement les répertoires qui s'appellent syslog (et non pas les
fichiers), tapez donc :

18 Ens: MANSOUR Sihem


La recherche des fichiers sous
Linux
 Supprimer les fichiers trouvés
 Un des usages les plus courants de find, à part retrouver des
fichiers, consiste à les supprimer. Si je veux faire le ménage
dans mon home et par exemple supprimer tous mes fichiers «
jpg », je vais écrire ceci :

19 Ens: MANSOUR Sihem


Recherche d’un texte dans un
fichier
 grep
 La recherche d'une chaîne de caractères dans un ou plusieurs
fichiers peut se faire à l'aide de la commande grep.
 Cette commande prend en premier paramètre le texte à
rechercher, puis la liste des fichiers dans lequel ce texte doit être
trouvé :
grep texte fichiers
 Le texte peut être placé entre guillemets si nécessaire (en
particulier, s'il contient des espaces ou des caractères interprétés
par le shell, comme * et ?)

20 Ens: MANSOUR Sihem


Recherche d’un texte dans un
fichier

 La commande grep possède plusieurs options, exemple:


 -n: affiche le numéro de la ligne qui contient le texte
 -l: affiche tous les fichiers qui contiennent le texte
 -i: pour ignorer la casse
 -v : inverser la recherche, c’est-à-dire on cherche toutes les
données (lignes ou fichiers) qui ne contiennent pas le critère
voulu
 -r : rechercher dans tous les fichiers et sous-dossiers
21 Ens: MANSOUR Sihem
Trier des lignes
 sort
 La commande sort permet de trier des lignes du fichier.
Remarque: La commande sort ne respecte pas la casse
 On va créer le fichier text sous notre répertoire personnel qui
contient les informations suivantes:
o Ariana
o Kelibia
o Bizerte
o Sfax
o Gabes
22 Ens: MANSOUR Sihem
Trier des lignes
 Pour se faire utiliser l’éditeur nano.

 Ensuite, on va exécuter la commande sort sur ce fichier :

23 Ens: MANSOUR Sihem


Trier des lignes
 La commande sort supporte plusieurs options:
 -o: écrire le résultat de tri dans un autre fichier. En faite
cette commande ne modifie pas le fichier, juste elle affiche
son contenu trié sur le console. Si on veut mettre le résultat
dans un fichier au lieu de l’afficher utiliser l’option -o

 -r: inverser le tri

24 Ens: MANSOUR Sihem


Compter les lignes
 Wc:
 La commande wc signifie word count. C'est donc a priori un
compteur de mots mais en fait, on lui trouve plusieurs autres
utilités : compter le nombre de lignes (très fréquent) et
compter le nombre de caractères. la commande wc travaille
sur un fichier.

 Exemple d’utilisation:

25 Ens: MANSOUR Sihem


Compter les lignes
 Ces trois nombres signifient, dans l'ordre :
 le nombre de lignes.

 le nombre de mots.
 le nombre d'octets.
 Cette commande comporte plusieurs options:

 -l : compter le nombre de lignes:


 -w : compter le nombre de mots
 -c : compter le nombre d’octets
 -m : compter le nombre de caractères
26 Ens: MANSOUR Sihem
Supprimer les doublons
 uniq
 Parfois, certains fichiers contiennent des lignes en double et on
aimerait pouvoir les détecter ou les supprimer. Pour se faire on
peut utiliser La commande uniq

 Nous devons travailler sur un fichier trié. En effet, la


commande uniq ne repère que les lignes successives qui sont
identiques.
 Je vous propose de créer un fichier doublons contenant les
noms suivants :

27 Ens: MANSOUR Sihem


Supprimer les doublons

 on va utiliser La commande uniq , pour afficher le contenu de


ce fichier sans doublons

28 Ens: MANSOUR Sihem


Supprimer les doublons
 Si vous voulez transmettre le résultat de la commande uniq à
un fichier au lieu de l’afficher, vous pouvez procéder de la
façon suivante

 La commande uniq comporte plusieurs options:


 -c : compter le nombre d'occurrences

 -d : afficher uniquement les lignes présentes en double

29 Ens: MANSOUR Sihem


Archiver et compresser des
fichiers sous ubuntu
1. Assembler des fichiers dans un archive:
Généralement, on assemble des fichiers dans un archive (un fichier
.tar) pour les compresser par la suite. Pour faire l’archivage des
fichiers, utiliser la commande tar

 Consigne: vaut-mieux mettre les fichiers à archiver dans un

dossier avant l’archivage


30 Ens: MANSOUR Sihem
Archiver et compresser des
fichiers sous ubuntu
2. Gestion de l’archivage
 commencer par créer un dossier qui contient tous les fichiers à

archiver

 Accéder à ce dossier et mettre vos fichiers

 Créer votre archive

31 Ens: MANSOUR Sihem


Archiver et compresser des
fichiers sous ubuntu
1. Gestion de l’archivage
 Les options utilisées avec la commande tar, sont:

 -c: signifie créer une archive tar


 -v: afficher les détails des opérations
 -f : rassembler l’archivage dans un fichier

 Pour afficher le contenu d’un archivage:

32 Ens: MANSOUR Sihem


Archiver et compresser des
fichiers sous ubuntu
1. Gestion de l’archivage
 Extraire des fichiers de l’archive

 On va commencer par supprimer le dossier essai :

33 Ens: MANSOUR Sihem


Archiver et compresser des
fichiers sous ubuntu
1. Gestion de l’archivage
 Extraire des fichiers de l’archive

 Puis extraire nos fichiers de l’archive

34 Ens: MANSOUR Sihem


Archiver et compresser des
fichiers sous ubuntu
3. Comment compresser l’archivage ou les fichiers
 Pour la compression on a deux programmes qui existent par
défaut gzip et bzip2(plus lent que gzip mais plus efficace), dans
notre cours on va voir gzip
 Pour compresser une archive ou un fichier avec gzip, utiliser cette
commande

 Le fichier résultat est .gz


35 Ens: MANSOUR Sihem
Archiver et compresser des
fichiers sous ubuntu
4. Comment décompresser l’archivage
utiliser la commande gunzip

36 Ens: MANSOUR Sihem


Archiver et compresser des
fichiers sous ubuntu
5. Utiliser unrar pour compresser/décompresser des
fichier:
 Commencer par installer unrar

 Pour décompresser des fichier rar, utiliser la commande unrar

avec l’option e

 Pour compresser, il faut acheter le logiciel

37 Ens: MANSOUR Sihem


Lancer plusieurs commandes
sur la même ligne de commande
 Pour lancer plusieurs commandes sur la même invite, procéder
de la façon suivante:

38 Ens: MANSOUR Sihem


Lancer plusieurs commandes sur la même
ligne de commande: Exécution séquentielle

Les commandes sont exécutées l'une après l'autre, indépendamment du


succès ou de l'échec de la commande précédente.

 Syntaxe:

 Exemple:

39 Ens: MANSOUR Sihem


Lancer plusieurs commandes sur la même
ligne de commande: Exécution conditionnelle
(1)

 Les commandes suivantes ne sont exécutées que si la commande

précédente réussit (c'est-à-dire retourne un code de sortie égal à 0).

Syntaxe:

 Exemple:

40 Ens: MANSOUR Sihem


Lancer plusieurs commandes sur la même
ligne de commande: Exécution conditionnelle
(2)

 Les commandes suivantes ne sont exécutées que si la commande

précédente échoue (retourne un code de sortie différent de 0).

 Syntaxe:

 Exemple:

41 Ens: MANSOUR Sihem


Les flux de redirection
 rediriger le résultat :
 Rediriger le résultat d’une commande dans un fichier

 lorsqu’on tape une commande Shell, le résultat s’ affiche par


défaut sur la console.
 Avec Shell, on peut orienter la sortie d’une commande et au
lieu de l’afficher sur la console on peut l’enregistrer dans un
fichier.
 voir les graphiques suivant:

42 Ens: MANSOUR Sihem


Les flux de redirection

L’opérateur > diriger le résultat de ls vers le fichier t1, si ce fichier


n’existe pas il va être créé automatiquement et si il existe son contenu
va être supprimé et remplacé par le résultat de cette commande

43 Ens: MANSOUR Sihem


Les flux de redirection
 rediriger le résultat à la fin du fichier: >>
 Le double chevron >> sert lui aussi à rediriger le résultat dans
un fichier, mais cette fois à la fin de ce fichier.

 Avantage : vous ne risquez pas d'écraser le fichier s'il existe


déjà. Si le fichier n'existe pas, il sera créé automatiquement.

44 Ens: MANSOUR Sihem


Les flux de redirection
 Résumé
 Nous venons de découvrir deux flux de redirection dans des
fichiers :

 > : redirige dans un fichier et l'écrase s'il existe déjà ;


 >> : redirige à la fin d'un fichier et le crée s'il n'existe pas.

45 Ens: MANSOUR Sihem


Les flux de redirection
 rediriger les erreurs :
 introduction
 Il faut savoir que toutes les commandes produisent deux flux de
données différents.
 la sortie standard : pour tous les messages (sauf les erreurs) ;
 la sortie d'erreurs : pour toutes les erreurs.
 Prenons un exemple: Supposons que vous fassiez un cat du fichier
[Link] pour afficher son contenu. Il y a deux possibilités :
 si tout va bien, le résultat (le contenu du fichier) s'affiche sur la
sortie standard ;
 s'il y a une erreur, celle-ci s'affiche dans la sortie d'erreurs.
46 Ens: MANSOUR Sihem
Les flux de redirection
 Voir le graphique suivant:

47 Ens: MANSOUR Sihem


Les flux de redirection
 Rediriger l’erreur dans un fichier à part
 Si vous voulez enregistrer les erreurs dans un fichier à part
pour ne pas les oublier et pour pouvoir les analyser ensuite.

 Pour se faire, utiliser l'opérateur 2>


 Exemple:

48 Ens: MANSOUR Sihem


Les flux de redirection

 Il y a deux redirections ici :


 > [Link] : redirige le résultat de la commande (sauf les erreurs) dans le
fichier [Link]. C'est la sortie standard ;
 2> [Link] : redirige les erreurs éventuelles dans le fichier [Link]. C'est la
sortie d'erreurs.
 Vous pouvez vérifier : si fichier_inexistant n'a pas été trouvé, l'erreur aura
été inscrite dans le fichier [Link] au lieu d'être affichée dans la console.

 Notez qu'il est aussi possible d'utiliser 2>>,pour ajouter les


erreurs à la fin du fichier. Ens: MANSOUR Sihem
49
Les flux de redirection
 Fusionner les sorties
 Si Parfois, on n'a pas envie de séparer les informations dans
deux fichiers différents. Heureusement, il est possible de
fusionner les sorties dans un seul et même fichier. Comment ?

 Il faut utiliser le code suivant : 2>&1.


 Cela a pour effet de rediriger toute la sortie d'erreurs dans la
sortie standard. Traduction pour l'ordinateur : « envoie les
erreurs au même endroit que le reste ».

50 Ens: MANSOUR Sihem


Les flux de redirection
 Exemple:

 On va envoyer les deux sorties ( standard et erreur) de cette


commande vers le fichier [Link]

 L’utilisation > dans cette commande veut dire créé le fichier


[Link] si il n’existe pas et si il existe écrase son contenu et le
remplace par le nouveau résultat, toute fois si on veut écrire à la
fin de fichier, on doit utiliser >>
51 Ens: MANSOUR Sihem
Les flux de redirection
 Résumé
 Nous avons découvert trois symboles :
 2> : redirige les erreurs dans un fichier (s'il existe déjà, il sera écrasé) ;
 2>> : redirige les erreurs à la fin d'un fichier (s'il n'existe pas, il sera créé)
 2>&1 : redirige les erreurs au même endroit et de la même façon que la
sortie standard.
 Le tout est illustré sur la figure suivante.

52 Ens: MANSOUR Sihem


Les flux de redirection
 Lire de puis un fichier ou le clavier :
 introduction

 La rentrée d’une commande Shell peut être prise à partir d’un


fichier ou d’une saisie au clavier

53 Ens: MANSOUR Sihem


Les flux de redirection
 Lire depuis un fichier : <
 Le chevron ouvrant < permet d'indiquer d'où vient l'entrée
qu'on envoie à la commande.

Exemple

 Vous remarquez bien que il n’y a pas une différence dans le


résultat entre la commande cat text et cat < text

54 Ens: MANSOUR Sihem


Les flux de redirection

 Mais dans le traitement est différent:


 Si vous écrivez cat text, la commande cat reçoit en
entrée le nom du fichier text qu'elle doit ensuite se
charger d'ouvrir pour afficher son contenu.
 Si vous écrivez cat < text, la commande cat reçoit le
contenu de text qu'elle se contente simplement d'afficher
dans la console. C'est le shell qui se charge d'envoyer le
contenu de text à la commande cat.

55 Ens: MANSOUR Sihem


Les flux de redirection
 Lire depuis le clavier: <<
 Le double chevron ouvrant << fait quelque chose d'assez
différent : il vous permet d'envoyer un contenu à une
commande depuis votre clavier.

 Exemple:

56 Ens: MANSOUR Sihem


Les flux de redirection

57 Ens: MANSOUR Sihem


Les flux de redirection
 Résumé
 Nous pouvons donc « alimenter » des commandes de deux
manières différentes, comme le montre la figure suivante :

 < : envoie le contenu d'un fichier à une commande ;


 << : passe la console en mode saisie au clavier, ligne par ligne.
Toutes ces lignes seront envoyées à la commande lorsque le
mot-clé de fin aura été écrit.

58 Ens: MANSOUR Sihem


Les flux de redirection
 Les pipes ou chainage des commandes:
 Les pipes ou Chainage des commandes c-a-d connecter la
sortie d'une commande à l'entrée d'une autre commande.

 Exemple:

59 Ens: MANSOUR Sihem


Les flux de redirection
 Cette commande exécutée tout seule. Ne peut pas donnée un
résultat clair.
 Si on trie le résultat retourné par de cette commande puis
l’afficher page par page. Ce dernier ça va être plus clair. Pour se
faire, on va utiliser les pipes:

60 Ens: MANSOUR Sihem


Ens: MANSOUR Sihem

Vous aimerez peut-être aussi