


Explorez les types de fichiers dans les systèmes Linux : fichiers ordinaires, répertoires et fichiers spéciaux
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.
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 :
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; };
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 ...
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; }
以上代码使用了lstat函数,而不是stat函数,它俩的功能是相同的。惟一不同之处在于处理符号链接时,lstat是将该符号链接直接作为文件处理的,而stat函数则是处理该符号链接指向的文件。
编译以上代码,执行之:
# 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 #
程序接收一个参数,并返回该参数的类型。其他几种类型文件的测试留给读者,在这一过程中可以顺便了解一下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!

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











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.

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.

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.

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.

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 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é.

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.

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.
