Как разделить большой архив «tar» на несколько файлов определенного размера
В этом руководстве мы кратко рассмотрим создание архивных файлов и разделение их на блоки заданного размера. Мы будем использовать tar, одну из самых популярных утилит для архивирования в Linux, а также воспользуемся утилитой split, чтобы разбить наши архивные файлы на мелкие биты.
Рассмотрим, как эти утилиты могут быть использованы. Следующая общая команда tar
и split
выглядит так:
tar options archive-name files
split options file "prefix”
Давайте теперь рассмотрим несколько примеров того, как разделить большой архив.
Пример 1
Мы можем сначала создать файл архива следующим образом:
tar -cvjf home.tar.bz2 /home/username/Documents/*
Чтобы убедиться, что файл архива был создан, а также проверить его размер, мы используем команду ls
:
ls -lh home.tar.bz2
Затем, используя утилиту split
, мы можем разбить файл архива home.tar.bz2
на небольшие блоки размером 100 МБ
следующим образом:
split -b 100M home.tar.bz2 "home.tar.bz2.part"
ls -lh home.tar.bz2.parta*
В приведенной выше команде
split
опция-b
используется для указания размера каждого блока, аhome.tar.bz2.part
является префиксом в имени каждого файла блока, созданного после разделения.
Пример 2
Как и в случае выше, здесь мы можем создать файл архива образа Ubuntu ISO.
tar -cvzf linux-ubuntu-64bit.tar.gz linuxubuntu-64bit.iso
Затем выполните те же шаги в примере 1
, чтобы разделить файл архива на мелкие блоки размером 300 МБ.
ls -lh linux-ubuntu-64bit.tar.gz
split -b 300M linux-ubuntu-64bit.tar.gz "ISO-archive.part"
ls -lh ISO-archive.part*
Пример 3
В этом случае мы можем использовать поток (pipe)
перенаправляя вывода команды tar
для разделения, следующим образом:
tar -cvzf - wget/* | split -b 150M - "downloads-part"
Убедимся в том что разделение прошло успешно:
ls -lh downloads-parta*
В этом последнем примере нам не нужно указывать имя архива, просто используйте
–
знак.
Как соединить файлы после разделения
После успешного разделения файлов tar
в Linux, вы можете соединить файлы с помощью команды cat
. Использование команды cat
является наиболее эффективным и надежным методом выполнения операции соединения.
Чтобы объединить все блоки файла tar
, мы вводим следующую команду:
cat home.tar.bz2.part* > backup.tar.bz2.joined
Мы видим, что после запуска команды cat
, она объединяет все мелкие блоки, которые мы ранее создали, в исходный файл архива tar
того же размера.
Как разархивировать файлы после объединения
Чтобы разархивировать файл после объединения, мы вводим следующую команду:
tar -xvjf backup.tar.bz2.joined -C /home/user/Documents/