Архівування та стиснення файлів дозволять зберігати ті ж самі дані при менших витратах такого ресурсу як постійне сховище (жорсткий диск, змінний накопичувач, оптичний диск і т. Д.). Завдяки зменшенню розміру, досягається не тільки економія місця на диску, але і прискорення передачі файлів по мережі. В даний час, коли Інтернет став дуже швидким, а постійні сховища вельми об'ємними і набагато більш дешевими ніж в минулому, важливість стиснення файлів втратила свою колишню актуальність. Проте, економію місця ніхто не відміняв, та й часто нам доводиться працювати з уже стислими файлами, отриманими з різних джерел. Уже хоча б тому необхідно мати загальне уявлення про роботу з архівами в Linux: знати як їх створювати, як їх розпаковувати, розуміти різницю між архівуванням і стисненням.
7zip - самий універсальний інструмент по роботі з архівами
Залежно від типу архівів, зазвичай, потрібно вводити відповідну команду з набором опцій. Наприклад, у нас є архів archive.gz, щоб його витягти, треба згадати команду gunzip. Тобто команда виглядає так:
Якщо ж у нас файл archive.bz2, то ми пригадуємо, що розпаковується цей архів програмою bunzip2 Тобто тепер нам потрібно вводити таку команду:
І так для різних типів архівів нам потрібно згадати команди та необхідний набір ключів. В принципі, це не такий великий обсяг інформації, але можна спростити собі життя.
Принадність 7zip в тому, що вона підтримує безліч архівів (7z, XZ, GZIP, TAR, ZIP, BZIP2, LZMA2, CAB, ARJ, CPIO, RPM, ISO і DEB), т. Е. Незалежно від типу стиснення та архівації, нам досить набрати команду
І це справедливо для будь-якого підтримуваного архіву:
Думаю, ідея зрозуміла.
Створення та розпакування архівів .zip: програми zip і unzip
zip дозволяє стискати файл (и) і каталог (і). Застосовується команда так:
Щоб в архів додавалося вміст каталогів, а не тільки їх назву, потрібно використовувати ключ -r
Для розпакування архівів zip
Щоб подивитися список вмісту архіву (але не розпаковувати його) можна зробити так:
Витягти і подивитися вміст окремих папок, файлів можна так
Відмінності стиснення та архівування
Архівування - це об'єднання декількох файлів в один. Розмір кінцевого (великого) файлу дорівнює сумі входять до нього файлів.
Стиснення - це зменшення розміру файлу за рахунок використання того чи іншого алгоритму.
На Windows ці операції, зазвичай, об'єднані в одну, яку називають архівацією. Також в одну операцію робить це 7zip і zip.
Для Linux є команди, які роблять це окремо, або які роблять це в одну дію.
Створення та розпакування файлів у форматі .gz: gzip і gunzip
Команда gzip здійснює стиснення по одному файлу. Якщо їй передати в якості аргументу папку, то вона її проігнорує. Якщо передати папку і відповідний ключ -r. то вона стисне кожен файл окремо, т. е. створить багато окремих архівів.
Ці файли будуть мати розширення .gz, розпакувати їх можна командою gunzip.
Створення та розпакування файлів у форматі .bz2: bzip2 і bunzip2
Все, що було сказано про програму gzip - стиснення по одному файлу - відноситься і до програми gzip. Різниться тільки алгоритм стиснення - стискає краще.
При стисненні створюються файли .bz2, розпакувати їх можна командою bunzip2.
Архівування програмою tar
«Чисті» архіви tar (вони мають розширення .tar) - це один файл, в якому без стиснення об'єднано кілька файлів.
Створюються вони так:
Замість одного каталогу можна передати файл / список файлів / директорію / список директорій.
Ключ c означає створити архів, а після ключа f задається ім'я архіву.
Щоб подивитися вміст архіву, потрібно набрати команду
Де ключ t означає список, а ключ f. як це було сказано вище, говорить про те, що зараз піде ім'я файлу.
Якщо набрати так, то буде більше подробиць:
Розпаковуються .tar архіви так:
Новий ключ x означає розпакування.
Ще можна зробити так:
При цьому будуть вилучені окремі файли, які вказані.
Стиснення архівів tar за допомогою gzip і bzip2
gzip і bzip вміють стискати файли, але не вміють упаковувати їх в один, tar вміє упаковувати в один, але не вміє стискати. Хм ... у вас не з'явилося ідеї?
Створення стислих архівів .tgz і .tar.gz
Розширення .tgz і .tar.gz означають одне і те ж і означають вони архів tar, яких стиснули за алгоритмом gzip. Тобто можете вибрати те розширення, яке вам більше подобається. Створити стислий архів tar з використанням стиснення gzip можна так
Тут нова опція z. яка і вказує на застосовуваний для стиснення алгоритм.
Щоб розпакувати архіви .tgz і .tar.gz:
Створення стислих архівів .bzip2 і .tar.bz2
Розширення .bzip2 і .tar.bz2 означають одне і те ж - стиснений за алгоритмом bzip2 архів tar. Для створення стисненого архіву tar із застосуванням алгоритму стиснення bzip2 потрібно набрати наступну команду:
Нова опція - j. означає вибір методу стиснення bzip2.
Щоб розпакувати архіви .bzip2 і .tar.bz2: