Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 17/06/2010, à 00: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 17/06/2010, à 00: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 17/06/2010, à 00:34

kemo006

Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian

Bonsoir,

c'est 255 caractères wink

Hors ligne

#3 Le 17/06/2010, à 00:44

Hibou57

Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian

kemo006 a écrit :

Bonsoir,

c'est 255 caractères wink

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 17/06/2010, à 00: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 tongue

echo `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c255`

Dernière modification par kemo006 (Le 17/06/2010, à 00:52)

Hors ligne

#5 Le 19/06/2010, à 11: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, à 12:47

alex2423

Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian

kemo006 a écrit :

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 tongue

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, à 13:58

newborn

Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian

alex2423 a écrit :

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 wink


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, à 14: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 ...

newborn a écrit :

.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, à 14:20)

Hors ligne

#9 Le 19/06/2010, à 14: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, à 14:51)

Hors ligne

#10 Le 24/06/2010, à 20:55

HP

Re : Longueur maximum d’un nom de fichier ou d’un chemin sous Debian

kemo006 a écrit :

Bonsoir,

c'est 255 caractères wink

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 */

Hors ligne

#11 Le 24/06/2010, à 22: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 !!! whistle.gif

Hors ligne

#12 Le 25/06/2010, à 00: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…

Hors ligne

#13 Le 29/06/2010, à 11: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, à 11: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, à 12: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 ?

Hors ligne

#15 Le 29/06/2010, à 23: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, à 23: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, à 23: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

Haut de page ↑