Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix > AIX
AIX Forum d'entraide sur le système AIX. Avant de poster -> FAQ AIX et cours AIX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2007, 10h12   #1
Membre du Club
 
Avatar de Bahan
 
Inscription : avril 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : avril 2006
Messages : 147
Points : 54
Points : 54
Envoyer un message via MSN à Bahan
Par défaut [AIX] Palliatif à ls sur répertoire bien rempli

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
Bahan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 15h18   #2
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 968
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 968
Points : 1 375
Points : 1 375
Peut-être:
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 15h57   #3
Membre chevronné
 
Avatar de f-k-z
 
Homme K-Z. F.
Ingénieur sécurité
Inscription : juin 2006
Messages : 393
Détails du profil
Informations personnelles :
Nom : Homme K-Z. F.
Âge : 27
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur sécurité
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2006
Messages : 393
Points : 675
Points : 675
Yop,
avec la commande:
@++

F-k-z
__________________
GNU/Linux c'est une question de VI ou de MORE.
http://www.goodbye-microsoft.com
"Linux is user friendly, its just very selective of its friends*", m'enfou, je suis son pote :p

Un post vous est utile ou est constructif, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile :p )
Le tag et la ne sont pas fait que pour le décor, pensez-y !
R.I.P. F-k-z 13/06/2006 - 12/10/2011
*Linux est convivial, il est juste très sélectifs pour ses amis.
f-k-z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 20h33   #4
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Dans ce cas, tu dois passer par la commande find

Equivalent ls :
find . -print
ou
find .
Equivalent 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.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 05h50   #5
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
Citation:
Envoyé par Bahan Voir le message
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
find . -ls est la methode la plus propre
mais ça ne devrai jamais arrivé....un grand menage d'été s'impose donc.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 08h33   #6
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 968
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 968
Points : 1 375
Points : 1 375
As-tu un message d'erreur avec ls ?
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 06h57   #7
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
Citation:
Envoyé par jlliagre Voir le message
As-tu un message d'erreur avec ls ?
je suppose qu'il a le message "arg list too long"
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 08h24   #8
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 968
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 968
Points : 1 375
Points : 1 375
Sans lui passer d'arguments ?
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 18h38   #9
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
Citation:
Envoyé par jlliagre Voir le message
Sans lui passer d'arguments ?

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
que ce soit ls ou ls -lrth c'est "arg list too long" qui remontra
donc à se souvenir :

ne pas confondre arguments de ligne de commande et arguments remontés/analysés par une commande.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 02h02   #10
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 968
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 968
Points : 1 375
Points : 1 375
Citation:
Envoyé par frp31 Voir le message
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
Hmmm, tu es sûr ?
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 :
1
2
3
4
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:
que ce soit ls ou ls -lrth c'est "arg list too long" qui remontra
Pas chez moi, mais je n'utilise pas AIX. C'est un bug spécifique à AIX ?
Citation:
donc à se souvenir :

ne pas confondre arguments de ligne de commande et arguments remontés/analysés par une commande.
Analysés, je veux bien mais les valeurs retournées par une commande ne sont pas des arguments, sauf imbrication de commandes.
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.
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 06h42   #11
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
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.
du mal a y croire ? pourtant comme tu viens de le prouver toi meme avec ton essai tu es dans le meme cas !


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...
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 08h47   #12
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 968
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 968
Points : 1 375
Points : 1 375
Citation:
Envoyé par frp31 Voir le message
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.
du mal a y croire ? pourtant comme tu viens de le prouver toi meme avec ton essai tu es dans le meme cas !
Tu as mal lu ma réponse. Tu as écrit que "ls" sans arguments peut générer un "arg list too long".

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.
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 16h06   #13
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
ah oui bien sur

pas reveillé moi ....
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h01.


 
 
 
 
Partenaires

Hébergement Web