ZIP - совместим с Windows

 

установить:

# sudo yum install zip unzip

 

создать zip архив:

# zip archive.zip file1.txt file2.log

Добавить в архив папку:

# zip archive.zip -r /var/log/

Посмотреть файлы в архиве:

# unzip -l archive.zip

Создать архив с паролем:

# zip -P password -r F.zip F

 

Распаковать:

# unzip archive.zip

Распаковать определенные файлы:

# unzip archive.zip 1.txt 2.txt

Распаковать в директорию:

# unzip archive.zip -d /tmp



Пример создания архива. Заархивируем все файлы и папки в директории /var/log/ и директорию /var/spool/:

# zip -r -9 test-archive.zip /var/log/* /var/spool/* -x "/var/log/apt/*"

-r - архивировать рекурсивно

-9 - степень сжатия от 1 до 9. 0 - без сжатия.

test-archive.zip - имя архива

/var/log/* /var/spool/* - архивируемые директории через пробел

-x "/var/log/apt/*" - опция, позволяющая исключить указанную папку или файл из архива

-e - опция, позволяющая задать пароль на архив

 

++++++++++++++++++++++++++++++++++++++++++++-

 

TAR -  не сжимает, только объединяет

 

tar [-опции] <имя файла tar> [файлы, которые необходимо поместить в архив при сжатии]

  • -c, --create — создать архив;
  • -r, --append — добавить файлы в конец существующего архива;
  • -x, --extract, --get — извлечь файлы из архива;
  • -f, --file — указать имя архива;
  • -j, --bzip2 — cжать/распаковать архив дополнительно при помощи bzip2;
  • -z, --gzip, --gunzip, --ungzip — сжать/распаковать архив дополнительно при помощи gzip;
  • -v, --verbose — выводить список обработанных файлов.
  • - d --delete - удалить файлы из архива
  • - A - добавить tar файлы в существующий архив
  • -u – обновить (update) архив
  • -d – операция сравнения архива с заданной файловой системой
  • -p - сохранить права доступа

 

Создать архив из каталога foo:

# tar -cvf bar.tar foo

Создать архив tar.gz:

# tar -cvzf bar.tar.gz foo

Создать архив tar.bz2:

# tar -cvjf bar.tar.bz2 foo

 

При создании архива исключить файлы .svn in /test:

# tar -czf test1.tar.gz --exclude=".svn" test/

Добавить файл foo.txt в архив:

# tar -rvf abc.tar foo.txt

 

! В сжатые архивы добавить файлы нельзя

 

Посмотреть содержимое архива:

# tar -tvf abc.tar

Посмотреть содержимое  архива tar.gz:

# tar -tvzf abc.tar.gz

Посмотреть содержимое  архива tar.bz2:

# tar -tvjf abc.tar.gz



Извлечь в текущий каталог:

# tar -xvf bar.tar

Извлечь файлы из архива test.tar.gz:

# tar -xvzf test.tar.gz

Извлечь файлы из архива test.tar.bz2:

# tar -xvjf test.tar.bz2

 

Извлечь в определенный каталог:

# tar -xvf test.tar -C ./test

Извлечь  test.tar.gz в определенный каталог:

# tar -xvzf test.tar.gz -C ./test

Извлечь test.tar.bz2 в определенный каталог:

# tar -xvjf test.tar.bz2 -C ./test

 

Разбить архив на несколько частей:

# split -b 1000m distfiles.tar distfiles.split.tar

Собрать в один файл:

# cat distfiles.split.tar* | tar xvf -

 

Создание резервной копии директории new по cron:

tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/



Tarpipe — процесс создания tar-архива в stdout и последующего извлечения содержания архива в другом каталоге из stdin. Это очень удобный метод копирования содержания одной файловой системы в другую, так как происходит полное копирование, включая атрибуты файлов, символические ссылки, файлы устройств.

# tar -C "каталог_источника" -cf - . | tar -C "каталог_назначения" -xvf -

Tar over SSH:

# tar -C каталог_источника -czpvf - . | ssh user@host "cat > каталог_назначения/backup.tgz"

Tar & 7-zip:

# tar cf - directory | 7za a -si directory.tar.7z

Чтобы восстановить из резервной копии:

# 7za x -so directory.tar.7z | tar xf -

 

+++++++++++++++++++++++++++++++++++++++++++++++-

 

Сжать файл в gz:

# gzip файл

Сжать файл в bz2:

# bzip2 файл

 

Разархивировать .tar.gz in .tar:

# gzip -d файл.tar.gz

# gunzip файл.tar.gz

Разархивировать .tar.bz2 in .tar:

# bzip2 -d файл.tar.bz2

# bunzip2 файл.tar.bz2



Материалы: