Linux zip скрытые файлы

Обновлено: 07.07.2024

Zip является одновременно архиватором и утилитой сжатия, поэтому мы можем использовать его для архивирования, сжатия и распаковки файлов и каталогов в Unix-подобных операционных системах. Эта утилита совместима с zip-приложениями Windows и других ОС. Тем не менее, tar с gzip и bzip2 является преобладающей утилитой для сжатия. Теперь давайте посмотрим, как архивировать файлы и каталоги в Linux с помощью zip.

Установка

Zip предустановлена в некоторых дистрибутивах Linux. Вы можете установить ее вручную с помощью менеджера пакетов по умолчанию.

RHEL, CentOS, Fedora:

Debian, Ubuntu, Linux Mint:

Теперь посмотрим несколько примеров.

Создание архива

Создадим архив с именем archive.zip из файлов file1, file2 и file3. Вам не обязательно использовать расширение .zip в имени архива, я добавил его для ясности.

Чтобы архивировать директорию рекурсивно, нужно указать флаг -r, иначе вы добавите только родительский каталог.

В отличие от утилиты tar, zip создает архив и сжимает его по умолчанию.

Создание архива из нескольких каталогов и файлов одновременно

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

Вышеупомянутая команда создает архив с именем archive.zip из каталога mordeniuss и группы файлов, а именно file1, file2, file3.

Добавление файлов в существующий архив

Если вы укажите уже существующий архив, то он просто обновится:

Это заметное преимущество zip перед утилитой tar.

Распаковка архива

Распаковывать архивы так же просто, как и создавать их:

Вы также можете выборочно извлечь из каталога определенный файл или папку. Например, следующая команда извлекает файл file4 из архива.

Список содержимого архива, не распаковывая его

Чтобы просмотреть содержимое, используйте флаг -l.

Создание зашифрованного архива

Еще одна примечательная особенность команды zip заключается в том, что она позволяет нам создавать зашифрованный архив. Пользователям необходимо будет вводить пароль, чтобы извлечь или просмотреть содержимое архива.

Чтобы создать зашифрованный архив, используйте флаг -e.

При распаковке или просмотре содержимого архива необходимо ввести правильный пароль.

Степень сжатия

Архивирование содержимого с наивысшей степенью сжатия:

Zip поддерживает 9 уровней сжатия, как указано ниже:

Исключить файлы при создании архивов

Мы можем исключить ненужные файлы или подкаталоги при создании архива. Для этого используйте флаг -x, как показано ниже:

Эта команда создаст архив каталога mordeniuss, но исключит файл image.jpg из архива.

Вы можете убедиться в этом, проверив содержимое:

Удалить файлы из существующего архива

Возможно, вы забыли исключить ненужные файлы при создании архива. Без проблем! Вы можете удалить эти файлы после.

Чтобы удалить ненужные файлы из существующего архива, используйте флаг -d, как показано ниже.

Аналогично, чтобы удалить группу файлов одного типа, например формата .txt, используйте:

В наши дни мы сталкиваемся с файлами архивов очень часто и на всех платформах: Windows, Mac или Linux. Это могут быть программы, резервные копии систем или баз данных или просто архив файлов. Нам также часто приходится создавать свои архивы в Linux, чтобы передать несколько файлов друзьям или загрузить на файлообменник. В виде архивов распространяются пакеты программ, исходные коды, а также много других файлов, распространяемых на просторах интернета. Научиться выполнять архивирование файлов в Linux через терминал очень важно, возможно это вам понадобиться, когда не будет доступа к графическому интерфейсу, или просто со временем в терминале станет более приятно работать.

В этой инструкции я хочу подробно рассмотреть утилиты для архивирования в Linux, мы рассмотрим не только самую популярную и универсальную утилиту - tar, но и другие менее известные, а также популярные алгоритмы сжатия.

Архивирование в Linux

Важно отметить, что архивирование в linux это не одно и то же что и сжатие файлов linux. Архивирование - это объединение нескольких небольших файлов в один, с целю более удобной последующей передачи, хранения, шифрования или сжатия. Как я уже сказал, архивация выполняется специальными утилитами. Мы не будем трогать архивацию файлов в графическом интерфейсе, вы с ними разберетесь сами, наша тема - терминал.

Самой популярной для Linux утилитой для архивации есть tar. Она используется почти везде, для архивации исходников, упаковки пакетов. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие, отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций.

Также полезной возможностью архивации есть шифрование. Но теперь давайте рассмотрим какие существуют утилиты, с помощью которых выполняется архивирование файлов linux и как ими пользоваться.

Tar - это стандартная утилита, с помощью которой выполняется архивирование файлов Linux. Постепенно из небольшой программы архивации она превратилась в мощный инструмент, поддерживающий работу со многими вариантами архивов и алгоритмами сжатия. Программа поддерживает большое количество параметров. Давайте рассмотрим ее синтаксис и основные параметры:

$ tar опции f файл_для_записи /папка_файлами_для_архива

А теперь разберем основные опции:

  • A - добавить файл к архиву
  • c - создать архив в linux
  • d - сравнить файлы архива и распакованные файлы в файловой системе
  • j - сжать архив с помощью Bzip
  • z - сжать архив с помощью Gzip
  • r - добавить файлы в конец архива
  • t - показать содержимое архива
  • u - обновить архив относительно файловой системы
  • x - извлечь файлы из архива
  • v - показать подробную информацию о процессе работы
  • f - файл для записи архива
  • -C - распаковать в указанную папку
  • --strip-components - отбросить n вложенных папок

Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы создать архив используйте такую команду:

tar -cvf archive.tar.gz /path/to/files

А чтобы распаковать архив tar linux:

tar -xvf archive.tar.gz

Очень просто запомнить для упаковки используется опция c - Create, а для распаковки - x - eXtract.

Сжатый архив создается точно так же, только с опцией -z, это в случае, если использовалось шифрование gizp, если нужно bzip то применяется опция -j:

tar -zcvf archive.tar.gz /path/to/files

$ tar -zxvf archive.tar.gz

Например, рассмотрим как заархивировать папку в Linux:

tar -zcvf home.tar.gz

Хотя можно поступить по-другому, тот же архив мы получим если сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия, только здесь мы получаем больше контроля над процессом сжатия:

Также можно убрать сжатие:

Утилиты сжатия мы рассмотрим ниже.

Чтобы добавить файл в архив используйте:

tar -rvf archive.tar file.txt

Для извлечения одного файла синтаксис тот же:

tar -xvf archive.tar file.txt

Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:

tar -xvf archive.tar --wildcards '*.php'

По умолчанию распаковать архив tar linux можно в текущую папку с именем архива, чтобы распаковать в нужную папку используйте ключ -C:

tar -xvf archive.tar -C /path/to/dir

Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.

Shar позволяет создавать самораспаковывающиеся архивы. По сути, это скрипт оболочки, и для распаковки ему необходима оболочка Bash или другая совместимая с Bourne Shell. У Shar есть несколько преимуществ, но также он потенциально небезопасный, так как архив представляет собой исполняемый файл.

  • -o - сохранять архив в файл вместо стандартного вывода
  • -l - ограничить размер выходного файла
  • -L - ограничить размер выходного файла и разбить его на части
  • -n - имя архива не будет включено в заголовок
  • -a - разрешить автоматическую генерацию заголовков

Примеры использования shar для того чтобы заархивировать папку linux:

Создаем shar архив:

shar file_name.extension > filename.shar

Распаковываем shar архив:

ar - утилита для создания и управления архивами. В основном используется для архивации статических библиотек, но может быть использована для создания любых архивов. Раньше использовалась довольно часто но была вытеснена утилитой tar. Сейчас используется только для создания и обновления файлов статических библиотек.

  • - d - удалить модули из архива
  • - m - перемещение членов в архиве
  • - p - напечатать специфические члены архива
  • - q - быстрое добавление
  • - r - добавить члена к архиву
  • - s - создать индекс архива
  • - a - добавить новый файл к существующему архиву

Теперь рассмотрим примеры использования. Создадим статическую библиотеку libmath.a из объектных файлов substraction.o и division.o:

ar cr libmath.a substraction.o division.o

Теперь извлечем файлы из архива:

Таким образом, можно распаковать любую статическую библиотеку.

cpio - означает Copy in and out (скопировать ввод и вывод). Это еще один стандартный архиватор для Linux. Активно используется в менеджере пакетов Red Hat, а также для создания initramfs. Архивация в Linux для обычных файлов с помощью этой программы не применяется.

  • -a - сбросить время обращения к файлам после их копирования
  • -A - добавить файл
  • -d - создать каталоги при необходимости

Пример использования. Создаем cpio архив:

file1.o file2.o file3.o

ls | cpio -ov > /path/to/output_folder/obj.cpio

cpio -idv < /path/to folder/obj.cpio

Архивирование папки linux выполняется также само.

Сжатие архивов в Linux

Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них

Чаще всего применяется Gzip. Это стандартная утилита сжатия в Unix/Linux. Для декомпрессии используется gunzip или gzip -d Сначала рассмотрим ее синтаксис:

$ gzip опции файл

$ gunzip опции файл

Теперь разберем опции:

  • -c - выводить архив в стандартный вывод
  • -d - распаковать
  • -f - принудительно распаковывать или сжимать
  • -l - показать информацию об архиве
  • -r - рекурсивно перебирать каталоги
  • -0 - минимальный уровень сжатия
  • -9 - максимальный уровень сжатия

Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:

gzip -c файл > архив.gz

А теперь распакуем:

gunzip -c архив.gz

Но чтобы сжать папку в Linux вам придется сначала заархивировать ее с помощью tar, а уже потом сжать файл архива с помощью gzip.

bzip2 - еще одна альтернативная утилита сжатия для Linux. Она более эффективная чем gzip, но работает медленнее. Для распаковки используйте утилиту bunzip2.

Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:

В текущем каталоге будет создан файл file.bz2

Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.

Еще один высокоэффективный алгоритм сжатия. Обратно совместимый с Lzma. Параметры вызова тоже похожи на Gzip.

Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.

$ zip опции файлы

$ unzip опции архив

Чтобы создать Zip архив в Linux используйте:

zip -r /path/to/files/*

А для распаковки:

Как видите архивирование zip в Linux не сильно отличается от других форматов.

Выводы

Теперь вы знаете все что нужно об архивации файлов в Linux. Мы рассмотрели только консольные команды, так сказать, чтобы была понятна суть. В графическом интерфейсе все еще проще. Если остались вопросы - задавайте их в комментариях.

Как архивировать файлы и каталоги в Linux

Zip - это наиболее широко используемый формат архивных файлов, который поддерживает сжатие данных без потерь.

Zip-файл - это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (сжатые) файлы занимают меньше места на диске и могут быть перенесены с одного компьютера на другой быстрее, чем несжатые файлы. Zip-файлы можно легко извлечь в Windows, MacOS и Linux, используя утилиты, доступные для всех операционных систем.

zip команда

zip утилита командной строки, которая помогает вам создавать Zip-архивы

Команда zip имеет следующую синтаксическую форму:

Чтобы создать Zip-архив в определенном каталоге, пользователь должен иметь права на запись в этот каталог.

Zip-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, который запускает команду.

Чтобы сохранить владельца файла и разрешения, используйте tar команду.

zip Утилита не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.


Установите Zip на Ubuntu и Debian


Установите Zip на CentOS и Fedora

Как архивировать файлы и каталоги

Чтобы сжать один или несколько файлов, укажите файлы, которые вы хотите добавить в архив, разделенные пробелами, как показано ниже:

По умолчанию zip команда печатает имена файлов, добавленных в архив, и метод сжатия. Мы объясним методы сжатия и уровень позже в этом руководстве.

При указании имени Zip-архива, если вы опустите .zip расширение, оно будет добавлено автоматически, если имя архива не содержит точку. zip archivename.zip filename создаст архив с тем же именем, что и zip archivename filename .

Чтобы подавить вывод zip команды, используйте -q параметр:


Часто вы создаете Zip-архив каталога, включающего в себя содержимое подкаталогов. -r Опция позволяет пройти всю структуру каталогов рекурсивно.

Чтобы создать Zip-архив каталога, вы должны использовать:


Вы также можете добавить несколько файлов и каталогов в один архив:

Методы и уровни сжатия

Методом сжатия Zip по умолчанию является deflate . Если утилита zip определяет, что файл не может быть сжат, она просто сохраняет файл в архиве, не сжимая его, используя метод store . В большинстве дистрибутивов Linux утилита zip также поддерживает метод сжатия bzip2 .

Чтобы указать метод сжатия, используйте -Z опцию.

Команда zip позволяет вам указать уровень сжатия, используя число с префиксом от 0 до 9. По умолчанию используется уровень сжатия -6 . При использовании -0 все файлы будут храниться без сжатия. -9 заставит zip команду использовать оптимальное сжатие для всех файлов.

Например, чтобы использовать уровень сжатия -9 , вы должны напечатать что-то вроде этого:

Чем выше уровень сжатия, тем интенсивнее процесс ЦП, и процесс займет больше времени.

Создание защищенного паролем ZIP-файла

Если у вас есть конфиденциальная информация, которую необходимо сохранить в архиве, вы можете зашифровать ее, используя -e параметр:

Вам будет предложено ввести и подтвердить пароль архива:

Создание сплит Zip файла

Представьте, что вы хотите хранить Zip-архив в службе размещения файлов, у которой ограничение размера загрузки файла составляет 1 ГБ, а ваш Zip-архив составляет 5 ГБ.

Вы можете создать новый разделенный Zip-файл, используя -s опцию с указанным размером. Множитель может быть k (килобайт), m (мегабайт), g (гигабайт) или t (терабайт).

Приведенная выше команда будет продолжать создавать новые архивы в наборе после достижения указанного предела размера.

Примеры ZIP

Создайте Zip-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.

То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):

Создайте Zip-архив с именем, archivename.zip содержащим все файлы MP3 в текущем каталоге, без сжатия файлов.

Вывод

В Linux вы можете создавать Zip-архивы с zip команды.

Чтобы извлечь ZIP-архив в системе Linux, вы можете использовать команду unzip .

tar linux

Ubuntu

Сегодня речь пойдет о такой вещи как архивация, а именно упаковка и распаковка таких форматов как: tar, gzip, zip и rar в в операционных системах Unix и Linux

нашу статью разобьем на разделы, что бы была удобная навигация.

Архивация в Linux

Хоть Linux и имеет графическую оболочку и даже уже можно скачать графические пакеты для работы с самыми популярными расширениями архиваторов, мы будем рассматривать работу с архивами на уровне консоли (но если кому надо сделаем обзор пакетов для работы не через консоль)

Архивация Tar в Linux

Создание архива TAR

Для начала начнем с запаковки архива Tar в Linux/ubuntu, и для этого надо запомнить шаблон или синтаксис команды:

tar [опции] <имя файла.tar> [файлы или папки которые будем упаковывать]

Опции для создания архива tar:

tar -cvf newfile.tar /foto

в данной команде мы указали создать архив newfile.tar и запаковать всю папку foto

В списке опций вы заметили два ключа j и z эти ключи используются как для сжатия в архив gzip или bzip2 если вам нужно сделать архивацию с сжатием то применяем следующую команду:

Распаковать архив TAR

рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив в linux/ubunta :

tar [опции] <имя файла.tar> [файлы или папки которые будем распаковывать]

Опции для создания архива tar:

Общая информация по работе с Tar

Архивация Zip в Linux

но давайте перейдем к делу, в Linux и Unix системах дела обстоят по другому, это формат Tar идет по умолчанию, а вот для zip надо поставить пакет unzip

  1. sudo apt-get update && apt-get upgrade
  2. sudo apt-get install unzip

Создание ZIP архива

Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:

zip [опции] <имя файла.zip> [файлы или папки которые будем упаковывать]

Опции для создания архива tar:

Распаковать zip архив

рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив :

Опции для создания архива tar:

Читайте также: