Читаем Командная строка Linux полностью

Здесь мы заменили файл foo.txt его сжатой версией с именем foo.txt.gz. Затем проверили целостность сжатой версии, передав параметры -t и -v. В заключение мы распаковали файл, вернув его исходное состояние.

gzip можно также использовать несколько необычным способом, через стандартные ввод и вывод:

[me@linuxbox ~]$ ls -l /etc | gzip > foo.txt.gz

Эта команда создает сжатую версию списка с содержимым каталога.

Программа gunzip, которая распаковывает файлы, сжатые с помощью gzip, предполагает, что имена файлов оканчиваются расширением .gz, поэтому его можно не указывать при условии, что имя файла в команде не соответствует существующему несжатому файлу:

[me@linuxbox ~]$ gunzip foo.txt

Если цель только в том, чтобы просмотреть содержимое сжатого текстового файла, сделать это можно так:

[me@linuxbox ~]$ gunzip -c foo.txt | less

Вместе с gzip обычно поставляется программа zcat, которая действует подобно программе gunzip с параметром -c. Она применяется к файлам, сжатым с помощью gzip, по аналогии с командой cat:

[me@linuxbox ~]$ zcat foo.txt.gz | less

ПРИМЕЧАНИЕ

Существует также программа zless. Она заменяет собой конвейер, представленный выше.

bzip2 — высокая степень сжатия ценой скорости

Программа bzip2 Джулиана Сюарда похожа на программу gzip, но использует иной алгоритм, который обеспечивает более высокую степень сжатия ценой снижения скорости работы. Во многих отношениях она действует точно так же, как gzip. Файл, сжатый с помощью bzip2, получает расширение .bz2:

[me@linuxbox ~]$ ls -l /etc > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-r--r-- 1 me    me    15738 2012-10-17 13:51 foo.txt

[me@linuxbox ~]$ bzip2 foo.txt

[me@linuxbox ~]$ ls -l foo.txt.bz2

-rw-r--r-- 1 me    me     2792 2012-10-17 13:51 foo.txt.bz2

[me@linuxbox ~]$ bunzip2 foo.txt.bz2

Как видите, bzip2 можно использовать так же, как gzip. Все параметры программы gzip (кроме -r), представленные выше, поддерживаются также программой bzip2. Но имейте в виду, что параметр степени сжатия (-число) имеет несколько иной смысл для bzip2. В паре с bzip2 поставляются программы bunzip2 и bzcat для распаковывания файлов.

Существует также программа bzip2recover для восстановления поврежденных файлов формата .bz2.

не превращайтесь в одержимых манией сжатия

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

$ gzip picture.jpg

Это напрасная трата времени и дискового пространства! Если применить процедуру сжатия к уже сжатому файлу, зачастую получается файл большего размера. Это объясняется тем, что все методики сжатия добавляют в файл некоторую служебную информацию, описывающую сжатие. Если попытаться сжать файл, не содержащий избыточной информации, сжатие не приведет к экономии места, которая могла бы покрыть расходы на хранение служебной информации.

Архивирование файлов

Часто вместе со сжатием используется операция архивирования. Архивирование — это процесс сбора множества файлов и упаковывание их в один большой файл. Архивирование часто применяется как один из этапов создания резервных копий системы. Оно также используется при перемещении старых данных из системы в некоторое долговременное хранилище.

tar — утилита архивирования на ленту

В мире программного обеспечения для Unix-подобных систем существует программа tar — классический инструмент для архивирования файлов. Ее имя, которое расшифровывается как tape archive (архив на магнитной ленте), указывает, что первоначально инструмент предназначался для создания архивов на магнитных лентах. Он до сих пор используется для решения этой традиционной задачи, но с неменьшим успехом поддерживает другие устройства хранения. Нам часто приходится видеть имена файлов с расширением .tar или .tgz, которые обозначают «простые» tar-архивы и архивы, сжатые с помощью gzip соответственно. Архив может состоять из группы отдельных файлов, иерархий каталогов или и того и другого. Команда tar имеет следующий синтаксис:

tar режим[параметры] путь...

где под режимом подразумевается один из нескольких режимов работы, перечисленных в табл. 18.2 (здесь представлены не все параметры; полный список вы найдете на странице справочного руководства (man) для tar).

Таблица 18.2. Режимы команды tar

Режим

Описание

c

Создать архив из списка файлов и/или каталогов

x

Извлечь файлы из архива

r

Добавить указанный файл и/или каталог в конец архива

t

Вывести список содержимого архива

В программе tar используется немного непривычный способ определения параметров, поэтому рассмотрим несколько примеров ее использования. Для начала воссоздадим нашу песочницу, как мы это делали в предыдущей главе:

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT