Создать TAR или TAR.GZ
Соберите архив в формате, который ждут Linux и macOS, не открывая терминал. Ничего не сохраняется ни на каком этапе.
- Не сохраняется
- Без очереди и ожидания
- Без регистрации и водяных знаков
Как это работает
Добавьте файлы
Сколько угодно, вместе с папками.
Выберите TAR или TAR.GZ
Обычный TAR упаковывает без сжатия. TAR.GZ сжимает всю связку — обычно это то, что нужно.
Скачайте архив
Архив собирается и сразу сохраняется в ваши загрузки.
Почему TAR выигрывает у ZIP в размере и проигрывает в удобстве
TAR не сжимает. Он склеивает файлы в один поток, и перед каждым стоит 512-байтовый заголовок с именем, размером, правами, владельцем и временем изменения, а сжатие — отдельный слой вокруг всего результата. Именно поэтому .tar.gz меньше, чем ZIP тех же файлов: gzip видит один непрерывный поток и использует повторы между файлами, а ZIP сжимает каждый файл отдельно и так не может. Для папки похожих документов или исходного кода разница часто большая.
Расплачиваться приходится на другом конце. Поскольку сжатие охватывает всё, у .tar.gz нет каталога: чтобы показать содержимое, его нужно распаковывать с начала, а чтобы достать последний файл — распаковать целиком. ZIP показывает список мгновенно при любом размере. Какой формат лучше, зависит только от того, будет ли архив распакован целиком, — а резервная копия или релиз исходников распаковываются целиком всегда.
Уже сжатые файлы полностью меняют расчёт. TAR из JPEG, MP4 или PDF почти ничего не выигрывает от gzip, потому что повторы из такого материала уже удалены, — архив весит примерно столько же, сколько всё, что в него вошло. Использовать TAR там всё равно имеет смысл по той же причине, что и ZIP, — отправить один файл вместо многих, — только не ради размера.
Права доступа записываются разумными значениями по умолчанию, а не читаются из ваших файлов, и это честное ограничение. У страницы нет доступа к битам прав, владельцам и символическим ссылкам на вашем диске — она получает только содержимое и имена файлов. Поэтому исполняемый скрипт попадает в архив неисполняемым, а символическую ссылку нельзя записать как ссылку. Для .tar.gz с документами это неважно; для упаковки того, что будут распаковывать и запускать, это вся суть формата — и её здесь нет.
Если нужно другое
Когда важны метаданные — резервная копия, релиз исходников, перенос дерева каталогов между машинами, — правильный инструмент tar -czf archive.tar.gz folder/, и он уже установлен на каждом Mac и Linux, а в Windows — с 2018 года. Он записывает настоящие права, владельцев, символические ссылки и время изменения, пишет прямо на диск без ограничения размера и создаёт именно то, что любой получатель ожидает увидеть в tar-архиве.
Чтобы файл был ещё меньше, меняйте сжатие, а не контейнер: tar -cJf archive.tar.xz folder/ использует xz и обычно даёт заметно меньший файл, чем gzip, ценой времени, а --zstd почти так же компактен и намного быстрее. Оба читаются любой современной Unix-системой. А если получатель на Windows и не разбирается в технике, вежливее отправить обычный ZIP.
Частые вопросы
Что выбрать: TAR или TAR.GZ?
TAR.GZ — почти всегда. Обычный TAR вообще не сжимает, и архив весит столько же, сколько всё его содержимое вместе. Обычный TAR полезен, когда содержимое уже сжато или когда сжатием займётся следующий этап обработки.
Linux примет созданные здесь архивы?
Да, и это проверено, а не предположено: при каждой сборке проверяется, что GNU tar показывает и распаковывает то, что создаёт эта страница, байт в байт. Длинные имена файлов записываются в заголовках POSIX pax — это стандартное расширение, которое bsdtar и 7-Zip в Windows читают без проблем.
Мои файлы где-нибудь сохраняются?
Нет. Архив собирается и сразу сохраняется в ваши загрузки, и после этого ничего не хранится. Здесь это важно: то, что чаще всего нужно заархивировать, — документы, фотографии, папка с рабочими файлами — именно то, что не стоит сначала отдавать на чужой сервер.
Зачем мне это вместо ZIP?
Чаще всего потому, что об этом попросил кто-то другой — сервер, скрипт развёртывания, коллега на Linux. Есть и одно настоящее техническое преимущество: TAR.GZ сжимает связку одним потоком, а не каждый файл отдельно, поэтому при множестве мелких похожих файлов, вроде исходного кода или логов, он часто заметно меньше ZIP. Чтобы отправить один архив одному человеку на Windows, ZIP удобнее.
Есть ли ограничение по размеру?
Ограничение — доступная память, а не фиксированный лимит. Сотни файлов и несколько гигабайт на обычном компьютере — без проблем; телефон справится с меньшим.
Полезно знать: TAR сам по себе ничего не сжимает, поэтому уменьшение размера даёт только gzip — уже сжатые файлы (JPEG, MP4, PDF) почти не уменьшатся. Права доступа к файлам записываются разумными значениями по умолчанию, потому что браузер не может прочитать настоящие с вашего диска.
Разместите этот инструмент на своём сайте
Бесплатно для любого блога, страницы класса или справочной статьи. Вставьте один фрагмент кода — и посетители смогут пользоваться инструментом прямо на вашей странице.