Linux команды архивы

TAR

# Параметр v (--verbose) отображает процесс
# создать .tar.gz 
tar -zcvf file.tar.gz /full/path 
# создать .tar.bz2
tar -jcvf file.tar.bz2 /full/path 


Многотомный архив ISP ISPmanager

# Combines all parts to one file
for i in `ls -1v FYYYY-MM-DD.USER.tgz.part*`;do cat $i >> USER.tgz;done
# Example
for i in `ls -1v F2017-12-30.petrov.tgz.part*`;do cat $i >> petrov.tgz;done
# Extract
tar -xzf .tgz -C /destination/path

7ZIP

# установка
apt-get install p7zip-full
# архив папки с полным путем, при реальном расположение файлов /full/path1
cd /
7za file.7z full/path1 full/path2 
# Не показывать процесс
# -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line
7za -bsp0 file.7z ...

ZIP

# -q : тихий режим
# Задача: архивировать структуру каталогов без файлов
# cоздаем пустой файл-флаг во всех подкаталогах
find /path/to/dir -type d -exec touch "{}"/.arch \;
# Добавляем в архив только этот флаг, со структурой папок!
zip -r test.zip /path/to/dir -i "*.arch"
# Заархивировать файлы по списку из файла
zip /path/to/arch.zip [email protected] < /tmp/file_with_list_to_arch
# ищем файлы и сразу добавляем в архив
find /var/www -type f -name index.html -print | zip /tmp/indexhtml.zip [email protected]

Не включать что-то в архив / включать ТОЛЬКО ЭТО в архив

# Не включать какие-то подкаталоги в архив
zip -r test.zip /path/to/dir [email protected]/path/to/exclude.lst
# cat /path/to/exclude.lst
/path/to/dir/logs/*
/path/to/dir/cache/*
#
# Обратная:  включать ТОЛЬКО ЭТО в архив
zip -r test.zip /path/to/dir [email protected]/path/to/exclude.lst

UNZIP

# Показать размер количество файлов и их размер в архиве
unzip -Z -t test.zip