Краткий ответ:
Не обязательно. Это может быть только другой размер кластера между устройствами.
Еще несколько слов:
Когда вы копируете файл с устройства на другое (с жесткого диска на другое), вы должны учитывать даже различные размеры кластеров. Не вдаваясь слишком глубоко в зоопарк типа файловой системы , достаточно сказать, что раздел организован как арифметическая тетрадь, байты сгруппированы по секторам аналогично тому, как в тетради вы можете сказать, что квадраты сгруппированы по страницам. Индекс свободного и использованного пространства (FAT) составлен с учетом только этих групп. Секторы могут быть либо свободными, либо полными, tertium non datur.
Таким образом, файл имеет размер для используемых используемых байтов (если это текстовый файл и содержит только слово « Привет », это будет 2 байта), и размер для пространства, используемого на устройстве (если сектор имеет размер 4 КБ, он будет быть кратным 4 КБ, если на другом устройстве сектор имеет 512 байт, он будет кратным 512 Б).
С другой стороны, возможно, что при копировании большого количества файлов у вас могут возникнуть ошибки при операциях записи или чтения, у вас может не быть доступа к какому-либо файлу, или в то же время может быть удален какой-либо файл, если операция длинная и файл временный.
Обычно об этом сообщает программа, которую вы используете, с каким-либо сообщением об ошибке и кодом завершения ошибки. Например, в Linux вы можете поймать код выхода, написав в оболочке echo $?
, Если он возвращает значение, отличное от 0, это означает ошибку. Если вы не поймали эти сообщения заранее, вы должны проверить это задним числом.
После этого вы скопировали большое количество файлов, которые вы можете быстро проверить, совпадают ли количество файлов и общее количество действующих байт. Более эффективную проверку можно выполнить, вычисляя и сравнивая сумму md5 для каждого файла в обеих копиях. Если это совпадение, все содержимое в порядке. Меньше всего вы можете проверить разрешение и дату.
Часто удобно полагаться на такие инструменты, как rsync
для Linux, robocopy
для Windows или один из многих других доступных инструментов.