Понимание командных переключателей 7z - часть I
На этой странице
- Включить файлы
- Исключить файлы
- Установите пароль для своего архива
- Установить выходной каталог
- Создание нескольких томов
- Установить уровень сжатия архива
- Показать техническую информацию об архиве
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 вместе с переключателями позволяет вам максимально использовать инструмент. Мы еще не закончили с переключателями — есть еще кое-что, о чем мы поговорим во второй части.