[ Пред. ] [ Содержание ] [ След. ]

zip

[ @console @archive @zip @tar ]

 


Запаковать файлы


zip archivename.zip filename1 filename2 filename3


Чтобы не выводить лог на экран, нужен параметр “-q”:


zip -q archivename.zip filename1 filename2 filename3


Запаковать каталог


zip -r archivename.zip directory_name

Можно комбинировать упаковку нескольких определенных каталогов и файлов по-отдельности:


zip -r archivename.zip directory_name1 directory_name2 file1 file1


Настроить уровень сжатия


По-умолчанию уровень сжатия “-6”. 0 = без компрессии. 9 = наиплотнейше (от этого процессор будет дольше и сильнее пыхтеть).


zip -9 -r archivename.zip directory_name


Алгоритм сжатия (надо знать заранее) выбирают через параметр “-Z”:


zip -r -Z bzip2 archivename.zip directory_name


Запаролить архив


zip -e archivename.zip directory_name


Разорвать архив на маленькие файлы


Если файла на пять гигов, а надо разбить их на одногиговые, то:


zip -s 1g -r archivename.zip directory_name


Появятся последовательно названные файлы:



Распаковать


unzip archivename.zip


Если в архиве есть другие zip-файлы, то распаковать вообще всё:


unzip -W \*.zip


Мелочи


Собрать в архив все mp3 из текущего каталога и установить сжатие ”0”:


zip -0 archivename *.mp3


Упаковать все файлы в каталоге:


zip archivename *


Упаковать все скрытые файлы в каталоге:


zip archivename .* *


tar.gz


В Linux с доисторических времен существует формат для архивирования tar (англ. tape archive). Первоначально программа tar использовалась для создания архивов на магнитной ленте, а в настоящее время tar используется для хранения нескольких файлов внутри одного файла для распространения программного обеспечения, а также по прямому назначению — для создания архива файловой системы. В tar-архив записывается информация о структуре каталогов, о владельце и группе отдельных файлов, а также временны́е метки файлов.


Как и другие утилиты Unix, tar — специализированная программа, которая следует философии Unix «делать только одну вещь» (в данном случае — работать с архивами формата tar), «но делать её хорошо». Поэтому tar не создаёт сжатых архивов, а использует для сжатия внешние утилиты, такие, как gzip и bzip2. Поэтому у файлов с tar-архивами всегда двойные расширения — .tar.gz или .tgz — это указание на то, что для компрессии был применен gzip


Создать tar-архив


tar -czvf archive-name.tar.gz file-name


-c — создать новый файл с архивом
-z — использовать компрессию gzip
-v — выводить на экран весь список архивируемых файлов
-f — назвать новый файл… (в данном случае —“archive-name.tar.gz”)
file-name — список одного или множества файлов и/или каталогов, которые войдут в новый архив


Ту же команду можно представить более наглядно:


tar --create --gzip --verbose --file archive-name.tar.gz file-name


Каталоги по своей сути тоже являются файлами, поэтому tar не нужно знать, что ему предлагают упаковать, файл или каталог.


Обычно все используют только “-czf”.


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


tar -czvf /home/user/archive.tar.gz file1 file2


Создать архив из каталога который находится в другом месте:


tar -czvf my_website.tar.gz /var/www/mywebsite


Создать архив (без компрессии) и закинуть его по ssh на удалённый компьютер:


tar cvf - project | ssh user@ip_addr "tar xv -C /var/www"


Распаковать tar-архив


tar -xvf archive.tar.gz


Распаковать в другой каталог:


tar -xvf archive.tar.gz -C /home/linuxize/files


Вытащить из архива определенный файл:


tar -xf archive.tar.gz file1.txt


Вытащить из архива определенный каталог:


tar -xf archive.tar.gz dir1


Вытащить из архива только mp3-файлы:


tar -xvf archive.tar.gz --wildcards '*.mp3'


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


tar -tf archive.tar.gz


Получим что-то вроде


file1
file2
file3