Limit von 21842 Dateien in einem Verzeichnis?

16

Kopieren von Dateien mit Fedora 16 von EXT2 auf ein NTFS 2 TB-Laufwerk. Beim rekursiven Kopieren von Verzeichnissen vieler Dateien wurde festgestellt, dass das Kopieren bei Datei 21842 in jedem Verzeichnis stoppt und dann cp -rzum nächsten Verzeichnis übergeht . Es wird kein Fehler angegeben.

Beim Durchsuchen des Webs wurde eine andere Person gefunden , die dieses Problem mit FAT32 ohne Erfolg meldet .

Ich kann weit über 21842 Dateien auf dem Laufwerk auf dem gleichen System erstellen ... kann einfach nicht über diese Nummer zu kopieren scheinen.

Dies ist der Befehl, der verwendet wird:

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

Was ist denn hier los? Wie bringe ich meine Dateien auf das NTFS-Laufwerk?


Ich überschreite nicht die Obergrenze für die Anzahl der Dateien in einem NTFS-Verzeichnis (unbegrenzt). Ich habe auch nicht die maximale Anzahl von Dateien für das Laufwerk erreicht (~ 4 Milliarden). Ich habe auch noch viele freie Blöcke auf der Festplatte.

jedierikb
quelle
2
Was ist der genaue Befehl, den Sie verwenden?
ott--
2
Ich habe die Vermutung, dass Sie auf die klassische "Argumentliste zu lang" stoßen. Versuchen Sie, Dateien basierend auf einem Dateinamenmuster zu kopieren? Oder kopieren Sie alle Dateien im Verzeichnisbaum?
Iglvzx
5
Mach es ohne die Wildcard (es wird sowieso nicht benötigt). Die Shell-Erweiterung wird diesen Platzhalter in eine riesige Folge von Quelldateien verwandeln, die auf die Anzahl der Bytes begrenzt ist, die die Shell als Argument akzeptieren kann, und somit auf die Anzahl der Dateien, die Sie kopieren können.
Garrett
2
@ Garrett Warum postest du das nicht als Antwort, da es mit ziemlicher Wahrscheinlichkeit die richtige Antwort ist?
Mokubai
1
Fertig :) (Upvotes geschätzt!)
Garrett

Antworten:

10

Mach es ohne die Wildcard (es wird sowieso nicht benötigt). Die Shell-Erweiterung wird diesen Platzhalter in eine riesige Folge von Quelldateien verwandeln, die auf die Anzahl der Bytes begrenzt ist, die die Shell als Argument akzeptieren kann, und somit auf die Anzahl der Dateien, die Sie kopieren können.

Ihr neuer Befehl wäre also:

cp -r /media/BAKKER_UPPER/many_files_here/ /media/NEW_NTFS_HOME/ 
Garrett
quelle