Компютри Windows интернет

Как да разархивирате файлове на Linux, FreeBSD и MacOS. Xz - мощността на компресиране на LZMA вече е във вашата конзола Програми за отваряне или конвертиране на XZ файлове

Мнозина вероятно вече знаят за помощната програма за компресиране/декомпресия xz. Но те не знаят дори повече. Ето защо написах тази уводна тема.

Xz е формат за компресиране на данни, заедно с gzip, bzip2, включен в приложенията на GNU.
Използва алгоритъма LZMA, същия като в 7z, което означава, че е възможно да се компресират много типове данни, като текст, двоични данни, които все още не са компресирани, по-силно от стандартните, споменати по-горе.
xz се използва в новата rpm 4.7.2 за компресиране на .cpio архиви в rpm пакети (използвани от Fedora 12).
ArchLinux обикновено използва .tar.xz като пакет.
GNU tar вече има опцията -J --lzma, която изпълнява същата роля като -z за gzip, -j за bzip2

Професионалисти:
Висока степен на компресия

минуси:
висока консумация на ресурси:
процесорно време (и действително време за компресиране)
памет (конфигурируема, но все пак повече от gzip, bzip2).
По-специално, xz at --най-добрият известен още като -9консумира до 700mb!с компресия и 90MB с декомпресия

Характеристика:
Голямото потребление на памет е леко ограничено чрез предварително изчисление на наличните ресурси.
интегриране в GNU tar
работа с потоци
по избор: прогресивна лента чрез --verbose

Не искам да претрупвам уводната тема твърде много с графики и други неща, но не мога без това:
Направих тривиално изпълнение на gzip, bzip2, xz за съотношението на компресия и консумацията на време. WinRar също ще участва като гост (макар и опиянен, под вино, но все пак показа отлични резултати)

Получаваме 4 квадрата:
Долу вляво - бавен и слаб: gzip и winrar най-бързи.
Горе вляво: печелившо съотношение компресия/време: bzip2, xz се представя малко по-добре при нива на компресия 1 и 2, и
Горе вдясно: истински притискащ механизъм: дълъг, но много компресивен xz
Долу вдясно: няма никой и кой има нужда от дълготраен и слабо компресиращ архиватор?

Но като цяло координатната мрежа не е добре избрана: как да оценим времето? категории! например бързо - 10-20 секунди, средно от половин минута до минута, повече от 2 минути - това е дълго време.
така че логаритмичната скала е по-ясна тук:

И ако ги оценим като компресия на поток, на моя Core2Duo E6750 @ 2,66GHz,
тогава това е графиката:


тези. Използвайки конвейера gzip -1 или gzip -4 като компресор, можете да управлявате до 25 MB/sec некомпресирани данни в 100 Mbit мрежа. (Проверих го няколко пъти - gzip -4 по някаква причина дава повече печалба от -3 или -5)
котка /някои/данни | gzip -1c | ssh user@somehost -c "gzip -dc > /some/data"
xz може да се използва в това само на канали<8мбит,

Очевидното заключение (С помощта на K.O.)
xz- поради потреблението на ресурси, той заема нишата на компресорните архиватори, където степента на компресия може да играе голяма роля и има достатъчно изчислителни и времеви ресурси. тези. различни видове архиви/архиви, дистрибуции (rpm, tar.xz в archlinux). Или данни, които са много лесно компресирани: регистрационни файлове, таблици с текстово-цифрови данни csv, tsv, които не трябва да се променят.

P.S. Колкото и да се радвам за xz, разумността на положените усилия WinRar печели.

Опцията „щракване два пъти, разопаковане“ не е лоша. Но не универсален. Е, не толкова интересно, колкото куп начини да го направите в конзолата! Затова още една бележка в стила на „Всички начини да направите това“.

Може би най-добрият избор за архив, който искате да направите достъпен за публично изтегляне, е цип- архив. Инструментите за разопаковане са налични на почти всички операционни системи. Дори в Windows има странен, но все пак zip unarchiver. Ако използвате Linux / FreeBSD / MacOS, тогава вашият избор е разархивирайте:

Разархивирайте file.zip

Като цяло е ясно защо ZIP стана популярен. Той използва свободния от патенти алгоритъм Deflate, който отдавна се е превърнал почти в стандарт за компресия: описан е в RFC 1951 и много хора го използват (същият формат за съхранение на изображения gzip и png, няма да изброявам всичко - ZIP е наистина велико!).

Освен това авторът на този формат, Фил Кац, стана доста известен по онова време. В зората на потребителския интернет, по време на ерата на BBS, той оптимизира ARC формата, който се използва за компресиране, но авторите на последния не го харесаха. Както е обичайно в прословутия Запад, имаше съдебна битка, в която Кац се показа като мил човек. Можете дори да гледате документалния филм „Compression“, който описва конфронтацията.

Така не можеш просто да го направишдобър алгоритъм за компресия. Трябва и скандално да популяризираме всичко това.

Въпреки това, няма да се държа като глупак. Голям принос към ИТ, към нашата реалност. Жалко, че Фил не получи достатъчно слава, за да не удави всичко в алкохол. Макар че може би така му беше по-добре. Почина през 2000 г. (на 37 години). Почивай в мир приятел!

Бих поставил втория формат в моя личен „топ“ RAR. Не защото го виждам често, а защото се е запечатал в съзнанието ми. Всеки път като отида и слагам unrar.

За Ubuntu/Debian/Mint и други с apt е:

$ sudo apt install unrar

На FreeBSD изглежда така:

% sudo pkg инсталирате unrar

И за MacOS:

$ brew инсталирате unrar

Или можете да отидете в App Store и да изтеглите The Unarchiver

Той също така поддържа формати като ZIP, 7z, LHA, LZH, Tar, gzip, bzip2, StuffIt, StuffIt X, DiskDoubler, Compact Pro, PackIt, cpio, XAR, RPM, LZMA, XZ, Z, CAB, MSI, NSIS, ALZip, ARJ, Ace, Zoo, ADF, DMS, LZX, PowerPacker, NSA, SAR, NDS, Split files... Е, това е вярно, между другото.

WinRAR има компилации както за Linux, така и за Bisti, MacOS също е включен - така че ако сте свикнали/по-удобно, също е възможно. И нищо чудно – съществува от 1993 г.

Въпреки че rar е разработката на нашия сънародник (роден в СССР), и в същото време той е суров челябински програмист... Но няма да „потъна“ в този момент - все пак, нека бъдем граждани на света! Но той е и създателят на FAR... Evgeniy Roshal - запознайте се!

Накратко, всичко е страхотно, но rarchik е патентован. Пресира добре, също като създателя си (поне брат му). Следователно той не е наличен „извън кутията“ на различни системи, но потребителите на Windows вече са много пристрастени към този формат - ще трябва да го виждате от време на време.

На почетното 3 място е семейството катран- архиви. tar е архиваторът. Не компресира, а архивира файл по файл. Създава архив! Не знам как да посоча разликата още по-силно... Изобщо, нека си представим един архивист. Той подрежда документите един до друг, така че да получи шкаф, съдържащ цялата информация по определена тема. Шкафът е нещо повече от колекция от файлове. И по значение, и по място. И така, tar е архивист. Той ще направи още по-голям файл, който съдържа селекция от други файлове.

Тук говорим за алгоритъма, а не за секторите на твърдия диск (знам, че съм скука, вече искахте да пишете за това... но и аз съм скука ;-)).

И сега можем да компресираме този файл. Не знам за вас, но на мен това изглежда като перфектна илюстрация на един от принципите на Unix:

Пишете програми, които правят едно нещо и го правят добре.

Така е и тук! Добре, който разбира ще разбере, който не разбира ще прости...

И сега можете да го компресирате с всеки универсален алгоритъм за компресиране (има и такива, специализирани за определен тип данни)!

И тук вече имаме поддръжка за около 180 формата... Не всичко идва от кутията, разбира се. Най-често:

Най-често срещаният вариант е да създадете компресиран tar архив

катран -czf file.tar.gz източник.c източник.ч

Разопаковайте - съответно:

катран zf file.tar.gz

Създаване/Извличане - всичко е логично! И това е един от най-често срещаните формати за разпространение на „пакети“ в Unix. Същият застой (благодарение на великия Патрик) го използва за изтегляне и инсталиране на пакети. Направо в корена, направо в “душата”!

Като цяло, използвайте катран, слушайте мама!

Цяла история, инфраструктура, епохи, съдби на хора... И само 3 вида архиви.

Е, за тези, които искаха да разархивират някакъв труден архив, но се забиха в тази статия, ето списъка:

gz (gzip)файл, разопаковайте го с командата:

Същото с BZ2- разархивирайте с помощта на:

bunzip2 файл.bz2

Могат да бъдат намерени и файлове XZ. Разархивирайте с командата

архив

xz --декомпресиране на файл.xz

XZ може да разархивира файлове и LZMAформат:

xz --format=lzma --decompress file.lz # за .lz файлове

За 7Z- файлове, които използваме:

Трябва да инсталирате p7zip преди това (sudo apt-get install p7zip).

Може би сте получили файла без разширение или с неправилно, тогава използвайте командата file, за да разберете файловия формат:

файл file.unknown

Например:

$ file server.jjj server.jjj: Zip архивни данни, поне v2.0 за извличане

След като знаете формата, винаги можете да отидете в Google и да разберете как да го разопаковате. Или се свържете с документацията/автора и сами напишете разопаковчик.

Сигурен съм, че съм пропуснал още над 100 формата, които „всеки използва“. Пишете и ще добавя!

Тези дни срещаме архивни файлове много често и на всички платформи: Windows, Mac или Linux. Това могат да бъдат програми, резервни копия на система или база данни или просто архив от файлове. Също така често се налага да създаваме свои собствени архиви в Linux, за да прехвърлим няколко файла на приятели или да качим в услуга за хостване на файлове. Софтуерни пакети, изходни кодове и много други файлове, разпространявани в Интернет, се разпространяват под формата на архиви. Да се ​​научите как да архивирате файлове в Linux през терминала е много важно; може да ви е необходимо, когато нямате достъп до графичния интерфейс, или просто ще стане по-приятно да работите в терминала с течение на времето.

В това ръководство искам да разгледам подробно помощните програми за архивиране в Linux; ще разгледаме не само най-популярната и универсална помощна програма - tar, но и други по-малко известни и популярни алгоритми за компресиране.

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

Най-популярната помощна програма за архивиране за Linux е tar. Използва се почти навсякъде, за архивиране на източници, опаковане на пакети. За компресиране се използват други помощни програми, в зависимост от алгоритъма за компресиране, например zip, bz, xz, lzma и др. Първо се извършва архивиране, след това компресиране с помощта на отделни програми. Автоматично стартиране на някои помощни програми за компресиране за новосъздадени архиви се поддържа в tar и други подобни програми, като се използват специални опции.

Шифроването също е полезна функция за архивиране. Но сега нека да разгледаме какви помощни програми съществуват, които могат да се използват за архивиране на Linux файлове и как да ги използвате.

Катран

Tar е стандартна помощна програма за архивиране на Linux файлове. Постепенно той се превърна от малка програма за архивиране в мощен инструмент, който поддържа много опции за архивиране и алгоритми за компресиране. Програмата поддържа голям брой параметри. Нека да разгледаме неговия синтаксис и основните параметри:

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

Сега нека разгледаме основните опции:

  • А- добавяне на файл към архива
  • ° С- създаване на архив в Linux
  • д- сравняване на архивни файлове и разопаковани файлове във файловата система
  • й- компресирайте архива с Bzip
  • z- компресирайте архива с помощта на Gzip
  • r- добавяне на файлове в края на архива
  • T- показва съдържанието на архива
  • u- актуализиране на архива спрямо файловата система
  • х- извличане на файлове от архива
  • v- показва подробна информация за работния процес
  • f- файл за запис на архива
  • -° С- разархивирайте в посочената папка
  • --лентови компоненти- изхвърляне на n подпапки

Сега нека да разгледаме архивирането на файлове в Linux. За да създадете архив, използвайте следната команда:

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

И за да разопаковате архива на linux tar:

tar -xvf archive.tar.gz

Много е лесно да запомните да използвате опцията за опаковане ° С - ° С reate, и за разопаковане - х- д хтракт.

Компресираният архив се създава по абсолютно същия начин, само с опцията -z, това е, ако е използвано gizp криптиране; ако е необходим bzip, тогава се използва опцията -j:

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

$ tar -zxvf archive.tar.gz

Например, нека да разгледаме как да архивирате папка в Linux:

tar -zcvf home.tar.gz ~/

Въпреки че можем да го направим по различен начин, получаваме същия архив, ако първо създадем обикновен архив с помощта на tar и след това го компресираме с помощна програма за компресиране, само тук получаваме повече контрол върху процеса на компресиране:

gzip архив.tar

Можете също да премахнете компресията:

gunzip archive.tar.gz

По-долу ще разгледаме помощните програми за компресиране.

За да добавите файл към архива, използвайте:

tar -rvf archive.tar file.txt

За да извлечете един файл, синтаксисът е същият:

tar -xvf архив.tar файл.txt

Можете да извлечете няколко файла чрез съпоставяне на шаблон, като използвате параметъра за заместващ знак, например извлечете всички php файлове:

tar -xvf archive.tar --заместващи знаци "*.php"

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

tar -xvf архив.tar -C /path/to/dir

Разгледахме стандартната помощна програма, сега нека накратко да разгледаме нейните алтернативи. Не са много от тях и повечето вече са остарели.

Шар

Shar ви позволява да създавате саморазархивиращи се архиви. Това по същество е шел скрипт и изисква Bash или друга съвместима обвивка на Bourne за разопаковане. Shar има няколко предимства, но също така е потенциално несигурен, тъй като архивът е изпълним файл.

Опции за споделяне:

  • - запазване на архив във файл вместо стандартен изход
  • - ограничаване на размера на изходния файл
  • - ограничете размера на изходния файл и го разделете на части
  • - името на архива няма да бъде включено в заглавката
  • - позволяват автоматично генериране на заглавия

Примери за използване на shar за архивиране на папка на Linux:

Създайте shar архив:

shar file_name.extension > filename.shar

Разопаковайте shar архива:

Ар

ar е помощна програма за създаване и управление на архиви. Използва се главно за архивиране на статични библиотеки, но може да се използва за създаване на всякакви архиви. Използван преди това доста често, но беше изместен от помощната програма tar. В момента се използва само за създаване и актуализиране на статични библиотечни файлове.

  • - премахване на модули от архива
  • - м- преместване на членове в архива
  • -стр- отпечатване на конкретни членове на архива
  • -q- бързо добавяне
  • - добавяне на член към архива
  • - създаване на архивен индекс
  • - добавяне на нов файл към съществуващ архив

Сега нека да разгледаме примери за употреба. Нека създадем статична библиотека libmath.a от обектните файлове substraction.o и division.o:

ar cr libmath.a изваждане.o деление.o

Сега нека извлечем файловете от архива:

По този начин можете да разопаковате всяка статична библиотека.

Cpio

cpio - означава Copy in and out (копиране на вход и изход). Това е друг стандартен архиватор за Linux. Активно се използва в мениджъра на пакети Red Hat, както и за създаване на initramfs. Архивирането в Linux за обикновени файлове с тази програма не е приложимо.

Опции за помощни програми:

  • - нулиране на времето, необходимо за достъп до файлове след копирането им
  • - добави файл
  • - създаване на директории, ако е необходимо

Пример за използване. Създайте 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

Най-често използваният е Gzip. Това е стандартна помощна програма за компресиране в Unix/Linux. За декомпресия използвайте gunzip или gzip -d Първо, нека да разгледаме неговия синтаксис:

$gzip файл с опции

$ gunzip файл с опции

Сега нека да разгледаме опциите:

  • -° С- изходен архив към стандартен изход
  • - разопаковам
  • -f- принудително разопаковане или компресиране
  • - показва информация за архива
  • - рекурсивно итериране през директории
  • -0 - минимално ниво на компресия
  • -9 - максимално ниво на компресия

Вече видяхте примери за използване в описанието на помощната програма tar. Например, нека компресираме файл:

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

Сега да разопаковаме:

gunzip -c архив.gz

Но за да компресирате папка в Linux, първо ще трябва да я архивирате с помощта на tar и едва след това да компресирате архивния файл с gzip.

Bzip

bzip2 е друга алтернативна програма за компресиране за Linux. Той е по-ефективен от gzip, но е по-бавен. За да разопаковате, използвайте помощната програма bunzip2.

Няма да описвам опциите на bzip2, те са подобни на gzip. За да създадете архив на Linux, използвайте:

Файлът file.bz2 ще бъде създаден в текущата директория

Лзма

Нов и високоефективен алгоритъм за компресия. Синтаксисът и опциите също са подобни на Gzip. Използвайте unlzma за разопаковане.

Xz

Друг високоефективен алгоритъм за компресия. Обратно съвместим с Lzma. Параметрите за извикване също са подобни на Gzip.

Zip

Помощна програма за различни платформи за създаване на компресирани zip архиви. Съвместими с Windows реализации на този алгоритъм. Zip архивите се използват много често за обмен на файлове в Интернет. С тази помощна програма можете да компресирате двата файла и папката на linux.

Синтаксис на помощната програма:

$ zip файлове с опции

$ разархивирайте архив с опции

Опции за помощни програми:

  • изтриване на файл от архива
  • - рекурсивно преминаване през директории
  • -0 - само архив, без компресия
  • -9 - най-добро съотношение на компресия
  • - коригиране на zip файл
  • - криптиране на файлове

За да създадете Zip архив в Linux, използвайте.

Имате ли проблеми с отварянето на .XZ файлове? Ние събираме информация за файлови формати и можем да обясним какво представляват XZ файловете. Освен това препоръчваме програми, които са най-подходящи за отваряне или конвертиране на такива файлове.

За какво се използва файловият формат .XZ?

Файловото разширение .xz принадлежи към файловия формат и тип XZ Compressed Archive (.xz). XZ е името на безплатен алгоритъм за компресиране на данни, базиран на по-ранния формат LZMA, произхождащ от проекта Tukaani (бивша дистрибуция на GNU/Linux, базирана на Slackware). Подобно на LZMA, XZ е целочислен формат и позволява високи коефициенти на компресия. XZ е тясно свързан с безплатния архиватор 7-Zip и публичния LZMA SDK.

Файлът .xz е компресиран архив във формат XZ. Вградената поддръжка за XZ архиви се осигурява от XZ Utils (по-рано LZMA Utils), което е референтната XZ реализация за набор от платформи и операционни системи. Освен това в средата на Microsoft Windows форматът XZ се поддържа от няколко безплатни и търговски архиватори.



XZ поддържа само компресия на ниво файл и поради тази причина форматът често се използва в комбинация с TAR. В този случай .tar архив ("tarball") се използва за комбиниране на файлове и директории в един файл, след което такъв файл се компресира с помощта на метода XZ ((.tar.xz или .txz). Както XZ, така и TAR са по-често срещани в операционни системи, подобни на Unix, като FreeBSD и GNU/Linux.

Програми за отваряне или конвертиране на XZ файлове

Можете да отваряте XZ файлове със следните програми:  - Разширение (формат) са знаците в края на файла след последната точка.
- Компютърът определя вида на файла по неговото разширение.
- По подразбиране Windows не показва разширения на имена на файлове.
- Някои знаци не могат да се използват в името и разширението на файла.
- Не всички формати са свързани с една и съща програма.
- По-долу са всички програми, които могат да се използват за отваряне на файла XZ.

Bandizip е удобен архиватор за операционни системи Windows. Програмата поддържа най-различни формати и има уникален алгоритъм за пропускане на некомпресируеми файлове. Bandizip е интегриран в контекстното меню на Explorer, което значително опростява управлението на самата програма, тъй като всички необходими операции, например създаване на архиви или разопаковане на данни, могат да се извършват директно от Explorer. В допълнение, той има алгоритъм за криптиране, който ви позволява да защитите файла от нежелано отваряне. Освен това програмата има функция за задаване на парола за файл. Известно е, че тази парола е невъзможна за хакване...

Universal Extractor е удобна помощна програма за разопаковане на различни архиви, както и някои допълнителни типове файлове. Тази програма е подходяща предимно за онези потребители, които създават архиви на компютър, но само изтеглят различни архиви от Интернет и след това ги разопаковат. Помощната програма Universal Extractor се справя доста добре с тази задача. Позволява ви да разопаковате всички известни архиви, както и dll, exe, mdi и други видове файлове. Всъщност програмата може да служи до известна степен като вид инсталатор на програми, т.к позволява ви да разопаковате някои от инсталаторите и след това да стартирате...

HaoZip е китайски клонинг на популярния архиватор Winrar, както по отношение на функционалността, така и по отношение на интерфейса като цяло. Архиваторът може да работи с всички популярни формати, включително 7Z, ZIP, TAR, RAR, ISO, UDF, ACE, UUE, CAB, BZIP2, ARJ, JAR, LZH, RPM, Z, LZMA, NSIS, DEB, XAR, CPIO, SPLIT, WIM, IMG и др. Освен това с помощта на Haozip можете да монтирате ISO изображения и да преглеждате изображения чрез вградения визуализатор, което е много полезна функция за архиваторите. Що се отнася до интерфейса, китайските разработчици са свършили добра работа тук. Те не само копираха дизайна и функционалността от архиватора Winrar, но и добавиха...

WinRAR е добре позната програма, предназначена за работа с архиви. Помощната програма включва широк набор от вградени възможности. WinRAR компресира данните по-бързо от своите конкуренти, спестявайки дисково пространство и потребителско време. Поддържа добре познати архивни формати и е подходящ за компресиране на мултимедийни файлове. Автоматичното разпознаване на файлов формат, специален алгоритъм за компресиране на данни и оптимален метод за пакетиране са предимствата на приложението. WinRAR може да компресира изпълнителни, мултимедийни файлове и библиотеки на обектни модули. Приложението ви позволява да разделяте архивите на отделни томове и да ги записвате на различни устройства за съхранение.

Ashampoo ZIP е програма за архивиране, която ви помага да компресирате и съхранявате необходимата информация. Работи с различни формати, което позволява на потребителите да изпращат големи документи в компресирана форма. Ashampoo ZIP има широк набор от различни функции. С помощта на приложението можете да създавате, разопаковате и разделяте архиви. Освен това програмата поддържа четене, възстановяване, криптиране и незабавно преобразуване. Списъкът с формати, поддържани от Ashampoo ZIP, е доста впечатляващ. В допълнение към създаването на архиви, програмата поддържа разопаковане на документи в повече от 30 различни архивни формата.

Всяка година, за да подобрят и подобрят удобството на потребителите, разработчиците на различен компютърен софтуер пускат много интересни, удобни и висококачествени програми, които значително помагат в тяхната работа. Една от тези програми е най-новата разработка на архиватора WinArc. Тази помощна програма е достъпна за обществено ползване и с нейна помощ можете лесно да архивирате или деархивирате всеки файл, който ви интересува. По време на работа тази помощна програма използва всички процесорни ядра, като по този начин ускорява процеса на архивиране. В допълнение, той има функцията да регулира използването на RAM, което значително ще намали натоварването на вашия компютър...