![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| AIX Forum d'entraide sur le système AIX. Avant de poster -> FAQ AIX et cours AIX |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre habitué
![]() |
Bonjour à toutes et à tous.
J'ai un petit problème sous la forme d'un répertoire trop rempli qui a pour conséquence que la commande ls ne passe plus. Existe-t-il une autre façon dans ce genre de cas de lister le contenu d'un répertoire contenant autant de fichiers ? Merci d'avance. Cdt. Bahan |
|
|
|
|
|
#4 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2007
Localisation: Toulouse
Messages: 471
|
Dans ce cas, tu dois passer par la commande find
Equivalent ls : find . -printEquivalent ls -l : find . -ls
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
|
|
|
|
|
#5 (permalink) | |
|
Membre Expert
![]() Date d'inscription: juillet 2006
Localisation: toulouse
Messages: 1 474
|
Citation:
mais ça ne devrai jamais arrivé....un grand menage d'été s'impose donc. |
|
|
|
|
|
|
#9 (permalink) |
|
Membre Expert
![]() Date d'inscription: juillet 2006
Localisation: toulouse
Messages: 1 474
|
apres avoir tester un volume volontairement saturé de fichiers bidons une boucle de Code :
dd if=/dev/full of=/tmp/lv02/test/$(date +"%Y%m%d%H%M") count=1 donc à se souvenir : ne pas confondre arguments de ligne de commande et arguments remontés/analysés par une commande. |
|
|
|
|
|
#10 (permalink) | |||
|
Membre éprouvé
![]() Date d'inscription: juin 2007
Localisation: Paris
Messages: 403
|
Citation:
J'ai du mal à y croire. Je viens de créer pour voir 192000 fichiers dans un répertoire et "ls" s'en sort bien. "ls *" prends pas mal de temps puis me sort le "arg list too long" attendu. Code :
m3:/t/bigdir $ ls | wc -l 192000 m3:/t/bigdir $ ls * >/dev/null ksh93: ls: /usr/bin/ls: cannot execute[Liste d'arguments trop longue] Citation:
Citation:
Le message d'erreur est donc pour moi lui-même erroné s'il apparait avec la commande simple "ls". "arg list" a toujours représenté sous Unix les arguments passés à une commande et "arg list too long" est le message remonté par le shell quand l'expansion des arguments sature la pile dans laquelle est stockée l'environnement (argv, envp) ce qui provoque une erreur "E2BIG". L'exécution de la commande ls sans arguments n'a donc pour moi aucune raison de remonter ce message. |
|||
|
|
|
|
|
#11 (permalink) |
|
Membre Expert
![]() Date d'inscription: juillet 2006
Localisation: toulouse
Messages: 1 474
|
Code :
J'ai du mal à y croire. Je viens de créer pour voir 192000 fichiers dans un répertoire et "ls" s'en sort bien. "ls *" prends pas mal de temps puis me sort le "arg list too long" attendu. non c'est pas un bug c'est la limitation normale et ceci n'est pas spécifique à AIX c'est aussi le cas pour n'importe quel unix mais à des niveaux differents tru64 par exemple y est très sensible... |
|
|
|
|
|
#12 (permalink) | |
|
Membre éprouvé
![]() Date d'inscription: juin 2007
Localisation: Paris
Messages: 403
|
Citation:
Quand je ne passe pas d'arguments à ls, je n'ai pas ce message. Quand je passe l'argument "*" que le shell tente d'étendre oui. Je pense qu'on est d'accord la dessus. |
|
|
|
|
![]() |
![]() |
||
[AIX] Palliatif à ls sur répertoire bien rempli
|
||
| Outils de la discussion | |
|
|