


Tutoriel sur l'utilisation des inodes sous Linux
Cet article vous présente principalement les informations pertinentes sur les inodes sous Linux. L'introduction dans l'article est très détaillée et a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin peuvent y jeter un œil ci-dessous.
Contexte
J'examinais récemment les commandes Linux, et quand je suis allé sur df, j'ai découvert quelque chose que j'avais ignoré auparavant. Autrement dit, l'option -i répertorie les informations sur l'inode de la partition du système de fichiers. Quel est cet inode ?
À quoi sert l'inode ?
L'inode est la zone utilisée pour stocker les méta-informations du fichier. La traduction chinoise est appelée « nœud d'index ».
Connaissances de base sur les inodes
Passons d'abord en revue certains contenus sur le stockage de fichiers. Nous savons que les fichiers sont stockés sur le disque dur. La plus petite unité de stockage du disque dur est également appelée secteur. La taille d'un secteur est de 512 octets.
Lorsque le système d'exploitation lit des informations sur le disque dur, il lit plusieurs secteurs à la fois, et ces multiples secteurs sont également appelés blocs. En règle générale, la taille du bloc est de 4 Ko, soit environ 8 secteurs. Il est à noter que les blocs lus sont des espaces contigus.
À l'heure actuelle, nous pouvons savoir que les fichiers sont stockés dans des "blocs", tout comme lorsque nous écrivons des programmes en langage C, nous savons que lorsque nous déclarons un tableau, non seulement il sera stocké La valeur placé dans le tableau stockera également les informations correspondantes du tableau, telles que la première adresse du tableau, le type de fichier, la longueur du tableau, etc. De même, vous devez trouver un endroit pour stocker les méta-informations du fichier, similaire au informations liées à la création du fichier, à la longueur du fichier, etc. Et cet endroit s'appelle inode.
Le contenu stocké dans l'inode
L'inode contient les méta-informations du fichier stocké, y compris ces contenus :
Le nombre d'octets dans le fichier.
L'ID du créateur du fichier.
ID de groupe du fichier.
Autorisations de lecture et d'écriture des fichiers.
L'horodatage pertinent du fichier. Il y en a trois spécifiques : ctime--> L'heure à laquelle l'inode a été modifié pour la dernière fois ; mtime--> L'heure à laquelle le contenu du fichier a été modifié pour la dernière fois ; atime--> L'heure à laquelle le fichier a été ouvert pour la dernière fois.
Nombre de liens
Bloquer l'emplacement des données du fichier
numéro d'inode
Après avoir vu le contenu de stockage ci-dessus pour la première fois, je pense que tout le monde se posera la même question. Puisque l'inode stocke des informations relatives aux fichiers, pourquoi ne pas stocker des fichiers ? Le nom. La raison en est que les noms de fichiers ne constituent pas la norme pour les systèmes d'exploitation Unix/Linux pour identifier différents fichiers.
Le système d'exploitation identifie différents fichiers grâce à des numéros d'inode.
Dans les systèmes Unix/Linux, le nom du niveau utilisateur est utilisé pour ouvrir le fichier via le nom du fichier. Le niveau système passe principalement par trois étapes pour ouvrir le fichier :
- <.>
- Trouvez le numéro d'inode correspondant en fonction du nom du fichier.
- Obtenez des informations sur l'inode via le numéro d'inode.
- Selon les informations de l'inode, recherchez le bloc où les données du fichier sont stockées et séparez les données.
La fonction spéciale de l'inode
Dans le système Unix/Linux, le numéro d'inode et le fichier name sont séparés. Cela a conduit à des phénomènes particuliers dans le système :- Supprimer le nœud inode signifie supprimer le fichier. Certains fichiers peuvent ne pas être supprimés correctement. Dans ce cas, nous pouvons directement supprimer le nœud inode correspondant pour supprimer le fichier.
- Déplacez ou renommez le fichier sans changer le numéro d'inode, juste le nom du fichier.
- De manière générale, le système ne peut pas obtenir le nom du fichier via le numéro d'inode. Lorsqu'un fichier est ouvert, le système identifiera le fichier via l'inode et ne prendra plus en compte le nom du fichier.
Problème d'occupation de l'espace des inodes
Étant donné que les données sont également stockées sur le disque dur, l'inode occupera définitivement le disque dur Lors du formatage du disque dur, le système d'exploitation divisera automatiquement le disque dur en deux zones :- zone de données
- table d'inodes
La zone de données stocke principalement les données de fichiers et la zone de table d'inodes stocke les informations d'inodes.
Spécialement, la taille de la zone occupée par l'inode est déjà donnée par le système d'exploitation lorsque le disque est formaté. La conséquence est que l'espace dans la zone de données n'a pas été utilisé, mais les données ne sont plus accessibles à ce moment-là, car la zone de la table des inodes est pleine et les nouveaux fichiers ne peuvent pas être stockés sur le disque.
Fichier répertoireOn sait que sous Unix/Linux, toute ressource existe sous la forme d'un fichier. Le catalogue aussi. Lorsque nous ouvrons un répertoire, nous ouvrons en fait le fichier répertoire. La structure d'un fichier répertoire est une liste.
Entrée du répertoire = nom du fichier inclus + numéro d'inode correspondant.
Liens physiques et liens logiciels
Je ne couvrirai pas les détails de ce qu'est un lien physique et ce qu'est un lien logiciel dans cet article de blog, je n'entrerai pas dans les détails, considérez-le simplement du point de vue de l'inode.
Du point de vue du numéro d'inode, dans les systèmes Unix/Linux, plusieurs noms de fichiers sont autorisés à pointer vers le même numéro d'inode. À ce stade, si l'un des noms de fichier est supprimé, l'accès à l'autre nom de fichier ne sera pas affecté. Dans le même temps, si le fichier est ouvert via un nom de fichier et que des modifications sont apportées, les modifications peuvent être partagées avec un autre. les noms de fichiers sont ouverts. Alors appelez cela un « lien physique ». Sous Linux, nous pouvons créer des liens physiques via la commande ln.
Comme résumé ci-dessus, dans l'inode, il y a un élément de stockage appelé "nombre de liens", qui enregistre le nombre total de noms de fichiers qui ne veulent que l'inode. Si un nom de fichier est créé pour pointer vers un fichier via un lien physique, le numéro de lien dans le champ de données d'inode correspondant au fichier sera + 1, et vice versa - 1. Lorsque cette valeur est 0, le système n'utilisera par défaut aucun nom de fichier pointant vers l'inode. À ce moment, le numéro d'inode sera recyclé et la zone de bloc correspondante sera recyclée.
Quant au lien symbolique correspondant, supposons qu'il existe le fichier A et le fichier B, et que B est un lien symbolique de A. À l'heure actuelle, les numéros d'inodes de A et B sont différents car ce sont des fichiers différents, mais ! Le contenu de B est le chemin de A. Lors de la lecture de B, le système accédera automatiquement à A, donc quel que soit le fichier ouvert, le fichier A sera accessible. À l’heure actuelle, le fichier B est appelé « lien logiciel » ou « lien symbolique » vers le fichier A.
Dans les systèmes Unix/Linux, nous pouvons créer des liens symboliques via la commande ln -s.
Résumé et petits ajouts
Grâce à la description ci-dessus, nous savons que l'inode est comme le champ pointeur en langage C, le champ de pointeur Il enregistre une variété d'informations et nous dirige vers l'emplacement correct du fichier pour lire les informations requises. (Bien sûr, ce n'est pas exactement la même chose.)
Lors de la création d'un répertoire dans un système Unix/Linux, deux entrées de répertoire seront automatiquement générées :
.Répertoire
.. Répertoire
Vous pouvez observer ces deux répertoires via la commande ls -al. Le numéro d'inode de ".directory" est le numéro d'inode du répertoire courant, qui est équivalent au lien physique du répertoire courant, tandis que le numéro d'inode du répertoire ".." est le numéro d'inode du répertoire parent du répertoire courant, qui équivaut au lien physique du répertoire parent. Nombre total de liens physiques du répertoire = 2 + nombre total de sous-répertoires (y compris les fichiers cachés).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

VS Code est disponible sur Mac. Il a des extensions puissantes, l'intégration GIT, le terminal et le débogueur, et offre également une multitude d'options de configuration. Cependant, pour des projets particulièrement importants ou un développement hautement professionnel, le code vs peut avoir des performances ou des limitations fonctionnelles.

Visual Studio Code (VSCODE) est un éditeur de code Open Source, Open Source et gratuit développé par Microsoft. Il est connu pour son léger, l'évolutivité et le support pour une large gamme de langages de programmation. Pour installer VScode, veuillez visiter le site officiel pour télécharger et exécuter l'installateur. Lorsque vous utilisez VSCODE, vous pouvez créer de nouveaux projets, modifier le code, déboguer le code, naviguer dans les projets, développer VSCODE et gérer les paramètres. VScode est disponible pour Windows, MacOS et Linux, prend en charge plusieurs langages de programmation et fournit diverses extensions via Marketplace. Ses avantages incluent le léger, l'évolutivité, le support linguistique étendu, les fonctionnalités riches et la version

Les principales utilisations de Linux comprennent: 1. Système d'exploitation du serveur, 2. Système intégré, 3. Système d'exploitation de bureau, 4. Environnement de développement et de test. Linux excelle dans ces domaines, offrant des outils de stabilité, de sécurité et de développement efficaces.

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.
