Zip Linux — основные приемы архивирования файлов

Создадим зашифрованный ZIP архив secure.zip из файла:

Подробный обзор

Шифрование и Дешифрирование ZIP Архива в Linux

В приведенных выше примерах необходимо вводить пароль в интерактивном режиме.

Если Вам надо создать защищенный паролем ZIP файл из какого-то shell скрипта, Вы захотите сделать это не интерактивно.

Это метод менее безопасен, так-как пароль вводится в открытом виде.

Вы легко можете шифровать и дешифровать ZIP архивы без интерактивного ввода пароля из командной строки в Linux.

Делается это так:

$ zip -P passw0rd file $ zip -P passw0rd file1 file2 file3 $ zip -P passw0rd -r /var/log/

Разархивировать защищенный паролем ZIP архив:

$ unzip -P passw0rd

Как использовать 7zip для шифрования файлов

У вас есть информация о ваших машинах, которая должна быть защищена?

Как использовать 7zip для шифрования файлов

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

Для этого вам понадобятся довольно сложные средства защиты этой информации.

Но что, если эту задачу можно сделать значительно проще?

Хотя некоторые могут и не думать о командной строке как о более простом варианте, есть некоторые инструменты CLI, которые быстро справляются с задачей.

Так обстоит дело с 7zip.

Как использовать 7zip для шифрования файлов

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

Я хочу рассказать вам об установке и использовании 7zip для шифрования файлов.

Я буду демонстрировать примеры на сервере Ubuntu, но этот инструмент можно использовать в большинстве дистрибутивов Linux.

Что вам потребуетс я

  • Дистрибутив Linux
  • Пользователь с привилегиями sudo
  • Данные, которые вы хотите зашифровать

Как установить пакет 7zip на дистрибутивы Linux 7z a -p -mx=9 -mhe -t7z webservers kubernetes

1 7z a p mx=9 mhe t7z data.7z webservers kubernetes

Приведенная выше команда создаст файл , зашифрованный выбранным вами паролем.

После того как вы зашифровали файлы, вам следует удалить оригиналы.

Почему?

Потому что эти оригинальные файлы (в наших примерах web-servers и kubernetes) не зашифрованы.

Только недавно созданные файлы .7z зашифрованы.

Поэтому удалите эти файлы с помощью команды:

rm webservers kubernetes

1 rm webservers kubernetes

Как расшифровать файлы с помощью 7zip

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

Так как ты это делаешь?

У нас есть файлы и

  В 7z расшифровка файлов выполняется так:

7za e

1 7za e data.7z

или

7za e

1 7za e webservers.7z

В любом случае вам будет предложено ввести пароль, созданный вами в процессе шифрования.Если вам не удалось удалить исходные файлы (что вы не должны игнорировать), 7z спросит, хотите ли вы перезаписать существующие файлы — в наших примерах это будут webservers и kubernetes! После того, как вы расшифровали файл (ы), вы можете просмотреть их содержимое.И в этом вся суть использования 7zip для шифрования и дешифрования файлов.

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

Tar – или как мы его называли архиватором таковым не является, причина тому, логика работы данного инструмента! это всего лишь упаковщик, а если быть точнее то задача tar создать контейнер в формате tar в который она помещает выбранные вами файлы (без сжатия). Но если Вам нужно эти данные ужать или сжать для уменьшения размера архива, тогда применяются дополнительные инструменты такие как Gzip или bzip2 (вы должны были обращать внимания, что скачивая пакеты или файлы они имели странный формат name-file  ) Все дело в том, что принцип работы инструмента по сжатию данных, работает только в однопотоковом режиме, поэтому, что бы заархивировать много файлов и их сжать нам необходимо было их упаковать в TAR (один файл), а только потом прогнать через сжатие Gzip или bzip2 поэтому эти инструменты работают как Бонни и Клайд)

Читайте также:  Google stadia в России, инструкция как начать играть

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

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

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

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

  • c (create) – создать архив
  • f (file) – указать имя архива
  • j (bzip2) – cжать/распаковать архив дополнительно при помощи bzip2
  • z (gzip) – сжать/распаковать архив дополнительно при помощи gzip
  • v (verbose) – выводит список прогресса

Для создания архива tar нам необходимы только две опции c и f, но если вы хотите видеть процесс упаковки файлов, то можете добавить ключ v и тогда вы увидите на экране бегущий список файлов (так сказать “аналог” виндовому прогрессу в виде процентов)

tar -cvf /foto 

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

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

tar -cvjf /foto – создаст архив + сжатие tar -cvzf /foto – создаст архив + сжатие

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

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

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

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

  • x (extract) – извлечь файлы из архива
  • f (file) – указать имя архива
  • j (bzip2) – cжать/распаковать архив дополнительно при помощи bzip2
  • z (gzip) – сжать/распаковать архив дополнительно при помощи gzip
  • v (verbose) – выводит список прогресса
  • С (в верхнем регистре) – указываем альтернативное место для разархивирования файлов

tar -xvjf –  распаковываем архив в категорию в которой находимся tar -xvzf  -C /home/nibbl/desktop – распаковываем архив на рабочий стол

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

  1. tar –help – вызов справки по командам и параметрам
  2. man tar  – вызов расширенной документации
  3. официальная документация по команде tar – ссылка

Работа с архивами при помощи утилиты TAR. Стандартный архиватор Linux

Стандартная утилита для создания архивов в linux  — «tar». Синтаксис команды такой:

tar опции имя_файла_архива файл_для_архивации

1 tar опции имя_файла_архива файл_для_архивации

Основные опции:

  • c — создание нового архива
  • f — имя файла для архива
  • r — добавление файлов в конец архива
  • x — извлечение файлов из архива
  • t — вывод списка содержимого архива
  • v — вывод сведений о работе программы
  • -C — распаковать в указанную папку

Например. У меня есть папка «Test» и я хочу создать архив tar. Команда tar будет такой:

tar cf Test

1 tar cf Test

В результате получится файл архива «»

Для того, что бы увидеть работу программы можно использовать опцию «v». Будет выведено какие файлы и папки добавлены в архив. Например:

Работа с архивами при помощи утилиты TAR. Стандартный архиватор Linux

tar cvf Test

1 tar cvf Test

В данном случае архив создается с полной структурой папок.

Как в linux архивировать папку по заданному пути

Часто нужно создать архив не заходя в директорию. Давайте рассмотрим пример как создать архив не сохраняя структуру а создать архив только нужной папки из дерева.

Например, у меня есть папка «test» и вложенные «test1/test2». Внутри каждой папки находится по одному файлу. Если использовать команду вида  tar cf test/test1/test2 то будет архив tar со всеми папками и файлами включая и test и test1.

Чтобы сделать архив папки по определенному пути нужно использовать опцию —directory=КАТАЛОГ либо -C и в конце через пробел указываем нужную папку для архивации.

Пример использования linux tar  с опцией «directory»:

tar cf —directory=test/test1/ test2

1 tar cf —directory=test/test1/ test2

Теперь пример с опцией «-С»:

tar cf -C test/test1/ test2

1 tar cf -C test/test1/ test2

Как видим результат одинаковый. Так, что используйте тот вариант который покажется более удобным.

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

tar rf

1 tar rf

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

Читайте также:  Права суперпользователя Debian (sudo, visudo)

tar -tf

1 tar -tf

Будет отображено содержимое архива «Test».

Работа с архивами при помощи утилиты TAR. Стандартный архиватор Linux

Как распаковать tar архив в linux

Теперь давайте рассмотрим как распаковать архив tar. Для этого дайте команду:

tar xf

1 tar xf

Архив будет распакован в текущую папку. Как быть если нужно распаковать не весь архив а извлечь только нужный файл. Допустим я хочу извлечь файл «». Для этого нужно дать команду:

tar xf Test/

1 tar xf Test/

Для того, чтобы извлечь архив в другой каталог используйте атрибут «-C». Например требуется распаковать архив в папку «Driver» находящуюся в директории «Zhelezo». Выполню команду:

tar xf -C Zhelezo/Driver/

1 tar xf -C Zhelezo/Driver/

Думаю с архивированием и разархивированием файлов и папок в линукс без сжатия все понятно.

Используйте программное обеспечение для шифрования

Следующий метод использует программное обеспечение для шифрования. Для этого используется команда gpg , которая установлена ​​в большинстве дистрибутивов Linux. Вот как зашифровать файл ~ / Documents / :

  1. Откройте окно терминала , затем перейдите в каталог Documents с помощью команды:

    CD ~ / Документы

  2. Зашифруйте файл с помощью команды:

    gpg -c

  3. При появлении запроса введите и подтвердите пароль шифрования.

  4. Теперь вы видите новый (зашифрованный) файл с именем . Этот новый файл не может быть открыт без расшифровки.

  5. Расшифруйте файл .gpg с помощью команды:

    gpg

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

    Если вы не переместили или не удалили исходный файл, gpg спросит, хотите ли вы перезаписать новый файл или дать ему новое имя. При первой попытке зашифрования и дешифрования переместите исходный файл (перед расшифровкой) или дайте новому расшифрованному файлу другое имя. Если у вас есть навык шифрования и дешифрования, вы можете удалить исходный файл после его шифрования.

  7. При появлении запроса введите и подтвердите пароль шифрования.

  8. Теперь вы можете открыть зашифрованный файл .

Как создать ZIP-файл с помощью команды zip

Чтобы создать ZIP-файл, необходимо указать zip имя файла архива и какие файлы включить в него. Вам не нужно добавлять расширение «.zip» к имени архива, но это не повредит.

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

zip source_code *.c *.h

Каждый файл указан как добавленный. Отображается имя файла и степень сжатия, достигнутая в этом файле.

Как создать ZIP-файл с помощью команды zip

Если вы посмотрите на новый ZIP-архив, то увидите, что расширение «.zip» было автоматически добавлено zip.

ls -l source_

Если вы не хотите видеть вывод из zip при создании ZIP-файла, используйте параметр -q (quiet).

zip -q source_code *.c *.h

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

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

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

zip -r -Z bzip2 directory_name

… adding: sub_dir/ (stored 0%) adding: sub_dir/file1 (bzipped 52%) adding: sub_dir/file2 (bzipped 79%)

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

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

zip -9 -r directory_name

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

Создание Zip файлов в Linux

Основной синтаксис для создания файла .zip: zip options zipfile list_Of_files

Использование Linux для распаковки файла

Команда unzip используется без каких-либо опций. Вот пример распаковки файла в текущий каталог. unzip По умолчанию он будет разархивирован в текущей папке, если у вас есть права на чтение и запись.

Удалить файл из .zip файла

После создания файла .zip можно удалить файлы. Итак, если вы хотите удалить файл то нужно использовать следующую команду: zip –d Впоследствии, выполнения этой команды вы можете разархивировать ZIP-файл, используя:

unzip

Как обновить Zip файлы

После создания файла .zip можно добавить новый файл в существующий файл .zip. Вы можете сделать это с помощью команды, показанной ниже: zip –u

Переместить файл в Zip

Можно легко перемещать определенные файлы в zip-файл. Другими словами, после добавления файлов они будут удалены из своих исходных каталогов. В каких случаях прием используется? Во-первых, когда у вас большой файл или каталог. Во-вторых, вам нужно сэкономить место на диске. Это делается путем добавления опции -m. Примером этой команды будет: zip –m

Рекурсивное использование Zip в Linux

Опция -r используется для рекурсивного архивирования файлов. В результате, она сжимает все файлы, присутствующие в папке. zip –r DirectoryВ этом примере Directory — это каталог, в котором есть несколько файлов и подкаталогов для архивации.

Исключить файлы в Zip

При создании файла .zip можно исключить лишние файлы. Это делается с помощью опции -x. unzip linuxvsem -x

Здесь не будет добавлен в

Распакуйте в другой каталог

Создание Zip файлов в Linux

Если вы не хотите разархивировать текущий каталог, то используйте параметр -d.

unzip -d /home/linuxvsem/Документы

Используйте Linux Unzip с несколькими файлами Zip

Хотите разархивировать несколько zip-файлов, в вашем текущем рабочем каталоге? unzip -x «* .zip»Эта команда разархивирует все отдельные файлы ZIP.

Исключить файлы с помощью Unzip в Linux

Если вы хотите извлечь все файлы, кроме одного, то вы можете использовать данную команду. unzip -x Кроме того, Вы можете предотвратить извлечение файлов определенных типов.

Приведенная выше команда исключит извлечение всех файлов .png.

Использование Unzip в Linux с файлами, защищенными паролем

.Zip-файл, защищенный паролем, может быть распакован с помощью опции -P. unzip -P Password В приведенной выше команде пароль будет паролем для ZIP-файла.

Использование Linux Unzip без перезаписи файлов

Если вы разархивировали файл и внесли некоторые изменения, но случайно удалили несколько файлов, то вы можете использовать этот подход для его восстановления! Используйте параметр -n, чтобы пропустить извлечение в случае, если файл уже существует. Таким образом, будут извлечены только те файлы, которые не существуют. Пример:

unzip -n

Как составить список содержимого Zip в Linux

-l выводит список всех файлов в .zip вместе с отметкой времени и другими основными деталями. Пример такой команды:

unzip -l

Заключение

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

А на этом сегодня все. Надеюсь данная статья будет вам полезна.Журнал Cyber-X

Сжатие архивов tar с помощью gzip и bzip2

gzip и bzip умеют сжимать файлы, но не умеют упаковывать их в один, tar умеет упаковывать в один, но не умеет сжимать. Хм… у вас не появилось идеи?

Создание сжатых архивов .tgz и

Расширения .tgz и означают одно и то же и означают они архив tar, которых сжали по алгоритму gzip. Т.е. можете выбрать то расширение, которое вам больше нравится. Создать сжатый архив tar с использованием сжатия gzip можно так

tar czf имя_ список_для_архивации

Здесь новая опция z, которая и указывает на применяемый для сжатия алгоритм.

Чтобы распаковать архивы .tgz и :

tar xvzf

Создание сжатых архивов .bzip2 и

Расширения .bzip2 и означают одно и то же — сжатый по алгоритму bzip2 архив tar. Для создания сжатого архива tar с применением алгоритма сжатия bzip2 нужно набрать следующую команду:

tar cjf имя_ список_для_архивации

Новая опция — j, означает выбор метода сжатия bzip2.

Чтобы распаковать архивы .bzip2 и :

tar xvjf

Если я что-то забыл или пропустил — пишите в комментариях.

Связанные статьи:

  • Как установить 7zip на Linux (87.5%)
  • Как удалить метаданные файла на Linux (50%)
  • Как найти дубликаты файлов на Linux с помощью dupeGuru (50%)
  • Как проверить дисковое пространство на Linux с командой df (50%)
  • Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
  • Что такое файловая система /proc в Linux (RANDOM — 50%)