MyTetra Share
Делитесь знаниями!
Как в Linux упаковать dot-файлы и директории в ZIP архив
Время создания: 09.06.2022 14:04
Текстовые метки: linux, zip, архиватор, архив, dot, файл, директория, папка, каталог, скрытый, добавить, упаковать, поместить, маска
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/16547726980nlmxjc6xx/text.html на raw.github.com

Архиватор zip разных версий по-разному ведет себя со скрытыми файлами и директориями (тех, у которых имя начнается на точку). И даже архиватор одной и той же версии может по разному обрабатывать такие файлы и директории в зависимости от настроек. Проблема в том, что в некоторых системах символ маски "*" означает любую последовательность значимых символов, а в других добавляется "за исключением символа точки". Возможно, это связано с версией bash, настройками bash или версией ядра.


Другими словами, на некоторых Linux-системах следующая команда упаковки текущего каталога не поместит в архив файлы и подкаталоги, имя которых начинается на точку:



zip -r zipFileName *



За этим всегда надо следить и проверять содержимое созданных файлов.


Как же заставить zip упаковывать dot-файлы в архив? Можно воспользоваться следующим лайфхаком: указать для архивации не все файлы/каталоги в текущей директории через маску, а саму текущую директорию. Вот так:



zip -r zipFileName ./



В этом случае выборка файлов по маске не используется. И все файлы попадают в архив. Причем структура архива точно такая же как и в первом варианте, файлы располагаются точно так же, только добавляются еще и dot-файлы.


Так же в этом разделе:
 
MyTetra Share v.0.58
Яндекс индекс цитирования