Est-ce que quelqu'un peut-être une bonne source où toutes les opérations de fichiers disponibles comme fopen, fread, mkdir, etc sont décrites? Quand je googleing pour des opérations de dossier de Linux la plupart des pages m'expliquent comment la hiérarchie de système de fichiers ressemble.Linux: Support des opérations de fichiers
Répondre
Oui - utilisez les pages de manuel. man fopen
, man fread
, man mkdir
, etc., décrira l'utilisation de ces fonctions. De nombreuses pages man ont aussi une section "Voir aussi" qui vous dirigera vers les pages man de fonctions connexes, un peu comme un Wikipédia primitif. :)
Merci, mais je voudrais avoir une vue d'ensemble sur toutes les fonctions existantes du système de fichiers Linux comme fopen, fread, mkdir, chown etc –
Je ne sais pas si cela aide, mais cela est directement de la source du noyau:
struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, struct poll_table_struct *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*flush) (struct file *);
int (*release) (struct inode *, struct file *);
int (*fsync) (struct file *, struct dentry *, int datasync);
int (*fasync) (int, struct file *, int);
int (*lock) (struct file *, int, struct file_lock *);
ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
};
généralement tous les systèmes de fichiers registre leurs mises en œuvre à ces callbacks.
Cela semble très intéressant, merci pour cela! –
Ceux-ci sont de niveau inférieur que vous voudrez souvent. Certaines de ces fonctions ne semblent pas accessibles depuis l'utilisateur, et en tant que développeur d'utilisateur, vous utiliserez souvent des fonctions comme fopen et fread qui sont implémentées dans libc plutôt que dans le noyau. –
Oui, probablement un peu emporté. Mais au moins, il contribue à la réponse dans une certaine mesure :) –
Les fonctions que vous demandez au sujet en fait tomber dans plusieurs catégories - flux de fichiers I/O (fopen
, fread
, etc.), le descripteur de fichier de niveau inférieur E/S (open
, read
, etc.), et le système de fichiers/manipulation de répertoire (chown
, mkdir
, etc.).
Pour un aperçu des fonctions d'E/S du flux de fichiers, voir man stdio
.
Pour effectuer une recherche sur Google, essayez "posix file api" au lieu de "opérations de fichier linux".
Vous pouvez également consulter le GNU C Libary Manual:
+1 pour le conseil sur 'man stdio', que je ne connaissais pas. – mipadi
ni moi-même. –
utilisation man 2 open
et man 2 mkdir
. au bas de ces pages man sont le nom de la commande associée.
Alternativement, si vous recherchez une version browseable de ces pages de manuel, vous pouvez essayer here
Il a plusieurs API d'opérations de fichiers sur différents niveaux de la pile, par exemple POSIX API, Standard C AP I, Linux VFS API (comme Jeremy mentionné), et le FUSE API. Toutes les API font plus ou moins la même chose, mais les détails sont très différents.
- fopen et fread font partie des opérations de fichier standard C (flux). Liens: GNU Documentation
- mkdir est membre de l'API du fichier POSIX. Liens: OpenGroup Definition, GNU Documentation
Ces deux API sont les plus importantes pour l'utilisateur normal.
Un bon livre sur le sujet est "Advanced Programming in the UNIX Environment" par Stevens et Rago
- 1. Opérations sur les fichiers
- 2. Qu'est-ce qu'un bon langage de script pour les opérations de base des fichiers?
- 3. Opérations sur les fichiers SQL Server?
- 4. commande SQL des opérations
- 5. Enregistrer des extensions de fichiers/types mime sous Linux
- 6. J'effectue des opérations de fichiers avec des adresses 64 bits en C + MinGW32
- 7. Création de fichiers exécutables sous Linux
- 8. cross support Unicode support
- 9. Opérations atomiques portatives UNIX
- 10. booléenne Expression - Ordre des opérations
- 11. Traçage des opérations de registre en C#
- 12. Personnalisation des opérations de données dynamiques ASP.NET
- 13. Test des opérations CRUD de NHibernate
- 14. Augmentation du nombre de descripteurs de fichiers sous Linux
- 15. Utilitaire Windows pour trouver des numéros et faire des opérations?
- 16. Support YUI des langages rtl
- 17. Can QT Creator sur linux crée des fichiers .exe
- 18. Problèmes avec linux Imagemagick convertit des fichiers PDF en JPG
- 19. comment puis-je empaqueter des fichiers de support dans une application de cacao
- 20. Fichiers objets dans un exécutable sous Linux
- 21. Ordre des opérations utilisant Object Initializer Syntaxe
- 22. Shift opérations
- 23. Jquery: Faire des opérations sur les chaînes
- 24. Quand utiliser des opérations asynchrones dans asio
- 25. Linux pour compiler plusieurs fichiers Java
- 26. Algorithmes de recherche de fichiers utilisant l'indexation dans linux
- 27. Support Flash dans Android
- 28. Convention de support Python
- 29. système de fichiers en-tête et linux modifié en dernier
- 30. Comment générer des captures vidéo de fichiers vidéo via la ligne de commande linux
appel linux ou unix système est différent de la fonction Stio. Qu'est-ce que vous cherchez?ouvrir, fermer, dissocier, écrire etc ... ou fopen, fwrite, fread etc ...? – shodanex