Combien de temps peuvent durer les noms de fichiers?


17

Combien de temps peuvent être les noms de fichiers et les noms de dossier dans Ubuntu Linux et quels caractères sont autorisés dans le nom de fichier et le nom de dossier dans Ubuntu Linux?

Réponses:


21

Les noms de fichiers sous Linux faisaient 14 octets de long dans la version antérieure d'Unix. Mais le système Linux moderne a 255 octets pour les noms de fichiers.

Comme un caractère nécessite 1 octet, la longueur devient 255 caractères. Les dossiers sont également traités comme des fichiers dans le système Linux

Voir ce lien pour plus d'informations


2
Les noms de fichiers sont utf-8, donc de longueur variable: un octet pour tout caractère ascii. 2 ou plus pour tout autre caractère, par exemple £, ★, ≠, ☺, ¡, ¿, á,…, etc.
ctrl-alt-delor

1
Si le nom de fichier est en encodage UTF, la quantité de caractères diminue avec un nombre plus élevé d'encodage UTF. Voir serverfault.com/a/542452/363611 et le commentaire ci-dessous qui répondent
Sergiy Kolodyazhnyy

4

Je ne sais pas quelle peut être la longueur maximale du nom de fichier (pour ext4), mais cela dépend plus du système de fichiers que Linux lui-même. Sur FAT32, je pense que c'est 255 caractères. Vous n'avez probablement jamais besoin d'un nom de fichier aussi long.

En ce qui concerne les caractères autorisés, toute valeur d'octet est autorisée sur le système de fichiers ext4, à l'exception de l'octet NULL (et /, comme c'est le séparateur de répertoire 1 ). Cependant, vous devez limiter vos noms de fichiers au jeu de caractères UTF-8, pour la plus large gamme de compatibilité entre les applications et les appareils.

1. Comme indiqué dans le manuel de la glibc , "tout caractère sauf le caractère nul est autorisé dans une chaîne de nom de fichier", mais un /dans la chaîne de nom de fichier sépare le nom d'un fichier ou dossier de celui de son parent.


Je dirais limite à az, AZ et nombres. L'ajout de caractères non alphanumériques implore de trouver des bogues d'analyse d'url
RobotHumans

@ aking1012 Je souhaite utiliser "." et '@' n'est-il pas conseillé.
Gaurav Agarwal du

"." est bien sûr bien. Je n'ai pas vu @ go laineux, mais je suppose que cela pourrait dans certains cas d'angle. Les choses que les analyseurs utilisent comme délimiteurs et ne s'échappent pas correctement sont plus ce à quoi je faisais référence - exemples: espace, /, ", ', etc.
RobotHumans

1
La période .est largement utilisée dans le système lui-même, ce n'est donc pas un problème. Le @devrait également être très bien, je vois les serveurs de messagerie (par exemple exim) avec un répertoire par compte qui contiennent @et ont aucun problème.
Marios Zindilis

1
utiliser un @ est très bien. 2 remarques: SI vous utilisez quelque chose de spécial, vous pouvez toujours échapper au personnage. Sachez également que parfois un caractère est utilisé comme diviseur: par exemple, ssh l'utilise pour séparer l'utilisateur et le système: exemple ceci: user@system:/dir/dir@dir/peut être douteux et non compris).
Rinzwind
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.