Если я выполню следующую команду:
cp -R /myfiles /mydestination
Если myfiles
содержит несколько подкаталогов и файлов, в каком порядке они будут скопированы?
Например, каталоги могут быть названы 0123a, 9993c, myfolder, xfolder
.
ls
Насколько я могу судить, они не копируются в алфавитном порядке ИЛИ в порядке дат ИЛИ в том порядке, в котором они появляются при использовании стандартной команды, так что же определяет порядок?
Изменить: я пытаюсь определить порядок, который команда cp использует, чтобы определить, как далеко моя команда копирования сделала это, прежде чем она остановилась. Например, я надеялся, что смогу определить, успешно ли скопированы 3 из 4 каталогов.
linux
file-transfer
Скотт Шреттер
источник
источник
ls
команда по умолчанию сортирует содержимое каталога перед его отображением. То, что вы видите напечатанным,ls
не является действительным порядком перечисления каталога.ls -U
чтобы получить несортированный порядок каталогов. Это должен быть порядок, которыйcp
использует. Если вам нужно больше контролировать прогресс, порядок и т. Д., Возможно,cp
это не инструмент для работы.Ответы:
Порядок, в котором они хранятся / возвращаются в файловой системе. Для «несортированных» файловых систем это обычно будет порядок их создания. Для «отсортированных» файловых систем (например, ext3 / 4 с
dir_index
) это будет порядок, используемый в индексе файловой системы.источник
У нас была точно такая же проблема. Мы копируем большие объемы данных на USB-накопители и с них, и это раздражает, когда мы не можем сказать, как далеко прошел этот процесс. Вместо этого мы начали использовать RSYNC.
Вместо того, чтобы использовать
cp -Rv /source /destination
Используйте это вместо
rsync -av /source /destination
Теперь все ваши папки и их содержимое будут обрабатываться в алфавитном порядке, и вы сможете легко увидеть, как идет процесс копирования файла.
У нас есть полное описание этого решения на нашем сайте резервного копирования онлайн .
Модераторы, обратите внимание: я опубликовал это однажды, но оно было удалено, возможно, из-за того, что я не включил достаточно подробностей в ответ, или из-за ссылки. Может быть, вы примете этот более подробный ответ.
источник