Робота з архівами в linux

Архівування та стиснення файлів дозволять зберігати ті ж самі дані при менших витратах такого ресурсу як постійне сховище (жорсткий диск, змінний накопичувач, оптичний диск і т. Д.). Завдяки зменшенню розміру, досягається не тільки економія місця на диску, але і прискорення передачі файлів по мережі. В даний час, коли Інтернет став дуже швидким, а постійні сховища вельми об'ємними і набагато більш дешевими ніж в минулому, важливість стиснення файлів втратила свою колишню актуальність. Проте, економію місця ніхто не відміняв, та й часто нам доводиться працювати з уже стислими файлами, отриманими з різних джерел. Уже хоча б тому необхідно мати загальне уявлення про роботу з архівами в 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:

Схожі статті