Skip to content

Linux Archives

TAR

Create gz

tar -zcvf file.tgz /full/path 
Create bz2
tar -jcvf file.tar.bz2 /full/path 
Extract
# to specific directory: -C /var/www
tar -xvf archive.tgz
Extract multipart archive
cat arc.tgz.part* | tar -xzf
Multipart archive from ISP-manager
# Combines all parts to one file
for i in `ls -1v FYYYY-MM-DD.USER.tgz.part*`;do cat $i >> archive.tgz;done
# Extract
tar -xzf archive.tgz -C /destination/path

7ZIP

Setup

apt-get install p7zip-full
Create
7za file.7z /full/path1  
Don't show progress
# -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 -@ < /tmp/file_with_list_to_arch
# ищем файлы и сразу добавляем в архив
find /var/www -type f -name index.html -print | zip /tmp/indexhtml.zip -@

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

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

UNZIP

Show files and their size in the archive

unzip -Z -t test.zip