Maison Tutoriel système Linux Explorez les types de fichiers dans les systèmes Linux : fichiers ordinaires, répertoires et fichiers spéciaux

Explorez les types de fichiers dans les systèmes Linux : fichiers ordinaires, répertoires et fichiers spéciaux

Jun 27, 2024 am 10:58 AM

探索 Linux 系统中的文件类型:普通文件、目录与特殊文件

Les sections suivantes traitent des fonctions de base d'exécution d'E/S lors du développement du langage C sous Linux Le système Linux a plusieurs types de fichiers. Cependant, lors de l'expérimentation d'exemples, il existe plusieurs types de fichiers dans le système Linux, qui tournent tous autour de fichiers ordinaires.

linux系统有几种文件类型_linux典型文件系统类型_linux特有的文件系统Types de fichiers sous Linux

Vous vous souvenez dans la section 9, nous avons expliqué comment les systèmes Unix (Linux est un système de type Unix) pensent que « tout est un fichier » ? La plupart des fichiers dans les systèmes Unix sont des fichiers et des répertoires ordinaires, et ces deux types de fichiers sont également les plus couramment utilisés. Par exemple, le répertoire /usr et le fichier texte hello.txt situé au-dessus appartiennent à des types de fichiers ordinaires.

En fait, site Linux : infoq.cn, le système Linux divise tous les fichiers dans les catégories suivantes :

Il semble que les périphériques du système Linux (tels que le disque dur, le port parallèle, etc.) soient soit des fichiers spéciaux de bloc, soit des fichiers spéciaux de caractères.

Obtenir les types de fichiers sous Linux

Linux fournit la série de fonctions stat pour obtenir des informations statistiques sur les fichiers. Entrez manstat sous Linux pour obtenir le guide d'utilisation de la fonction stat :

linux系统有几种文件类型_linux典型文件系统类型_linux特有的文件系统

linux系统有几种文件类型_linux特有的文件系统_linux典型文件系统类型Le deuxième paramètre de la fonction stat est une structure, sa définition se trouve dans :

 struct stat {
 unsigned long st_dev;
 unsigned long st_ino;
 unsigned short st_mode;
 unsigned short st_nlink;
 unsigned short st_uid;
 unsigned short st_gid;
 unsigned long st_rdev;
 unsigned long st_size;
 unsigned long st_blksize;
 unsigned long st_blocks;
 unsigned long st_atime;
 unsigned long st_atime_nsec;
 unsigned long st_mtime;
 unsigned long st_mtime_nsec;
 unsigned long st_ctime;
 unsigned long st_ctime_nsec;
 unsigned long __unused4;
 unsigned long __unused5;
};	
Copier après la connexion

linux特有的文件系统_linux系统有几种文件类型_linux典型文件系统类型

linux典型文件系统类型_linux系统有几种文件类型_linux特有的文件系统On peut voir que la fonction statistique stat peut obtenir diverses informations sur le fichier, telles que l'ID du groupe d'utilisateurs, l'ID utilisateur, la taille du fichier et d'autres informations. Le membre st_mode enregistre le type et le mode du fichier (autorisations). Utilisez les macros suivantes pour obtenir le type de fichier :

...
#define S_ISDIR(mode) __S_ISTYPE((mode), __S_IFDIR)
#define S_ISCHR(mode) __S_ISTYPE((mode), __S_IFCHR)
#define S_ISBLK(mode) __S_ISTYPE((mode), __S_IFBLK)
#define S_ISREG(mode) __S_ISTYPE((mode), __S_IFREG)
#ifdef __S_IFIFO
# define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO)
#endif
#ifdef __S_IFLNK
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
#endif
...
Copier après la connexion

linux特有的文件系统_linux系统有几种文件类型_linux典型文件系统类型Exemple de langage C, obtenez le type de fichier Linux

晓得了stat函数和以上几个宏,编撰C语言程序获取文件的类型是便捷的:

#include 
#include 
#include 
#include 
int main(int argc, char* argv[])
{
 if(argc < 2){
 printf("ntusage:");
 printf("ntt%s filepathn", argv[0]);
 return -1;
 }
 struct stat tmp;
 char* res;
 lstat(argv[1], &tmp);
 if(S_ISREG(tmp.st_mode))
 res = "regular";
 else if(S_ISDIR(tmp.st_mode))
 res = "directory";
 else if(S_ISBLK(tmp.st_mode))
 res = "block";
 else if(S_ISLNK(tmp.st_mode))
 res = "link";
 else if(S_ISFIFO(tmp.st_mode))
 res = "fifo";
 else if(S_ISSOCK(tmp.st_mode))
 res = "socket";
 else
 res = "unknown";
 printf("%s : %sn", argv[1], res);
 return 0;
}
Copier après la connexion

以上代码使用了lstat函数,而不是stat函数,它俩的功能是相同的。惟一不同之处在于处理符号链接时,lstat是将该符号链接直接作为文件处理的,而stat函数则是处理该符号链接指向的文件。

linux特有的文件系统_linux系统有几种文件类型_linux典型文件系统类型

编译以上代码,执行之:

# gcc t6.c
# ./a.out 
 usage:
 ./a.out filepath
# ./a.out ../
../ : directory
# ./a.out t.c
t.c : regular
root@lcc:/lccRoot/C/tmp# ./a.out ../
../ : directory
# ./a.out /dev/log
/dev/log : socket
#
Copier après la connexion

linux典型文件系统类型_linux特有的文件系统_linux系统有几种文件类型

程序接收一个参数,并返回该参数的类型。其他几种类型文件的测试留给读者,在这一过程中可以顺便了解一下linux中的文件组成。

欢迎在评论区一起讨论linux文本编辑器,指责。文章都是手打原创,每晚最扼要的介绍C语言、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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1653
14
Tutoriel PHP
1251
29
Tutoriel C#
1224
24
À quoi sert le mieux le Linux? À quoi sert le mieux le Linux? Apr 03, 2025 am 12:11 AM

Linux est mieux utilisé comme gestion de serveurs, systèmes intégrés et environnements de bureau. 1) Dans la gestion des serveurs, Linux est utilisé pour héberger des sites Web, des bases de données et des applications, assurant la stabilité et la fiabilité. 2) Dans les systèmes intégrés, Linux est largement utilisé dans les systèmes électroniques intelligents et automobiles en raison de sa flexibilité et de sa stabilité. 3) Dans l'environnement de bureau, Linux fournit des applications riches et des performances efficaces.

Quels sont les 5 composants de base de Linux? Quels sont les 5 composants de base de Linux? Apr 06, 2025 am 12:05 AM

Les cinq composants de base de Linux sont: 1. Le noyau, gérant les ressources matérielles; 2. La bibliothèque système, fournissant des fonctions et des services; 3. Shell, l'interface pour les utilisateurs pour interagir avec le système; 4. Le système de fichiers, stockant et organisant des données; 5. Applications, en utilisant des ressources système pour implémenter les fonctions.

Quelle est la plus utilisée de Linux? Quelle est la plus utilisée de Linux? Apr 09, 2025 am 12:02 AM

Linux est largement utilisé dans les serveurs, les systèmes intégrés et les environnements de bureau. 1) Dans le domaine du serveur, Linux est devenu un choix idéal pour héberger des sites Web, des bases de données et des applications en raison de sa stabilité et de sa sécurité. 2) Dans les systèmes intégrés, Linux est populaire pour sa personnalisation et son efficacité élevées. 3) Dans l'environnement de bureau, Linux fournit une variété d'environnements de bureau pour répondre aux besoins des différents utilisateurs.

Comment apprendre les bases de Linux? Comment apprendre les bases de Linux? Apr 10, 2025 am 09:32 AM

Les méthodes d'apprentissage Linux de base à partir de zéro incluent: 1. Comprendre le système de fichiers et l'interface de ligne de commande, 2. Master Basic Commandes telles que LS, CD, MKDIR, 3. Apprenez les opérations de fichiers, telles que la création et l'édition de fichiers, 4. Explorer une utilisation avancée telle que les pipelines et les commandes GREP, 5. Master Debugging Skills and Performance Optimimisation, 6. Amélioration continue des compétences par la pratique et l'exploration.

Qu'est-ce qu'un appareil Linux? Qu'est-ce qu'un appareil Linux? Apr 05, 2025 am 12:04 AM

Les périphériques Linux sont des périphériques matériels exécutant des systèmes d'exploitation Linux, y compris des serveurs, des ordinateurs personnels, des smartphones et des systèmes embarqués. Ils profitent de la puissance de Linux pour effectuer diverses tâches telles que l'hébergement de sites Web et l'analyse des mégadonnées.

Internet fonctionne-t-il sur Linux? Internet fonctionne-t-il sur Linux? Apr 14, 2025 am 12:03 AM

Internet ne s'appuie pas sur un seul système d'exploitation, mais Linux joue un rôle important. Linux est largement utilisé dans les serveurs et les appareils réseau et est populaire pour sa stabilité, sa sécurité et son évolutivité.

Quels sont les inconvénients de Linux? Quels sont les inconvénients de Linux? Apr 08, 2025 am 12:01 AM

Les inconvénients de Linux incluent l'expérience utilisateur, la compatibilité des logiciels, la prise en charge matérielle et la courbe d'apprentissage. 1. L'expérience utilisateur n'est pas aussi conviviale que Windows ou MacOS, et elle s'appuie sur l'interface de ligne de commande. 2. La compatibilité logicielle n'est pas aussi bonne que les autres systèmes et manque de versions natives de nombreux logiciels commerciaux. 3. La prise en charge matérielle n'est pas aussi complète que Windows, et les pilotes peuvent être compilés manuellement. 4. La courbe d'apprentissage est raide et la maîtrise des opérations de ligne de commande nécessite du temps et de la patience.

Quelles sont les opérations Linux? Quelles sont les opérations Linux? Apr 13, 2025 am 12:20 AM

Le cœur du système d'exploitation Linux est son interface de ligne de commande, qui peut effectuer diverses opérations via la ligne de commande. 1. Les opérations de fichiers et de répertoires utilisent des commandes LS, CD, MKDIR, RM et d'autres commandes pour gérer les fichiers et les répertoires. 2. La gestion des utilisateurs et des autorisations garantit la sécurité du système et l'allocation des ressources via UserAdd, Passwd, ChMOD et d'autres commandes. 3. La gestion des processus utilise PS, Kill et d'autres commandes pour surveiller et contrôler les processus du système. 4. Les opérations réseau incluent Ping, Ifconfig, SSH et d'autres commandes pour configurer et gérer les connexions réseau. 5. Commandes d'utilisation de surveillance et de maintenance du système telles que TOP, DF, DU pour comprendre l'état de fonctionnement du système et l'utilisation des ressources.

See all articles