Копировать папки, сохраняя их размер !!отредактировано

Вопрос или проблема

Я начинаю использовать Ubuntu (вместо Windows) и привык копировать и перемещать файлы/папки, проверяя правильность копирования по сравнению размеров файлов (в байтах). Если они совпадают, я знаю, что копия хорошая.

Теперь в Ubuntu я не вижу этого. После копирования файлы/папки имеют разные размеры. Я выяснил, что это нормальное поведение и разница в размере, скорее всего, вызвана метаданными или другими причинами. Это ставит меня в тупик, как можно определить, что копия хорошая, если её размер отличается?

Так что мой вопрос следующий:
Можно ли сделать копию папки в Ubuntu так, чтобы она была точно такого же размера, как оригинал, включая метаданные? Если да, то как это сделать?

С уважением, Дэн

Редактирование: Это с использованием команды “files” для запуска проводника файлов, который, как я полагаю, называется Dolphin. Результаты отображаются в столбце “размер”, который показывает “размер на диске” или количество элементов в папке. Я хотел бы видеть “фактический размер файла”, как в Windows. Есть ли в Ubuntu программа, которая показывает это в своем графическом интерфейсе?

Ответ или решение

Понимание разницы между операционными системами и их поведением при копировании и проверке данных может помочь в переходе от Windows к Ubuntu. В Windows часто используется метод проверки копирования файла по совпадению его размера в байтах. Однако в Ubuntu это может вызывать некоторое недоразумение, так как размер на диске может отличаться из-за различных особенностей файловой системы и хранения метаданных. Давайте разберем это подробно и постараемся найти решение, как добиться идентичности копирования.

Теория

В каждой операционной системе файлы сохраняются и обрабатываются по-разному. В Windows и Ubuntu могут использоваться различные файловые системы: NTFS в Windows и, например, ext4 в Ubuntu. Разные файловые системы могут иметь разную структуру хранения данных, что влияет на отображение размера на диске.

Разберем ключевые моменты:

  1. Файловая система: NTFS и ext4 имеют отличия в хранении файлов и метаданных. В ext4, размер на диске может включать в себя данные о блоках и индексных дескрипторах, что иногда приводит к разнице в отображаемых размерах при копировании.

  2. Метаданные: Метаданные содержат информацию о файле, такую как права доступа, временные метки и идентификаторы. Эти данные могут быть включены в отчет о размере на диске.

  3. Фрагментация: Различия в выделении блоков и фрагментации файлов также могут повлиять на размер.

Пример

Представьте, что вы скопировали папку с несколькими файлами и заглянули в колонку "размер на диске" в приложении Dolphin:

  • Исходная папка: 10 файлов, 10 МБ
  • Копия папки: 10 файлов, 10,5 МБ

На поверхности кажется, что копия заняла больше места из-за форматирования блока данных или особенностей метаданных, добавленных ext4. Размеры файлов могут показываться немного иначе из-за способа учета этих данных.

Применение

Чтобы удостовериться в корректности копирования файлов в Ubuntu и более точно проверить размеры, вы можете использовать команду rsync, которая предоставляет дополнительные инструменты для проверки точности копирования.

Использование команды rsync

rsync позволяет синхронизировать файлы и директории, одновременно проверяя их целостность:

rsync -aHAXv --progress оригинальная_директория/ копия_директория/

Вот что означают ключи:

  • -a: Режим архивирования, который сохраняет символьные ссылки, права, владельцев, группы и временные метки.
  • -H: Сохраняет жесткие ссылки.
  • -A: Сохраняет информацию о владельце ACL (Access Control Lists).
  • -X: Сохраняет атрибуты, специфичные для файлов.
  • -v: Выводит дополнительную информацию о процессе копирования.
  • --progress: Показывает прогресс копирования.

Проверка целостности

После выполнения команды rsync, вы можете использовать diff или rsync в режиме проверки:

rsync -cni оригинальная_директория/ копия_директория/

Ключи:

  • -c: Проверяет совпадение данных по контрольной сумме.
  • -n: Режим имитации (т.е., не вносит изменений).
  • -i: Выводит список различий.

Если вывод не показывает различий, значит данные успешно скопированы.

Другие инструменты

  1. QDirStat: Позволяет визуализировать диск и видит фактический размер файла.
  2. Baidu Disk Analyzer: Альтернатива для анализа размера файлов в GUI.

Для более надежной проверки копирования и хранения данных, вы можете настроить исполняемые скрипты, использующие rsync с проверяющими функциями. Так вы сможете автоматизировать процесс проверки после каждого копирования.

Переход с одной операционной системы на другую требует некоторого времени на адаптацию и освоение новых инструментов. Однако, с правильными командами и подходами, такими как использование rsync, вы сможете избежать проблем с копиями и убедиться в целостности файлов.

Оцените материал
Добавить комментарий

Капча загружается...