#1 Le 16/06/2010, à 23:23
- Hibou57
Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Hillo,
Je pose la question dans « Console et terminal », vu que je n’ai pas trouvé de section « Système ».
Voilà, la question : Quelle est la longueur maximale d’un nom de fichier ou d’un chemin sous Debian ou Ubuntu ?
C’est pour s’assurer de la validité de certaines opérations et pour garantir qu’elles n’échoueront pas.
J’ai cherché sur Exalead, Bing et Google, sans trouver.
Marchi les gens
Dernière modification par Hibou57 (Le 16/06/2010, à 23:24)
Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)
Hors ligne
#2 Le 16/06/2010, à 23:34
- kemo006
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Bonsoir,
c'est 255 caractères
Hors ligne
#3 Le 16/06/2010, à 23:44
- Hibou57
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Bonsoir,
c'est 255 caractères
Merci Sir Kemo
C’est noté
Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)
Hors ligne
#4 Le 16/06/2010, à 23:51
- kemo006
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Si ça peut t'amuser comme ça a pu m'amuser, voici une ligne pour générer un pâté de 255 caractères. Il ne reste plus qu'à coller le tout dans le nom d'un nouveau dossier/fichier
echo `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c255`
Dernière modification par kemo006 (Le 16/06/2010, à 23:52)
Hors ligne
#5 Le 19/06/2010, à 10:53
- newborn
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
En fait, c'est le vfs qui limite à 255 caractères.Les systemes de fichiers permettent des choses folles en taille de fichier comme en longueur de noms de fichiers.Seulement, VFS limite à 255 caractères.
Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes
Hors ligne
#6 Le 19/06/2010, à 11:47
- alex2423
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Si ça peut t'amuser comme ça a pu m'amuser, voici une ligne pour générer un pâté de 255 caractères. Il ne reste plus qu'à coller le tout dans le nom d'un nouveau dossier/fichier
echo `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c255`
Hello kemo006 ,
Je connaissais pas /dev/urandom. Cela te permet de générer un nombre aléatoire. J'ai appris aussi il y a quelques minutes qu'il existait la variable $RANDOM. Je pense que ca doit être kif kif bourico
head -c => je ne connaissais que l'option -n. C'est la meme chose sauf que c'est pour récupérer les 255 premiers caractères sur la première lignes.
Par contre, j'ai du mal à comprendre :
tr -dc _A-Z-a-z-0-9, il semblerait que c'est pour supprimer des caractères que tu as mis en parametres.
Hors ligne
#7 Le 19/06/2010, à 12:58
- newborn
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Par contre, j'ai du mal à comprendre :
tr -dc _A-Z-a-z-0-9, il semblerait que c'est pour supprimer des caractères que tu as mis en parametres.
Idem.Habituellement, on indique SET1 et SET2 en sachant que SET1 est remplacé par SET2 par exemple.Je comprends que -d sert à supprimer des caractères mais lesquels ? Les caractères non-imprimables ? Serait-ce cette option qui permet cela, d' où les caractères indiqués.Si tel est le cas, pourquoi ne pas utiliser [[:alnum:]_] ?
Merci de m'éclairer
Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes
Hors ligne
#8 Le 19/06/2010, à 13:17
- alex2423
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Je viens de reregarder le man de tr.
Le 2ème argument SET2 est bien entre croché, donc facultatif.
SYNOPSIS
tr [OPTION]... SET1 [SET2]
Si on regarde l'option -d plus en détail, il s'agirait de supprimer tous les caractères de l'arguments SET1
-d, --delete
delete characters in SET1, do not translate
il n'y aurait pas de translation, de remplacement.
Je n'avais pas tilter, l'argument SET1 de kemo006 doit etre en effet une expression régulière qui se traduit par tous les caractères alpha numérique.
Je dirais qu'au contraire que ce serait pour supprimer tous les lettres ainsi que les chiffres mais je ne comprends pas pourquoi supprimer ces caractères ...
.Si tel est le cas, pourquoi ne pas utiliser [[:alnum:]_] ?
C'est une véritable plaie ces raccourcies qu'il faut apprendre. En plus, cela change en fonction du language (perl, javascript, PHP, ....) , environnement.C'est parfois plus compréhensible d'utiliser la méthode longue d'une regex
Dernière modification par alex2423 (Le 19/06/2010, à 13:20)
Hors ligne
#9 Le 19/06/2010, à 13:35
- kemo006
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
C'est aussi une solution. Dans les faits, -d permet de nous épargner les caractères non pris en charge. En aucun cas, -d n'atteint les suites de caractères qui suivent.
Au contraire, "A-Z-a-z-0-9" permet de générer une suite compris entre les ordres renseignés (de A majuscule à Z majuscule, etc.).
PS : -d supprime les caractères en SET1 mais -c donne une valeur 1 à tout ce qui se compose SET1.
PS1 : essayer par vous-même la commande sans -d, vous obtiendrez un message d'erreur qui vous alerte du manque de SET2.
Dernière modification par kemo006 (Le 19/06/2010, à 13:51)
Hors ligne
#10 Le 24/06/2010, à 19:55
- HP
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Bonsoir,
c'est 255 caractères
J'ai un gros doute, essaie çà :
grep -r '#define PATH_MAX' /usr/include/
ma préférence allant à limits.h qui dit :
#define PATH_MAX 4096 /* # chars in a path name including nul */
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#11 Le 24/06/2010, à 21:06
- alex2423
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
whaaaaou la limite est presque plus importante que sous Windows. Épatant !!!
Hors ligne
#12 Le 24/06/2010, à 23:25
- HP
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
/usr/include/linux/limits.h
#ifndef _LINUX_LIMITS_H
#define _LINUX_LIMITS_H
#define NR_OPEN 1024
#define NGROUPS_MAX 65536 /* supplemental group IDs are available */
#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
#define LINK_MAX 127 /* # links a file may have */
#define MAX_CANON 255 /* size of the canonical input queue */
#define MAX_INPUT 255 /* size of the type-ahead buffer */
#define NAME_MAX 255 /* # chars in a file name */
#define PATH_MAX 4096 /* # chars in a path name including nul */
#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */
#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */
#define RTSIG_MAX 32
#endif
Voilà… y a tout…
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#13 Le 29/06/2010, à 10:14
- newborn
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
@ HP : J' ai un gros doute.Je crois que tu confond les limites du noyaux lui-même et celle du VFS
Dernière modification par newborn (Le 29/06/2010, à 10:27)
Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes
Hors ligne
#14 Le 29/06/2010, à 11:01
- HP
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
Le VFS il a un include.h quelque part ?
N'est il pas censé respecter les limites du Kernel, voire les étendre de par l'abstraction ?
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#15 Le 29/06/2010, à 22:20
- newborn
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
je ne saurais trop quoi te dire.J' ai potassé un bouquin sur lequel il etait justement indiqué que la limte des 255 caractères provenait du VFS (cf: Préparation à la certification Linux LPIC-1 chapitre Les disques et les systemes de fichier).
il semble que ce soit la limite imposée.D'ailleurs la sortie du code que tu as posté plus haut l' indique bien.
#define NAME_MAX 255 /* # chars in a file name */
De plus, Le VFS "s' adapte" au filesystem dans le sens ou il ne peut pas exceder ses capacités.Ent tout cas, c' est bien ce que j' ai cru comprendre, mais je peux me tromper.
Le VFS est implémenté dans plusieurs fichiers apperemment.Voici un lien qui à l' air de bien expliquer tout ça :http://people.clarkson.edu/~jnm/os/labs … 07-vfs.pdf
Celui-ci est assez pointu aussi :
http://cochoy-jeremy.developpez.com/art … tem-linux/
Cordialement.
Dernière modification par newborn (Le 29/06/2010, à 22:23)
Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes
Hors ligne
#16 Le 08/07/2010, à 22:24
- funkalee
Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian
je me suis posé la même question il y a peu voici la conclusion
http://forum.ubuntu-fr.org/viewtopic.php?id=387192
Hors ligne