Поиск по сайту:

Понимание командных переключателей 7z - часть I


На этой странице

  1. Включить файлы
  2. Исключить файлы
  3. Установите пароль для своего архива
  4. Установить выходной каталог
  5. Создание нескольких томов
  6. Установить уровень сжатия архива
  7. Показать техническую информацию об архиве

7z, без сомнения, является многофункциональным и мощным архиватором (утверждается, что он предлагает самую высокую степень сжатия). Здесь, в HowtoForge, мы уже обсуждали как его установить и использовать. Но обсуждение было ограничено основными функциями, к которым вы можете получить доступ, используя функциональные буквы, которые предоставляет инструмент.

Расширяя наше освещение инструмента, здесь, в этом руководстве, мы обсудим некоторые коммутаторы, предлагаемые 7z. Но прежде чем мы продолжим, стоит сообщить, что все инструкции и команды, упомянутые в этом руководстве, были протестированы на Ubuntu 16.04 LTS.

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

Включить файлы

Инструмент 7z позволяет выборочно включать файлы в архив. Доступ к этой функции можно получить с помощью переключателя -i.

Синтаксис:

-i[r[-|0]]{@listfile|!wildcard}

Например, если вы хотите включить в свой архив только файлы «.txt», вы можете использовать следующую команду:

$ 7z a ‘-i!*.txt’ include.7z

Вот результат:


Теперь, чтобы проверить, содержит ли вновь созданный файл архива только файл .txt или нет, вы можете использовать следующую команду:

$ 7z l include.7z

Вот результат:


На скриншоте выше видно, что в архив добавлен только файл testfile.txt.

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

При желании вы также можете исключить файлы, которые вам не нужны. Это можно сделать с помощью переключателя -x.

Синтаксис:

-x[r[-|0]]]{@listfile|!wildcard}

Например, если вы хотите исключить файл с именем «abc.7z» из архива, который вы собираетесь создать, вы можете использовать следующую команду:

$ 7z a ‘-x!abc.7z’ exclude.7z

Вот результат:


Чтобы проверить, исключил ли результирующий архивный файл ‘abc.7z’ или нет, вы можете использовать следующую команду:

$ 7z l exclude.7z

Вот результат:

На приведенном выше снимке экрана видно, что файл «abc.7z» был исключен из нового файла архива.

Совет для профессионалов: предположим, что задача состоит в том, чтобы исключить все файлы .7z с именами, начинающимися с буквы «t», и включить все файлы .7z с именами, начинающимися с буквы «a». Это можно сделать, комбинируя ключи «-i» и «-x» следующим образом:

$ 7z a '-x!t*.7z' '-i!a*.7z' combination.7z

Установите пароль для вашего архива

7z также позволяет защитить файл архива паролем. Доступ к этой функции можно получить с помощью переключателя -p.

$ 7z a [archive-filename] -p[your-password] -mhe=[on/off]

Примечание. Опция -mhe включает или отключает шифрование заголовка архива (по умолчанию отключено).

Например:

$ 7z a password.7z -pHTF -mhe=on

Излишне говорить, что когда вы будете извлекать защищенный паролем архив, инструмент запросит у вас пароль. Чтобы извлечь защищенный паролем файл, используйте функциональную букву e. Ниже приведен пример:

$ 7z e password.7z

Установить выходной каталог

Инструмент также позволяет извлечь архивный файл в каталог по вашему выбору. Это можно сделать с помощью переключателя -o. Излишне говорить, что переключатель работает только тогда, когда команда содержит либо функциональную букву «e», либо функциональную букву «x».

$ 7z [e/x] [existing-archive-filename] -o[path-of-directory]

Например, предположим, что в текущем рабочем каталоге выполняется следующая команда:

$ 7z e output.7z -ohow/to/forge

И, как следует из значения, переданного переключателю -o, целью является извлечение архива в каталог ./how/to/forge.

Вот результат:

На приведенном выше снимке экрана видно, что все содержимое существующего файла архива извлечено. Но где? Чтобы проверить, был ли файл архива извлечен в каталог ./how/to/forge или нет, мы можем использовать команду ‘ls -R’.


На приведенном выше снимке экрана видно, что все содержимое output.7z действительно было извлечено в ./how/to/forge.

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

С помощью инструмента 7z вы можете создать несколько томов (меньших подархивов) вашего файла архива. Это очень полезно при передаче больших файлов по сети или на USB-накопителе. Доступ к этой функции можно получить с помощью переключателя -v. Переключатель требует, чтобы вы указали размер вложенных архивов.

Мы можем указать размер подархивов в байтах (b), килобайтах (k), мегабайтах (m) и гигабайтах (g).

$ 7z a [archive-filename] [files-to-archive] -v[size-of-sub-archive1] -v[size-of-sub-archive2] ....

Давайте разберемся в этом на примере. Обратите внимание, что мы будем использовать новый каталог для выполнения операций с переключателем -v.

Вот скриншот содержимого каталога:

Теперь мы можем запустить следующую команду для создания нескольких томов (размером 100 байт каждый) файла архива:

7z a volume.7z * -v100b

Вот скриншот:

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

Как видно на приведенном выше снимке экрана, всего было создано четыре нескольких тома: Volume.7z.001, Volume.7z.002, Volume.7z.003 и Volume.7z.004.

Примечание. Вы можете извлечь файлы, используя архив .7z.001. Но для этого все остальные подархивные тома должны находиться в том же каталоге.

Установить уровень сжатия архива

7z также позволяет вам устанавливать уровни сжатия ваших архивов. Доступ к этой функции можно получить с помощью переключателя -m. В 7z существуют различные уровни сжатия, такие как -mx0, -mx1, -mx3, -mx5, -mx7 и -mx9.

Вот краткое описание этих уровней:

-mx0=вообще не сжимать — просто скопируйте содержимое в архив.
-mx1=занимает меньше времени, но сжатие низкое.
-mx3=лучше, чем -mx1.
-mx5=по умолчанию (нормальное сжатие).
-mx7=Максимальное сжатие.
-mx9=Ультрасжатие.

Примечание. Дополнительную информацию об этих уровнях сжатия можно найти здесь.

$ 7z a [archive-filename] [files-to-archive] -mx=[0,1,3,5,7,9]

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

$ 7z a compression(-mx0).7z * -mx=0

Аналогично выполнялись и другие команды.

Вот список выходных архивов (созданных с помощью команды ls), в именах которых указан уровень сжатия, использованный при их создании, а в пятом столбце вывода показано влияние уровня сжатия на их размер.

Показать техническую информацию архива

Если хотите, 7z также позволяет отображать техническую информацию об архиве — его тип, физический размер, размер заголовка и т. д. — на стандартный вывод. Доступ к этой функции можно получить с помощью переключателя -slt. Этот переключатель работает только с функциональной буквой «l».

$ 7z l -slt [archive-filename]

Например:

$ 7z l -slt abc.7z

Вот результат:

Если вы хотите создать архив, отличный от 7zip (который создается по умолчанию), вы можете указать свой выбор с помощью переключателя -t.

$ 7z a -t[specify-type-of-archive] [archive-filename] [file-to-archive]

В следующем примере показана команда для создания ZIP-файла:

7z a -tzip howtoforge *

Полученный выходной файл называется howtoforge.zip. Чтобы проверить его тип, используйте команду файла:

Итак, howtoforge.zip действительно является ZIP-файлом. Точно так же вы можете создавать другие типы архивов, которые поддерживает 7z.

Как вы могли бы согласиться, знание функциональных букв 7z вместе с переключателями позволяет вам максимально использовать инструмент. Мы еще не закончили с переключателями — есть еще кое-что, о чем мы поговорим во второй части.