Limite de 21842 fichiers dans un répertoire?

16

Copie de fichiers à l'aide de Fedora 16 depuis EXT2 vers un lecteur NTFS 2 To. Découvert que lors de la copie récursive de répertoires de nombreux fichiers , la copie s'arrête au fichier 21842 dans chaque répertoire ... puis cp -rpasse au répertoire suivant. Aucune erreur n'est donnée.

En recherchant sur le Web, quelqu'un d'autre a signalé ce problème à propos de FAT32 en vain.

Je peux créer bien plus de 21842 fichiers sur le lecteur sur le même système ... ne semble tout simplement pas copier sur ce nombre.

C'est la commande utilisée:

cp -r /media/BAKKER_UPPER/many_files_here/* /media/NEW_NTFS_HOME/ 

Que se passe t-il ici? Comment puis-je récupérer mes fichiers sur le lecteur NTFS?


Je n'atteins pas la limite de fichier supérieure sur le nombre de fichiers dans un répertoire NTFS (illimité). Je ne frappe pas non plus le nombre maximum de fichiers pour le lecteur .. (~ 4 milliards). J'ai également beaucoup de blocs libres sur le disque.

jedierikb
la source
2
Quelle est la commande exacte que vous utilisez?
ott--
2
J'ai le pressentiment que vous rencontrez le problème classique de la "liste d'arguments trop longue". Essayez-vous de copier des fichiers en fonction d'un modèle de nom de fichier? Ou copiez-vous tous les fichiers dans l'arborescence des répertoires?
iglvzx
5
Faites-le sans le caractère générique (ce n'est pas nécessaire de toute façon). L'expansion du shell va transformer ce caractère générique en une chaîne géante de fichiers source qui sera limitée au nombre d'octets que le shell peut accepter comme argument, et donc au nombre de fichiers que vous pouvez copier.
Garrett
2
@Garrett Pourquoi ne postez-vous pas cela comme une réponse car il est fort probable que ce soit la bonne réponse.
Mokubai
1
Fait :) (votes positifs appréciés!)
Garrett

Réponses:

10

Faites-le sans le caractère générique (ce n'est pas nécessaire de toute façon). L'expansion du shell va transformer ce caractère générique en une chaîne géante de fichiers source qui sera limitée au nombre d'octets que le shell peut accepter comme argument, et donc au nombre de fichiers que vous pouvez copier.

Votre nouvelle commande serait donc:

cp -r /media/BAKKER_UPPER/many_files_here/ /media/NEW_NTFS_HOME/ 
Garrett
la source