Практические примеры команды zip

Есть много вещей, которые вы можете сделать с помощью команды Linux zip

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

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

Если у вас есть 10 файлов размером 100 мегабайт, и вам нужно перенести их на FTP-сайт, передача может занять значительное время в зависимости от скорости вашего процессора. Если вы сжимаете все 10 файлов в один заархивированный архив, и сжатие уменьшает размер файла до 50 МБ на файл, то вам нужно только передать половину данных.

Как создать архив всех файлов в папке

Представьте, что у вас есть папка песен со следующими MP3-файлами:

Шоссе AC/DC в ад

Ночной Prowler.mp3

Люблю голодного мужчину.mp3

Get It Hot.mp3

Прогуляйся по тебе.mp3

Шоссе в ад.mp3

Если тебе нужна кровь, ты ее получишь .mp3

Покажите вниз в огне.mp3

Сенсорный слишком много .mp3

Биение вокруг bush.mp3

Girls Got Rhythm.mp3

Эта простая команда Linux, которая иллюстрирует, как создать архив всех файлов в текущей папке с именем ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

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

Как включить скрытые файлы в архив

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

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

почтовый индекс *. *

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

Как архивировать все файлы и подпапки в Zip-файле

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

zip -r home.

Как добавить новые файлы в существующий архивный архив

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

Например, представьте, что у вас есть музыкальная папка с четырьмя альбомами в ней, и вы создаете архив с именем music.zip для хранения в качестве резервной копии. А теперь представьте, через неделю вы скачаете два новых альбома. Чтобы добавить новые альбомы в zip-файл, просто запустите ту же команду zip, что и на предыдущей неделе.

Для создания оригинального музыкального архива запустите следующий код:

zip -r music/home/yourname/music/

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

Если в zip-файле содержится список файлов, а один из файлов на диске изменился, то исправленный файл обновляется в zip-файле.

Как обновить существующие файлы в заархивированном архиве

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

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

/Главная/вашеимя/документы/file1

/Главная/вашеимя/документы/file2

/Главная/вашеимя/документы/file3

/Главная/вашеимя/документы/file4

/Главная/вашеимя/документы/file5

/Главная/вашеимя/документы/file6

Теперь представьте, что в течение недели вы добавили два новых файла и изменили два файла так, чтобы папка/home/yourname/documents теперь выглядела так:

/Главная/вашеимя/документы/file1

/Главная/вашеимя/документы/file2

/Главная/вашеимя/документы/file3

/home/ваше имя/документы/file4 (обновлено)

/home/ваше имя/документы/file5 (обновлено)

/Главная/вашеимя/документы/file6

/Главная/вашеимя/документы/file7

/Главная/вашеимя/документы/file8

Когда вы выполните следующую команду, 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 для дальнейшего сжатия файла. Это занимает больше времени, но может значительно сэкономить место.

zip myfiles.zip -r/home -5

Оцените статью
Solutics.ru
Добавить комментарий