Limit 21842 plików w katalogu?

16

Kopiowanie plików przy użyciu Fedory 16 z EXT2 na dysk NTFS 2TB. Odkryto, że podczas rekurencyjnego kopiowania katalogów wielu plików , kopiowanie zatrzymuje się na pliku 21842 w ​​każdym katalogu ... a następnie cp -rprzechodzi do następnego katalogu. Nie podano błędu.

Przeszukując Internet, znalazłem kogoś innego zgłaszającego ten problem dotyczący FAT32 bezskutecznie.

Mogę utworzyć ponad 21842 plików na dysku w tym samym systemie ... po prostu nie mogę skopiować tego numeru.

To jest używane polecenie:

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

Co tu się dzieje? Jak mogę przenieść moje pliki na dysk NTFS?


Nie przekraczam górnego limitu liczby plików w katalogu NTFS (nieograniczony). Nie uderzam też w maksymalną liczbę plików na dysku .. (~ 4 miliardy). Mam też wiele wolnych bloków na dysku.

jedierikb
źródło
2
Jakiego dokładnie polecenia używasz?
ott--
2
Mam przeczucie, że napotykasz klasyczny problem „zbyt długiej listy argumentów”. Czy próbujesz skopiować pliki na podstawie wzorca nazwy pliku? A może kopiujesz wszystkie pliki z drzewa katalogów?
iglvzx
5
Zrób to bez znaku wieloznacznego (i tak nie jest potrzebny). Rozszerzenie powłoki zamieni tę symbol wieloznaczny w gigantyczny ciąg plików źródłowych, który będzie ograniczony do liczby bajtów, które powłoka może zaakceptować jako argument, a tym samym do liczby plików, które można skopiować.
Garrett,
2
@Garrett Dlaczego nie opublikujesz tego jako odpowiedzi, ponieważ prawdopodobnie jest to prawidłowa odpowiedź.
Mokubai
1
Gotowe :) (doceniono głosowanie!)
Garrett

Odpowiedzi:

10

Zrób to bez znaku wieloznacznego (i tak nie jest potrzebny). Rozszerzenie powłoki zamieni tę symbol wieloznaczny w gigantyczny ciąg plików źródłowych, który będzie ograniczony do liczby bajtów, które powłoka może zaakceptować jako argument, a tym samym do liczby plików, które można skopiować.

Zatem twoim nowym poleceniem byłoby:

cp -r /media/BAKKER_UPPER/many_files_here/ /media/NEW_NTFS_HOME/ 
Garrett
źródło