Назад | Перейти на главную страницу

Linux как переместить большой файл?

У меня был файл ISO размером более 4 ГБ. Когда я пытался скопировать или переместить файл со своего компьютера на USB-накопитель, я помню, что получил некоторую ошибку о том, что файл слишком велик для перемещения операционной системы.

Итак, я выполнил эту команду, чтобы tar разбил ее на disk1.tar и disk2.tar:

tar -c -M --tape-length=2002400 --file=disk1.tar bigfile.iso

После этого я скопировал файл на USB. Теперь, когда я пытаюсь собрать файл, я выполнил команду:

tar -x -M --file=disk1.tar

Но я получаю ошибку

tar: Archive value 4209604608 is out of off_t range 0..2147483647
tar: Exiting with failure status due to previous errors

Итак, мой вопрос: как переместить большой файл с компьютера на USB-накопитель? Я даже попробовал SFTP-файл с одного сервера на другой, и он также пожаловался на то, что файл слишком велик.

Не уверен, что вы можете переформатировать USB-ключ, но если можете, вы сможете поместить его туда, не разделяя файл. Скорее всего, ошибка возникла из-за того, что USB-ключ был отформатирован в FAT32, максимальный размер файла которого составляет 2 ГБ. Если вы отформатируете его с помощью ext3 или ext4, вы сможете записать весь файл целиком.

Если у вас есть сетевое соединение, просто используйте ssh pipe.

ssh user@host "cat > file.remote" < file.local

Если вам нужно разделить файл для мультимедиа, используйте split разбить это и cat чтобы снова соединить его.

split -b 1G file.local filexfer
cat filexfer* > file.remote

Обратите внимание: все это предполагает, что удаленная файловая система действительно способна хранить файлы такого размера.