Shar (Shell Archive) — це утиліта для створення архівних файлів на Unix-подібних системах, таких як Linux. Вона дозволяє пакувати кілька файлів і директорій в один скрипт shell, який потім можна розпакувати, просто виконавши цей скрипт. Фактично, Shar перетворює групу файлів на текстовий скрипт, який містить команди для відновлення цих файлів.
Основні особливості Shar:
-
Створення архіву:
shar file1 file2 directory/ > archive.shar
- Ця команда створює файл
archive.shar
, який містить всі файлиfile1
,file2
і вміст директоріїdirectory/
.
-
Розпакування архіву:
sh archive.shar
- Виконання цієї команди розпаковує файли, збережені в архіві, у поточну директорію.
-
Формат архіву:
- Архів Shar є текстовим файлом, який містить командні скрипти shell, що можуть бути виконані для відновлення архівованих файлів.
- Це робить його дуже зручним для передачі файлів через текстові канали, наприклад, електронну пошту або чат.
-
Команди та опції:
-o
або--overwrite
- дозволяє перезаписувати існуючі файли при розпакуванні.-c
або--check
- додає команди перевірки контрольних сум до архіву, щоб переконатися, що файли не були пошкоджені.
-
Переваги:
- Легкість використання.
- Не потребує спеціальних інструментів для розпакування, оскільки архівний файл сам є скриптом.
- Придатність для текстової передачі.
-
Обмеження:
- Невисока ефективність стиснення порівняно з іншими форматами архівів, такими як
.tar.gz
або.zip
. - Може не зберігати повну інформацію про права доступу до файлів.
- Невисока ефективність стиснення порівняно з іншими форматами архівів, такими як
Приклад створення та розпакування архіву
Створення архіву:
shar file1.txt file2.txt > archive.shar
Розпакування архіву:
sh archive.shar
Shar є корисним інструментом для архівування файлів, коли потрібна простота та універсальність. Однак для більш складних завдань архівації, таких як збереження прав доступу або високе стиснення без втрат, можуть бути кращі інші утиліти, такі як tar
або zip
.