Архівування файлів в 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.sharAr
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 / *А для розпакування:
- Витяг файлів з архівів формату .cab в операційних системах windows.
- Створення стислих файлів формату .cab в операційних системах windows.
- Команда compact - відображення або зміна параметрів стиснення файлів в розділах ntfs windows.
- Програми резервного копіювання linux
- Мтчелл м. - програмування для linux. Професійний підхід
- 5 Команд linux для початківців
- Як видалити файл через термінал linux
- Як створити файл в терміналі
- Як подивитися прогрес dd linux
- Як перейменувати файл linux
- Як розпакувати zip в linux
- Установка rpm пакетів в linux
- Копіювання жорсткого диска в linux
- Копіювання файлів в linux
- Команда find в linux
- Пошук дублікатів файлів в linux
- Незмінні файли в linux
- Peazip для linux
- Lame - linux administration made easy
- Типи файлів в linux
- Opera для linux