Архівування файлів в linux

У наші дні ми стикаємося з файлами архівів дуже часто і на всіх платформах: Windows, Mac або Linux. Це можуть бути програми, резервні копії систем або баз даних або просто архів файлів. Нам також часто доводиться створювати свої архіви в Linux, щоб передати кілька файлів друзям або завантажити на файлообмінник. У вигляді архівів поширюються пакети програм, вихідні коди, а також багато інших файлів, які розповсюджуються на просторах інтернету. Навчитися виконувати архівування файлів в Linux через термінал дуже важливо, можливо це вам знадобитися, коли не буде доступу до графічного інтерфейсу, або просто з часом в терміналі стане більш приємно працювати.

У цій інструкції я хочу детально розглянути утиліти для резервного копіювання на Linux, ми розглянемо не тільки найпопулярнішу і універсальну утиліту - tar, але і інші менш відомі, а також популярні алгоритми стиснення.

Архівування в Linux

Важливо відзначити, що архівування в linux це не одне і те ж що і стиснення файлів linux. Архівування - це об`єднання декількох невеликих файлів в один, з цілю більш зручної подальшої передачі, зберігання, шифрування або стиснення. Як я вже сказав, архівація виконується спеціальними утилітами. Ми не будемо чіпати архівацію файлів в графічному інтерфейсі, ви з ними розберетеся самі, наша тема - термінал.

Найпопулярнішою для Linux утилітою для архівації є tar. Вона використовується майже всюди, для архівації початкових кодів, упаковки пакетів. Для стиснення використовуються багато інших програм, в залежності від алгоритму стиснення, наприклад, zip, bz, xz, lzma і т д. Спочатку виконується архівація, потім стиснення, окремими програмами. Автоматичний запуск деяких утиліт стиснення для щойно створеного архіву підтримується в tar і інших подібних програмах за допомогою спеціальних опцій.

Також корисною можливістю архівації є шифрування. Але тепер давайте розглянемо які існують утиліти, за допомогою яких виконується архівування файлів linux і як ними користуватися.

Tar

Tar - це стандартна утиліта, за допомогою якої виконується архівування файлів Linux. Поступово з невеликої програми архівації вона перетворилася на потужний інструмент, що підтримує роботу з багатьма варіантами архівів і алгоритмами стиснення. Програма підтримує велику кількість параметрів. Давайте розглянемо її синтаксис і основні параметри:

$ tar опціїf файл_для_запісі / папка_файламі_для_архіва

А тепер розберемо основні опції:

  • A - додати файл до архіву
  • c - створити архів в linux
  • d - порівняти файли архіву і розпаковані файли в файлової системі
  • j - стиснути архів за допомогою Bzip
  • z - стиснути архів за допомогою Gzip
  • r - додати файли в кінець архіву
  • t - показати вміст архіву
  • u - оновити архів щодо файлової системи
  • x - витягти файли з архіву
  • v - показати детальну інформацію про процес роботи
  • f - файл для запису архіву
  • -C - розпакувати в зазначену папку
  • --strip-components - відкинути n вкладених папок

Тепер давайте розглянемо архівування файлів в Linux. Щоб створити архів використовуйте таку команду:

$ Tar -xvf archive.tar.gz

Дуже просто запам`ятати для упаковки використовується опція c - Create, а для розпакування - x - eXtract.

Стиснутий архів створюється точно так же, тільки з опцією -z, це в разі, якщо використовувалося шифрування gizp, якщо потрібно bzip то застосовується опція -j:

$ Tar -zcvf home.tar.gz ~ /

Хоча можна вчинити по-іншому, той же архів ми отримаємо якщо спочатку створити звичайний архів за допомогою tar, а потім стиснути його утилітою для стиснення, тільки тут ми отримуємо більше контролю над процесом стиснення:

gunzip archive.tar.gz


Утиліти стиснення ми розглянемо нижче.

Щоб додати файл до архіву використовуйте:

$ Tar -xvf archive.tar file.txt

Можна зробити кілька файлів за шаблоном відповідності за допомогою параметра wildcard, наприклад, винесемо все php файли:

$ Tar -xvf archive.tar -C / path / to / dir

Стандартну утиліту розглянули, тепер коротко розглянемо її альтернативи. Їх не так багато, і більшість з них вже застарілі.

Shar

Shar дозволяє створювати архіви. По суті, це shell, і для розпакування йому необхідна оболонка Bash або інша сумісна з Bourne Shell. У Shar є кілька переваг, але також він потенційно небезпечний, так як архів являє собою виконуваний файл.

Опції shar:

  • -o - зберігати архів у файл замість стандартного виводу
  • -l - обмежити розмір вихідного файлу
  • -L - обмежити розмір вихідного файлу і розбити його на частини
  • -n - ім`я архіву не буде включено в заголовок
  • -a - дозволити автоматичну генерацію заголовків

Відео: Завантажники файлів в Linux Mint

Приклади використання shar для того щоб заархівувати папку linux:




Створюємо shar архів:

$ ./filename.shar

Ar

ar - утиліта для створення і управління архівами. В основному використовується для архівації статичних бібліотек, але може бути використана для створення будь-яких архівів. Раніше використовувалася досить часто але була витіснена утилітою tar. Зараз використовується тільки для створення та оновлення файлів статичних бібліотек.

Опції Ar:

  • - d - видалити модулі з архіву
  • - m - переміщення членів в архіві
  • - p - надрукувати специфічні члени архіву
  • - q - швидке додавання
  • - r - додати члена до архіву
  • - s - створити індекс архіву
  • - a - додати новий файл до існуючого архіву

Тепер розглянемо приклади використання. Створимо статичну бібліотеку libmath.a з об`єктних файлів substraction.o і division.o:

$ Ar x libmath.a

Таким чином, можна розпакувати будь-яку статичну бібліотеку.

Cpio

cpio - означає Copy in and out (скопіювати введення і виведення). Це ще один стандартний архіватор для Linux. Активно використовується в менеджері пакетів Red Hat, а також для створення initramfs. Архівація в Linux для звичайних файлів за допомогою цієї програми не застосовується.

Опції утиліти:

  • -a - очистити записані часові проміжки звернення до файлів після їх копіювання
  • -A - додати файл
  • -d - створити каталоги при необхідності

Приклад використання. Створюємо cpio архів:

file1.o file2.o file3.o $ cpio -idv lt; / Path / to folder / obj.cpio

Архівування папки linux виконується також саме.

Стиснення архівів в Linux

Як створити архів в linux розглянули. Тепер давайте поговоримо про стиснення. Як я говорив, для стиснення використовуються спеціальні утиліти. Розглянемо коротко кілька з них

Gzip

Найчастіше застосовується Gzip. Це стандартна утиліта стиснення в Unix / Linux. Для декомпресії використовується gunzip або gzip -d Спочатку розглянемо її синтаксис:

$ gzip опції файл

$ gunzip опції файл

Відео: Командний рядок Unix / Linux. Урок 2 - копіювання і переміщення файлів

Тепер розберемо опції:

  • -c - виводити архів в стандартний висновок
  • -d - розпакувати
  • -f - примусово розпаковувати або стискати
  • -l - показати інформацію про архів
  • -r - рекурсивно перебирати каталоги
  • -0 - мінімальний рівень стиснення
  • -9 - максимальний рівень стиснення

Приклади використання ви вже бачили в описі утиліти tar. Наприклад, виконаємо стиснення файлу:

gunzip -c архів.gz

Але щоб стиснути папку в Linux вам доведеться спочатку заархівувати її за допомогою tar, а вже потім стиснути файл архіву за допомогою gzip.

Bzip

bzip2 - ще одна альтернативна утиліта стиснення для Linux. Вона більш ефективна ніж gzip, але працює повільніше. Для розпакування використовуйте утиліту bunzip2.

Відео: 16.Linux для Початківців - Права Доступу та володіння файлами і директоріями

Описувати опції bzip2 я не буду, вони аналогічні gzip. Щоб створити архів в Linux використовуйте:

$ Zip -r / path / to / files / *

А для розпакування:

Поділися в соціальних мережах:

Схожі
Lame - linux administration made easyLame - linux administration made easy
Незмінні файли в linuxНезмінні файли в linux
Команда compact - відображення або зміна параметрів стиснення файлів в розділах ntfs windows.Команда compact - відображення або зміна параметрів стиснення файлів в розділах ntfs windows.
Права доступу до файлів в linuxПрава доступу до файлів в linux
Команда find в linuxКоманда find в linux
Програми резервного копіювання linuxПрограми резервного копіювання linux
Витяг файлів з архівів формату .cab в операційних системах windows.Витяг файлів з архівів формату .cab в операційних системах windows.
Opera для linuxOpera для linux
Створення стислих файлів формату .cab в операційних системах windows.Створення стислих файлів формату .cab в операційних системах windows.
Типи файлів в linuxТипи файлів в linux
» » Архівування файлів в linux