8.3 Как архивировать и распаковывать архивы по SSH
[tar] - Извлечь (распаковать) TAR Архив
$ tar -с /usr -xvf foo.tar
[tar.gz] - Извлечь и Разархивировать TAR Архив, сжатый с помощью GZIP
$ tar -xvzf foo.tar.gz -C /usr
[tar.bz2] - Извлечь и Разархивировать TAR Архив, сжатый с помощью BZIP2
$ tar -с /usr -xvjf foo.tar.bz2
[zip] Извлечь и Разархивировать ZIP Архив
unzip имя_архива.zip
Описание ключей:
- -x извлечь файлы из архива
- -v выводить список обрабатываемых файлов
- -f указать имя архива или TAR файла
- -z разархивировать содержимое, сжатое с помощью программы gzip [tar.gz]
- -j разархивировать содержимое, сжатое с помощью программы bzip2 [tar.bz2]
- -C /usr - указывает в какую папку извлечь содержимое архива? если не указывать то будет извлечено в текущий каталог
[tar] - Показать содержимое TAR архива
$ tar -tvf foo.tar
[tar.gz] - Показать содержимое TAR архива, сжатого с помощью GZIP
$ tar -ztvf foo.tar.gz
[tar.bz2] - Показать содержимое TAR архива, сжатого с помощью BZIP2
$ tar -jtvf tar.bz2
-t показать содержимое архива
Извлечь Один Файл из TAR Архива
Используйте следующие команды для извлечения одного файла, скажем bar.txt, из архива:
- $ tar -xvf foo.tar bar.txt
- $ tar -xzvf foo.tar.gz bar.txt
- $ tar -xjvf foo.tar.bz2 bar.txt
Также можно указать путь к файлу:
- $ tar -xvf foo.tar docs/bar.txt
- $ tar -xzvf foo.tar.gz docs/bar.txt
- $ tar -xjvf foo.tar.bz2 docs/bar.txt
Извлечь Одну Папку из TAR Архива
Используйте следующие команды для извлечения одной папки, скажем docs, из архива:
- $ tar -xvf foo.tar docs
- $ tar -xzvf foo.tar.gz docs
- $ tar -xjvf foo.tar.bz2 docs
Также можно извлечь какую-либо поддиректорию:
- $ tar -xvf foo.tar docs/images
- $ tar -xzvf foo.tar.gz docs/images
- $ tar -xjvf foo.tar.bz2 docs/images
Запаковать файлы в tar.gz через SSH
tar -zcvf имя_архива архивируемая_папка
например:
tar -zcvf folder.tar.gz folder/
Пояснения
- c – значит, что создается новый архив;
- f – посредством этого флага задается имя создаваемого архива;
- z – архивация будет происходить посредством архиватора gzip;
- v – в консоль будет выводиться информация о процессе архивации.
Как запаковать файлы в zip через SSH
zip -r имя_архива архивируемая_папка
например:
zip -r logs.zip logs/
Пояснения
r означает, что нужно искать файлы в папке рекурсивно, иначе в архиве бы оказалась одна пустая папка.
Извлечь архив GZ (именно в этом формате хранятся архивные логи на серверах Unix) можно командой:
gunzip fize.gz
gunzip удаляет исходный архив. Если нужно сохранить так же и исходный архив, используйте опцию -c с перенаправлением потока в файл:
gunzip -c file.gz > decompressed-file