- Примеры использования zip и unzip в linux
- Установка zip и unzip:
- Пример использования утилиты zip
- Работа с ZIP архивом в Linux
- Установка программы Zip в Linux
- Творение ZIP архива в Linux
- Распаковать zip архив в Linux
- Просмотр охватываемого zip архива в Linux
- Практические примеры команды zip
- Есть много вещей, которые вы можете сделать с помощью команды Linux zip
- Как создать архив всех файлов в папке
- Как включить скрытые файлы в архив
- Как архивировать все файлы и подпапки в Zip-файле
- Как добавить новые файлы в существующий архивный архив
- Как обновить существующие файлы в заархивированном архиве
- Как удалить файлы из архива
- Как скопировать файлы из одного Zip-файла в другой
- Как использовать Pattern Matching и Piping для создания архива
- Как создать сплит архив
- Как настроить отчет о ходе процесса архивирования
- Как исправить файл Zip
- Как зашифровать архив
- Как показать, что будет в архиве
- Как проверить архив
- Как исключить файлы
- Как указать уровень сжатия
Примеры использования zip и unzip в linux
Сегодня я хотел сделать пост памятку по работе в Unix подобных системах с утилитами zip и unzip. Также рассмотреть несколько интересных команд, которые могут пригодиться для работы.
Установка zip и unzip:
В системе Debian/Ubuntu.
В системе Red Hat Linux/Fedora/CentOS.
Пример использования утилиты zip
Пример 1: Создания архива из указанных файлов и папок
Пример 2: Создания архива текущего каталога (архив создается без подкаталогов)
Пример 3: Создания архива включая все подкаталоги используем ключ -r
Создает архив без скрытых файлов/каталог это файлы/каталоги начинающиеся с .
Создает архив с скрытыми файлами и каталогами
Пример 4: Чтобы сжать быстро используйте -1, но для более лучшего сжатие используйте -9
Пример 5: Опция -x позволяет исключать файлы и каталоги из архива
Пример 6: Также опция -x позволяет исключать файлы и каталоги по шаблону
Таким способом я исключаю все каталоги заканчивающихся на ted и файлы расширения xml
Пример 7: Разбиваем архив на части с помощью опции -s
Также есть возможность указать опцию размера части архива в: k (KB), m (MB), g (GB), t (TB)
Пример 8: Задать пароль можно опцией -e или опцией -P .
Пример 9: Выбрать только указанные файлы/каталоги
Пример 10: Удаление файлов из созданного архива
Пример 11: Обновить содержимое созданного архива
Пример 11: Тихий режим (Полезно, например, в сценариях оболочки и фоновых задач)
Пример 12: Извлечь все содержимое архива
Пример 13: Извлечь все содержимое архива в указанную директорию
Пример 14: Показать содержимое архива
Пример 15: Извлечь конкретный файл из архива
Источник
Работа с ZIP архивом в Linux
В данной небольшой статье мы рассмотрим, как распаковать архив ZIP в Linux. Разберём несколько способов и воспользуемся многыми утилитами, которые справятся с этой задачей. Unzip не всегда установлена по умолчанию в Linux, потому есть вероятность того, что вам придётся доустанавливать её самостоятельно из официальных репозиториев, это не трудно.
Программа zip — это звезда в мире ПО (ну не считая rar) этот формат очень популярен для windows систем и он по умолчанию уже встроен в незапятнанную сборку операционной системы, поэтому только установив виндовус вы уже можете разархивировать файлы в формате zip. Когда вы установите unzip, все утилиты для работы с архивами смогут без проблем распаковать архив zip.
Установка программы Zip в Linux
Рассмотрим на примере Debian или Ubuntu
apt-get install zip unzip
Чтобы создать ваш первоначальный архив в формате zip используйте команду zip — первый аргумент это название архива, второй это файл или компданные через пробел, которые будут добавлены в архив:
zip archive.zip file1.txt file2.log
Как добавить в картотека zip папку с файлами:
zip archive.zip -r /var/log/
Установить пароль на архив можно с помощью ключа -P, а ключ -e утаит пароль при вводе :
zip archive.zip -re /var/log/
Для распаковки архивов Zip используйте команду unzip, можно использовать её без каких-нибудь опций, распаковка в таком случае будет произведена в текущую директорию:
Применяйте ключ -d для указания директории, куда нужно распаковать архив:
unzip archive.zip -d /tmp
Посмотреть компданные в архиве без распаковки можно с ключом -l :
unzip archive.zip -l
Как распаковать определённые файлы из архива? Зачислите их через пробел:
unzip archive.zip 1.txt 2.txt
Пример создания архива. Заархивируем все файлы и папки в папки /var/log/ и директорию /var/spool/:
zip -r -9 test-archive.zip /var/log/* /var/spool/* -x «/var/log/apt/*»
-r — архивировать рекурсивно
-9 — степень сжатия от 1 до 9. 0 — без стягивания.
test-archive.zip — имя архива
/var/log/* /var/spool/* — архивируемые директории через пробел
-x «/var/log/apt/*» — опция, дозволяющая исключить указанную папку или файл из архива
-e — опция, позволяющая задать пароль на архив
Творение ZIP архива в Linux
Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:
zip [функции] [файлы или папки которые будем упаковывать]
Опции для создания архива tar:
r (recurse) — общерекурсивное создание архива
s (size) — разбивка архива на определенный размер k (kB), m (MB), g (GB) или t (TB)
пример: zip -s 300m
на выводе получим:
file.zip (300 mb, master file)
file.001.zip (300 mb)
file.002.zip (300 mb)
file.003.zip (100 mb)
P (password) — запаролировать картотека (можно использовать ключ e тогда пароль будете вводить в отдельной строке со звездочками )
образчик: zip -P мойпароль -r file.zip ./home/nibbl/foto
пример2: zip -er file.zip ./home/nibbl/foto
x — ликвидируем файлы или каталоги из архива
1-9 — степень сжатия (где 1 без сжатия, а 9 лучшее сжатие)
zip –r -9 -P 123 — archive.zip /home/nibbl/desktop/myfile
— этой командой мы заархивировали с сжатием папку myfile создали архив с именем archive.zip и установили пароль на картотека 123
Распаковать zip архив в Linux
Далее мы затронем две свободных популярных утилиты, управление которыми исполняется через консоль, то есть пользователю придется вводить встроенные и дополнительные команды для управления абсолютно всеми файлами и инструментами. Примером сегодня выступит дистрибутив Ubuntu, а для обладателей других сборок мы делаем акценты на каких-либо несовпадениях. Рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив:
Функции для создания архива tar:
d (directory) — указать директорию для разархивации
l — вывести список файлов в картотеке
d — удалить определенный файл или каталог из уже сделанного архива
v — показывает детальную информацию по файлам в картотеке ()
unzip — распаковываем архив в категорию в которой находимся
unzip -d /home/nibbl/desktop — распаковываем картотека на рабочий стол
Общая информация по работе с Zip в Linux
zip —help или unzip —help — вызов ссылки по командам и параметрам
man zip или man unzip — вызов расширенной документации официальная документация по команде zip — ссылка
Просмотр охватываемого zip архива в Linux
Вы можете проверить содержимое zip-файла даже не извлекая его с помощью опции -l.
unzip -l zipped_file.zip
Вот, что выведет терминал после ввода:
unzip -l metallic-container.zip
Archive: metallic-container.zip
Length Date Time Name
——— ———- —— —-
6576010 2019-03-07 10:30 625993-PNZP34-678.jpg
1462 2019-03-07 13:39 License free.txt
1116 2019-03-07 13:39 License премиум.txt
——— ——-
6578588 3 files
Существует множество других способов использования команды распаковки в Linux, но, думаю, теперь у вас достаточно знаний для распаковки архивов в Linux. Теперь вы знаете, как распаковать файл в Linux.
Источник
Практические примеры команды zip
Есть много вещей, которые вы можете сделать с помощью команды Linux zip
Существует несколько различных способов сжатия файлов с помощью командной строки Linux. Эта статья содержит практические примеры, которые показывают, как использовать команду zip для сжатия и организации файлов в вашей файловой системе.
Сжатые файлы используются, когда вам нужно сэкономить место и копировать большие файлы из одного места в другое.
Если у вас есть 10 файлов размером 100 мегабайт, и вам нужно перенести их на FTP-сайт, передача может занять значительное время в зависимости от скорости вашего процессора. Если вы сжимаете все 10 файлов в один заархивированный архив, и сжатие уменьшает размер файла до 50 МБ на файл, то вам нужно только передать половину данных.
Как создать архив всех файлов в папке
Представьте, что у вас есть папка песен со следующими MP3-файлами:
Шоссе AC/DC в ад
Люблю голодного мужчину.mp3
Прогуляйся по тебе.mp3
Если тебе нужна кровь, ты ее получишь .mp3
Покажите вниз в огне.mp3
Сенсорный слишком много .mp3
Биение вокруг bush.mp3
Girls Got Rhythm.mp3
Эта простая команда Linux, которая иллюстрирует, как создать архив всех файлов в текущей папке с именем ACDC_Highway_to_Hell.zip:
Текст прокручивается вверх по экрану, показывая файлы по мере их добавления.
Как включить скрытые файлы в архив
Предыдущая команда хороша для архивирования всех файлов в папке, но она включает только файлы, которые не скрыты. Это не всегда так просто. Представьте, что вы хотите сжать домашнюю папку, чтобы ее можно было сохранить на USB-накопитель или внешний жесткий диск. Ваша домашняя папка содержит скрытые файлы.
Чтобы сжать все файлы, включая скрытые файлы в папке, выполните следующую команду:
Это создает файл с именем home.zip со всеми файлами в домашней папке. (Вы должны быть в домашней папке, чтобы это работало). Проблема этой команды в том, что она включает в себя только файлы в домашней папке, а не в папках, что приводит нас к следующему примеру.
Как архивировать все файлы и подпапки в Zip-файле
Чтобы включить все файлы и подпапки в архив, выполните следующую команду:
Как добавить новые файлы в существующий архивный архив
Если вы хотите добавить новые файлы в существующий архив или обновить файлы в архиве, используйте то же имя для файла архива при запуске команды zip.
Например, представьте, что у вас есть музыкальная папка с четырьмя альбомами в ней, и вы создаете архив с именем music.zip для хранения в качестве резервной копии. А теперь представьте, через неделю вы скачаете два новых альбома. Чтобы добавить новые альбомы в zip-файл, просто запустите ту же команду zip, что и на предыдущей неделе.
Для создания оригинального музыкального архива запустите следующий код:
zip -r music/home/yourname/music/
Чтобы добавить новые файлы в архив, снова запустите ту же команду.
Если в zip-файле содержится список файлов, а один из файлов на диске изменился, то исправленный файл обновляется в zip-файле.
Как обновить существующие файлы в заархивированном архиве
Если у вас есть zip-файл, который должен каждый раз содержать одни и те же имена файлов, и вы хотите обновить этот файл любыми изменениями, внесенными в эти файлы, то переключатель -f поможет вам сделать это. ,
Например, представьте, что у вас есть заархивированный файл со следующими файлами:
Теперь представьте, что в течение недели вы добавили два новых файла и изменили два файла так, чтобы папка/home/yourname/documents теперь выглядела так:
/home/ваше имя/документы/file4 (обновлено)
/home/ваше имя/документы/file5 (обновлено)
Когда вы выполните следующую команду, zip-файл будет содержать обновленные файлы (file4 и file5), но file7 и file8 не будут добавлены.
zip zipfilename -f -r/home/yourname/documents
Как удалить файлы из архива
Итак, вы создали большой zip-файл с сотнями файлов и теперь понимаете, что в zip-файле есть четыре или пять файлов, которые вам там не нужны. Без необходимости снова архивировать все эти файлы, вы можете просто запустить команду zip с переключателем -d следующим образом:
zip zipfilename -d [имя файла в архиве]
Например, если у вас есть файл в архиве с именем home/documents/test.txt, вы удалите его с помощью этой команды:
zip zipfilename -d home/documents/test.txt
Как скопировать файлы из одного Zip-файла в другой
Если у вас есть файлы в одном zip-файле, и вы хотите скопировать их в другой zip-файл, не извлекая их сначала и не разархивируя, используйте переключатель -u .
Предположим, у вас есть zip-файл с именем «Variousmusic.zip» с музыкой от разных исполнителей, одним из которых является AC/DC. Вы можете скопировать песни AC/DC из файла Variousmusic.zip в файл ACDC.zip, используя следующую команду:
zip Variousmusic.zip -U —out ACDC.zip «Back_In_Black.mp3»
Приведенная выше команда копирует файл «Back_In_Black.mp3» из различных музыкальных файлов.zip в ACDC.zip. Если zip-файл, в который вы копируете, не существует, он создается.
Как использовать Pattern Matching и Piping для создания архива
Следующий переключатель действительно полезен, потому что он позволяет вам использовать выходные данные других команд для вставки файлов в ваш zip-файл. Предположим, вы хотите создать файл с именем lovesongs.zip, который содержит каждую песню, в названии которой есть слово «любовь».
Чтобы найти файлы с любовью в заголовке, вы можете использовать следующую команду:
find/home/yourname/Music -name * love *
Приведенная выше команда не идеальна на 100 процентов, потому что она также подбирает слова типа «клевер», но вы поняли идею. Чтобы добавить все возвращенные результаты из вышеприведенной команды в zip-файл с именем lovesongs.zip, выполните эту команду:
find/home/yourname/Music -name * love * | zip lovesongs.zip — @
Как создать сплит архив
Если вы создаете резервную копию своего компьютера, но единственный носитель, на который у вас есть резервные копии, – это набор чистых DVD-дисков, у вас есть выбор. Вы можете сохранять файлы до тех пор, пока размер zip-файла не достигнет 4,8 гигабайта, и записать DVD-диск или создать нечто, называемое разделенным архивом, который продолжает создавать новые архивы в наборе после того, как он достигнет установленного вами предела.
zip mymusic.zip -r/home/myfolder/Music -s 670 м
Как настроить отчет о ходе процесса архивирования
Существуют различные способы настройки вывода, который появляется во время выполнения архивирования.
Доступны следующие переключатели:
- -db = показывает, сколько байтов было заархивировано и сколько осталось
- -dc = отображает количество заархивированных файлов и сколько их осталось
- -dd = отображает точки для каждых 10 МБ файла, который был заархивирован
- -ds = устанавливает частоту появления точек
- -du = отображает несжатый размер каждого файла
zip myzipfilename.zip -dc -r/home/music
Как исправить файл Zip
Если у вас поврежден zip-архив, вы можете попытаться исправить его с помощью команды -F , а в случае неудачи – команды FF .
Это полезно, если вы создали разделенный архив с помощью переключателя -s и потеряли один из файлов архива.
Например, попробуйте сначала это:
zip -F myfilename.zip —out myfixedfilename.zip
zip -FF myfilename.zip —out myfixedfilename.zip
Как зашифровать архив
Если у вас есть конфиденциальная информация, которую вы хотите сохранить в zip-файле, используйте команду -e для ее шифрования. Вас попросят ввести пароль и повторить пароль.
zip myfilename.zip -r/home/wikileaks -e
Как показать, что будет в архиве
Если вы знаете, что собираетесь создавать большой архив, убедитесь, что в zip-файл будут добавлены правильные файлы. Вы можете увидеть ожидаемые результаты команды zip, указав переключатель – sf .
zip myfilename.zip -r/home/music/-sf
Как проверить архив
После резервного копирования файлов в zip-файл заманчиво сэкономить место на диске, удалив исходные файлы. Прежде чем сделать это, рекомендуется проверить работоспособность zip-файла.
Вы можете использовать переключатель -T для проверки правильности zip-файла.
zip myfilename.почтовый индекс -T
Вывод этой команды, когда архив недействителен, может выглядеть примерно так:
- предупреждение zip: отсутствует подпись конца – вероятно, не zip-файл
Помните, что вы можете попробовать команду -F, чтобы исправить поврежденные zip-файлы.
Стоит отметить, что -T может выдавать ложные срабатывания в том смысле, что он говорит, что zip-файл поврежден, хотя при его открытии вы можете извлечь все файлы.
Как исключить файлы
Иногда вы хотите исключить определенные файлы из zip-файла. Например, если вы копируете файлы со своего телефона или цифровой камеры, у вас есть смесь видео и изображений. Возможно, вы захотите сжать фотографии в photos.zip и видео в videos.zip.
Вот один из способов исключить видео при создании photos.zip
zip photos.zip -r/home/photos/-x * .mp4
Как указать уровень сжатия
Когда вы сжимаете файлы в zip-файл, система решает, следует ли сжимать файл или просто сохранить его. Например, файлы MP3 уже сжаты, поэтому нет смысла их дополнительно сжимать; они обычно хранятся как внутри zip-файла.
Однако вы можете указать уровень сжатия от 0 до 9 для дальнейшего сжатия файла. Это занимает больше времени, но может значительно сэкономить место.
Источник