Maison  >  Article  >  Opération et maintenance  >  Quelles sont les raisons pour lesquelles la création de fichiers échoue sous Linux ?

Quelles sont les raisons pour lesquelles la création de fichiers échoue sous Linux ?

青灯夜游
青灯夜游original
2022-06-10 19:18:416717parcourir

Les raisons pour lesquelles Linux ne parvient pas à créer des fichiers : 1. L'espace disque correspondant au répertoire actuel est insuffisant ; lors de la création d'un fichier dans un certain répertoire, il est en fait exploité sur le disque correspondant à ce répertoire si le disque est plein. , il sera naturellement créé en échec. 2. Inodes insuffisants ; puisqu'un fichier correspond à un inode, lorsqu'il y a trop de petits fichiers sur le disque, il y aura beaucoup de blocs, mais les inodes ont été alloués, c'est-à-dire qu'il y a encore beaucoup d'espace, mais il ne peut pas être créé. En effet, le fichier est créé. Lorsque la demande de numéro d'inode a échoué.

Quelles sont les raisons pour lesquelles la création de fichiers échoue sous Linux ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Échec de la création de fichiers

L'échec de la création de fichiers dans les systèmes Linux est relativement courant. Bien sûr, la création de fichiers ici ne signifie pas seulement que les utilisateurs créent manuellement des fichiers. Dans la plupart des cas, certains services réseau, systèmes de journalisation, etc. doivent continuer à écrire un fichier, créer un fichier, il est rare qu'un utilisateur réel ne parvienne pas à créer un fichier. Ensuite, nous analysons quelques-unes des raisons pour lesquelles la création échoue.

Raisons de l'échec de la création du fichier :

1. L'espace disque correspondant au répertoire actuel est insuffisant

Selon la description ci-dessus, lors de la création d'un fichier dans un certain répertoire, il est en fait exploité sur le disque. correspondant à ce répertoire, si le disque est plein, la création échouera naturellement. Une description plus précise est la suivante : lors de la création d'un fichier, la demande de blocage échoue. Vous pouvez utiliser la commande suivante pour vérifier :

# 查看当前目录所在磁盘的空间使用情况
df -h ./

2. Inode insuffisant

C'est une autre raison pour laquelle la création de fichier échoue. Puisqu'un fichier correspond à un inode, lorsqu'il y a trop de petits fichiers sur le disque, il y aura beaucoup de blocs, mais l'inode a été alloué, c'est-à-dire qu'il y a encore beaucoup d'espace, mais il ne peut pas être créé . En effet, lors de la création d'un fichier, un numéro d'inode est demandé. Vous pouvez utiliser la commande suivante pour confirmer si l'innode a été alloué

# 查看当前目录所在磁盘的inode的使用情况
df -i ./

Connaissances étendues : plusieurs termes clés

  • superblock : Pour expliquer en termes plus courants : le superblock gère une zone disque, et tous les fichiers sont All. les opérations (création, accès, suppression) doivent passer par le superbloc, qui joue le rôle de housekeeper de gestion des disques.

  • inode : Une petite zone de disque pré-divisée avec le formatage du disque. Généralement, chaque inode fait 128 octets. Il est utilisé pour enregistrer les autorisations de fichiers, les attributs, les blocs occupés et d'autres informations. Chaque fichier correspond à un inode. L'application et le retour des inodes sont gérés par superbloc. Le nombre d'inodes est limité.

  • bloc : où le contenu du fichier est réellement stocké. La taille du bloc est également divisée en fonction du format du disque. Selon le système, chaque bloc peut avoir une taille de 1K, 2K ou 4K. Le fichier doit occuper un bloc entier, utiliser l'espace restant et il est gaspillé. Par exemple : chaque bloc fait 4K. S'il existe un fichier d'une taille de 1K, alors un bloc doit lui être alloué. Les 3K restants de ce bloc ne peuvent pas être utilisés par d'autres fichiers. C'est ce qu'on appelle la fragmentation du disque. Une autre situation est qu'un fichier fait 10 Ko, alors il doit occuper 3 blocs, le taux d'utilisation réel est de 10/12, et les numéros de ces trois blocs sont enregistrés dans l'inode correspondant au fichier.

  • Point de montage : Dans le système Linux, chaque disque physique est monté dans un certain répertoire. Créer un fichier dans ce répertoire équivaut à écrire quelque chose sur ce disque physique.

    En termes simples : un disque physique est d'abord monté sur un répertoire dans l'arborescence des fichiers. Le disque physique est divisé en plusieurs zones. Chaque zone possède un superbloc qui gère la zone. Il existe un certain nombre d'inodes et de blocs numérotés. Un inode correspond à un fichier. Lors de la création d'un nouveau fichier, vous devez d'abord vous rendre au superbloc pour demander un numéro d'inode, puis demander plusieurs blocs en fonction de la taille du fichier. , et enregistrez les attributs du fichier dans l'inode, les autorisations, le numéro de bloc occupé, et enfin écrivez le contenu réel du fichier dans le bloc alloué.

Recommandations associées : "Tutoriel vidéo Linux"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn