- Команда Gzip в Linux
- Синтаксис команды gzip
- Сжатие файлов с помощью gzip
- Сохраните исходный файл
- Подробный вывод
- Сжать несколько файлов
- Сжать все файлы в каталоге
- Измените уровень сжатия
- Стандартный ввод
- Распаковка файлов с помощью gzip
- Сохраните сжатый файл
- Распаковать несколько файлов
- Распаковать все файлы в каталоге
- Список содержимого сжатого файла
- Выводы
- Как разархивировать многочастный (составной) ZIP на Linux?
- массовая распаковка zip .нужна помощь.
- unixforum.org
- Распаковать множество архивов *.tar.gz (В папке больше 30 архивов. как все одним махом распаковать?)
- Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Re: Распаковать множество архивов *.tar.gz
- Как распаковать составной архив tar gz?
Команда Gzip в Linux
Gzip — один из самых популярных алгоритмов сжатия, который позволяет уменьшить размер файла и сохранить исходный режим файла, право собственности и временную метку.
Gzip также относится к .gz файлов .gz и утилите gzip которая используется для сжатия и распаковки файлов.
В этом руководстве мы покажем вам, как использовать команду gzip .
Синтаксис команды gzip
Общий синтаксис команды gzip следующий:
Gzip сжимает только отдельные файлы и создает сжатый файл для каждого заданного файла. По соглашению, имя файла, сжатого с помощью Gzip, должно заканчиваться на .gz или .z .
Если вы хотите сжать несколько файлов или каталогов в один файл, сначала вам нужно создать архив Tar, а затем сжать файл .tar с помощью Gzip. Файл с .tar.gz или .tgz представляет собой архив Tar, сжатый с помощью Gzip.
Gzip чаще всего используется для сжатия текстовых файлов, архивов Tar и веб-страниц. Не используйте Gzip для сжатия изображений, аудио, документов PDF и других двоичных файлов, поскольку они уже сжаты.
gzip может сжимать только обычные файлы. Символьные ссылки игнорируются.
Сжатие файлов с помощью gzip
Чтобы сжать отдельный файл, вызовите команду gzip за которой следует имя файла:
gzip создаст файл filename.gz и удалит исходный файл.
По умолчанию gzip сохраняет в сжатом файле метку времени, режим, владельца и имя исходного файла.
Сохраните исходный файл
Если вы хотите сохранить исходный (исходный) файл, используйте параметр -k :
Другой вариант сохранить исходный файл — использовать параметр -c который сообщает gzip о необходимости записи в стандартный вывод и перенаправления вывода в файл:
Подробный вывод
Используйте параметр -v если вы хотите увидеть процентное сокращение и имена обрабатываемых файлов:
Сжать несколько файлов
Вы также можете передать несколько файлов в качестве аргументов команде. Например, чтобы сжать файлы с именами file1 , file2 , file3 , вы должны выполнить следующую команду:
Приведенная выше команда создаст три сжатых файла: file1.gz , file2.gz , file3.gz .
Сжать все файлы в каталоге
Чтобы сжать все файлы в данном каталоге, используйте параметр -r :
gzip будет рекурсивно проходить по всей структуре каталогов и сжимать все файлы в каталоге и его подкаталогах.
Измените уровень сжатия
gzip позволяет указать диапазон уровней сжатия от 1 до 9. -1 или —fast означает самую высокую скорость сжатия с минимальной степенью сжатия, -9 или —best указывает на самую —best скорость сжатия с максимальной степенью сжатия. Уровень сжатия по умолчанию -6 .
Например, чтобы получить максимальное сжатие, вы должны запустить:
Сжатие — это задача, интенсивно использующая процессор, и чем выше уровень сжатия, тем больше времени занимает процесс.
Стандартный ввод
Чтобы создать файл .gz из стандартного .gz , перенаправьте вывод команды в gzip . Например, чтобы создать резервную копию базы данных MySQL в формате Gzip, вы должны выполнить:
Вывод команды mysqldump будет вводиться для gzip .
Распаковка файлов с помощью gzip
Чтобы распаковать файл .gz , используйте параметр -d :
Другая команда, которую вы можете использовать для распаковки Gzip-файла, — это gunzip . Эта команда в основном является псевдонимом для gzip -d :
Возможно, вам будет проще запомнить gunzip чем gzip -d .
Сохраните сжатый файл
Как и при сжатии файла, параметр -k сообщает gzip нужно сохранить входной файл, в данном случае это сжатый файл:
Распаковать несколько файлов
Чтобы распаковать сразу несколько файлов, передайте имена файлов в gzip качестве аргументов:
Распаковать все файлы в каталоге
При использовании с параметрами -d и -r gzip рекурсивно распаковывает все файлы в указанном каталоге:
Список содержимого сжатого файла
При использовании с параметром -l gzip показывает статистику по данным сжатым файлам:
Вывод будет включать имя несжатого файла, сжатый и несжатый размер и степень сжатия:
Чтобы получить дополнительную информацию, добавьте параметр -v :
Выводы
С помощью Gzip вы можете уменьшить размер данного файла. Команда gzip позволяет сжимать и распаковывать файлы.
Для получения дополнительной информации о команде gzip обратитесь к странице документации Gnu gzip .
Если у вас есть вопросы, оставьте комментарий ниже.
Источник
Как разархивировать многочастный (составной) ZIP на Linux?
Мне нужно загрузить файл 400 МБ на мой веб-сервер, но я ограничен загрузкой 200 МБ. Мой хост предложил мне использовать составной архив, чего я никогда не делал в Linux.
Я создал тест в своей папке, сжать вверх PDF в test.zip.001 , .002 и .003 . Как мне разархивировать его? Нужно ли сначала присоединиться к ним?
Обратите внимание, что я буду так же рад использовать 7z, как и форматы ZIP. Если это имеет какое-либо значение для результата.
Сначала вам нужно присоединиться к ним. Вы можете использовать обычное приложение linux, cat как в примере ниже:
Это сцепить все ваши test.zip.001 , test.zip.002 и т.д файлов в один большой, test.zip файл. Если у вас есть этот единственный файл, вы можете запустить unzip test.zip
/hugefile это каталог? Какова цель символа тильды? Извините, что спрашиваю, что я подозреваю, это очень простые вопросы.
/ огромный файл — это то же самое, что и / дом / Тим / огромный файл. ты разделил свои файлы? что такое имена разделенных файлов?
unzip Утилита Linux на самом деле не поддерживает составные почтовые индексы. Из руководства :
Многокомпонентные архивы пока не поддерживаются, кроме как в сочетании с zip. (Все части должны быть соединены вместе по порядку, а затем zip -F (для zip 2.x) или zip -FF (для zip 3.x) должны быть выполнены для объединенного архива, чтобы «исправить» его. Кроме того, zip 3.0 и более поздние версии могут объединяться многочастные (разделенные) архивы в объединенный однофайловый архив с использованием zip -s- inarchive -O outarchive . Для получения дополнительной информации см. справочную страницу zip 3. )
Таким образом, вам нужно сначала соединить части, а затем восстановить результат. cat test.zip.* объединяет все файлы, вызываемые test.zip.* там, где подстановочный знак * обозначает любую последовательность символов; файлы нумеруются в лексикографическом порядке, который совпадает с числовым порядком благодаря нулям в начале. >test.zip направляет вывод в файл test.zip .
Если вы создали фрагменты, непосредственно разбив zip-файл, в отличие от создания zip-файла из нескольких частей с помощью официальной утилиты Pkzip, все, что вам нужно сделать, это соединить части.
Источник
массовая распаковка zip .нужна помощь.
вообщем задача такая.
нужно массово распаковать zip архивы,но сложность состоит в том что они находятся в разных директориях.
то есть корень выглядит из папок по алфавиту (a-b-c. )
в каждой папке имеются еще несколько папок (abc — afc — . )
а вот уже собственно в них по одному .zip архиву
задача нужно массово распаковать эти архивы.
возможно ли это сделать без геморроя в виде распаковки каждого отдельно?
возможно ли это сделать без геморроя в виде распаковки каждого отдельно?
Нет, zip не умеет распаковывать более одного архива за раз.
ABS тебе в руки
find /path/to/ -type f -name ‘*.zip’ -execdir unzip <> +
Нет, zip не умеет распаковывать более одного архива за раз.
Умеет, но нужно экранировать *, т.е. unzip \*.zip
ничто не противоречит плюсу. и маны это подтверждают.
Но ‘;’ в данном случае все же идиоматичнее.
молчал бы уж — за умного сошёл.
спасибо) все отлично но в архивах находятся файлы с русскими именами .после распаковки имена превращаются в каркозяблы.
ман поиск. патчи unzip
Патчить unzip не обязательно, есть convmv.
Который, ИМХО, куда более правильное решение, хотя и создаёт дополнительный проход скриптом по файлам.
Ну давай, блесни своим.
лишнее файловые операции более правильны, вместо создания файлов сразу в правильной кодировке? да месье норкоман
тем более, что unzip-то скомпилять и прописать в path несложно
Мы может быть про разные патчи говорим?
Я о добавлении ещё одной переменной окружения UNZIP_LOCALE или что-то ещё с кодировкой в которой должны быть имена файлов в архиве.
В этом случае, возникает новая проблема: архив, положим, в EUC-JP или даже koi8r, а переменная в значении ‘cp1251’: нужен ещё один этап преобразования имени файла, с возможными потерями части собственно имени. А у convmv прогон один и универсален: из заданной кодировки в utf-8.
архив, положим, в EUC-JP или даже koi8r
ни разу не встречал. ок, для таких редких случаев можно запасным вариантом convmv
Источник
unixforum.org
Форум для пользователей UNIX-подобных систем
- Темы без ответов
- Активные темы
- Поиск
- Статус форума
Распаковать множество архивов *.tar.gz (В папке больше 30 архивов. как все одним махом распаковать?)
Распаковать множество архивов *.tar.gz
Сообщение Stasroot1 » 04.01.2010 11:38
Скачал из инета кучу архивов. все лежат в одной папке. Надо распаковать все архивы одним махом в эту же папку, так чтобы: были архивы 1. 2. . 30 а стали архивы 1. 2. . 30 вместе с распакованными архивами разложенными по соответствующим папкам: папки: 1. 2. . 30.
Через графическую болочку такого сделать не получается, максимум что получается это распаковать два архива одним махом. Наверняка моя проблема решаема. Прошу подсказать.
Система SUSE11.2 КДЕ4,3,1
Re: Распаковать множество архивов *.tar.gz
Сообщение diesel » 04.01.2010 12:15
Re: Распаковать множество архивов *.tar.gz
Сообщение Stasroot1 » 04.01.2010 14:20
Re: Распаковать множество архивов *.tar.gz
Сообщение Minton » 04.01.2010 16:00
«Настоящие мужчины используют поиск» ©Goodvin
Re: Распаковать множество архивов *.tar.gz
Сообщение Makinos » 04.01.2010 18:42
«многабукафф ниасилил»
жесть.
Re: Распаковать множество архивов *.tar.gz
Сообщение diesel » 04.01.2010 23:15
чтобы посмотреть что происходит на самом деле, вы можете пред каждой командой в цикле поставить echo:
Re: Распаковать множество архивов *.tar.gz
Сообщение Minton » 05.01.2010 00:12
«Настоящие мужчины используют поиск» ©Goodvin
Re: Распаковать множество архивов *.tar.gz
Сообщение Stasroot1 » 05.01.2010 09:05
«многабукафф ниасилил»
жесть.
Придираешся к Русскому языку в моем исполнении. Нет чтобы по делу написать что нибудь. а про то что много буковок, ну так как было так и написал.
Остальным спасибо за разъяснения!
делает практически почти так как нужно. Было в папке: «архив.tar.gz»
Стало в папке «папка «архив»» а в папке «папка «архив»» лежит сам «архив.tar.gz» простите за каламбур. а надо чтобы стало так:
НАДО: в папке: файл: «архив.tar.gz» и папка: «папка «архив»».
Хотя и тот вариант что вы мне уже разжевали тоже очень даже не плох! И самое главное выполняется на кучу порядков быстрее чем если все ручками разархивировать по одному/два через графический интерфейс! Еще рас спасибо! И. может это в общий FAQ? Я так понимаю универсальная для всех Линуксов команда.
Источник
Как распаковать составной архив tar gz?
Есть дамп сайта на битриксе, состоящий из 15 архивов вида tar.gz . tar.gz14
Как разархивировать все это дело в 1 папку? Как это делалось с рар-архивами.
- Вопрос задан более трёх лет назад
- 9704 просмотра
Сначала делаешь
1. Скачиваете оба архива к себе.
2. У первого архива (который с расширением .gz ) ставим расширение 001.
3. У второго архива (который с расширением .1 ) — ставим расширение 002.
4. И т.д. для всех частей архива
Далее никакого 7-zip. Качаешь Total Commander. Открываешь
Выделяешь все части архива, заходишь в меню «Файлы», там есть функция «Собрать файлы» (как-то так) .
Собираешь архив. После этого выбираешь собранный архив и архиватором Total Commander разархивируешь.
1. Скачиваете оба архива к себе.
2. У первого архива (который с расширением .gz ) ставим расширение 001.
3. У второго архива (который с расширением .1 ) — ставим расширение 002.
4. И т.д. для всех частей архива
5. Выделяем все файлы и 7-zip- ом распаковываем.
6. Если получился архив .tar , то его можно распаковать rar-ом и спокойно смотреть его содержимое.
7. Для того чтобы битрикс понял этот архив — архив с расширением .tar 7-zip-ом добавляем к новому архиву (формат архива gzip) — получиться архив с расширением .gz.
Источник