Воскресенье, 01.11.2026, 22:14 Приветствую Вас Начинающий Linuxoid

LinuxCenter

Меню сайта
Категории раздела
Мои статьи [8]
Linux на торрентах
Мини-чат
200
Форма входа
Привет Начинающий Linuxoid мы очень рады что ты посетил наш сайт

Сообщения:

Группа:
Гости
Время:22:14

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!


Главная » Статьи » Мои статьи

Урок 7-архивирование файлов

Урок 7 


Урок седьмой, который называется архивирование и сжатие файлов.

В любой операционной системе, будь то Windows, MacOS, Solaris или *Nix системы присутствуют файлы, эти файлы бывают разными, текстовыми, графическими, звуковыми и обязательно файл имеет какой то объем, который измеряется байтами, килобайтами и т.д. Хорошо когда эти файлы относительно небольшого размера и ваш жесткий диск не маленького объема. Но когда ситуация меняется и места на носителях становится не хватать, вот тут то абсолютно все пользователи задаются вопросом – а как же сделать так чтобы хоть чуть - чуть уменьшить размеры файлов и тем самым увеличить свободное место на вашем ”харде”.

Такой прелюдией мы подошли к проблеме уменьшения размеров файлов. Эта процедура называется сжатием, и скажу вам она очень широко используется в среде Linux.

Для такой процедуры в Linux есть целый арсенал команд и приемов.

Начнем с простого примера.

Создадим текстовый файл с именем test.txt


Вводим в консоли команду touch test.txt

Откроем наш файл test.txt

Набираем в нем любой текст и копируем его в этом документе раз 20-30 чтобы наш текстовый файл увеличился в размере. Сохраняем изменения. 

В консоли пишем команду ls –lh и смотрим на объем созданного нами файла. В нашем случае он составляет 20 байт, для удобства восприятия мы ввели в команде опцию h – что позволило нам увидеть размер файла удобного для чтения. 


 
Если бы файл был размером 20 мегабайт, то не введи мы букву h в команде то результат был бы в байтах, что не особо удобно для восприятия человеку.


В общем наш файл имеет какой то объем и мы хотим этот объем уменьшить.

В системе Linux существует несколько программ для сжатия – zip, gip, bzip2. 

Рассмотрим с вами работу программы zip.


Вводим в консоли команду 

zip test.zip test.txt

контролируем выполнение и проверяем размер файла

ls –lh 

файл сжался и теперь занимает 2 байта.

Иногда, например для пересылки файлов по электронной почте необходимо переслать не один а несколько документов. Но пересылать каждый файл, пусть даже сжатый не будет правильным решением проблемы. Для нормальной отправки файлов необходимо собрать все файлы вместе, для этого необходимо сделать из файлов архив.

На заметку – архивация отличается от сжатия тем что файлы находящиеся в архиве не уменьшаются в размере, а только собираются вместе. 

Так вот для отправки файлов почтой мы сделаем файловый архив. 

Для его создания используется та же программа zip.

Если быть точным то команда zip выполняет и архивацию и сжатие.


 
У программы zip есть еще одно свойство – для нее можно задать степень сжатия, команда задается следующим образом

zip –[0-9] test.zip test.txt меняя цифры с 0 до 9 можно менять степень сжатия. 0 – сжатие отсутствует а с цифрой 9 максимальное сжатие. 

На скриншоте видно как различаются степени сжатия.

Но если мы смогли заархивировать и сжать файл, то по всем законам логики должны сделать обратную операцию – разархивацию или извлечение архива. 

Введем в консоли команду unzip test.zip и после её выполнения мы получим файлы вне архива и “расжатые”. 

Бывают такие случаи когда при разархивации происходят ошибки, и нельзя открыть этот архив. Для того чтобы избежать таких ситуаций в Linux есть средство для проверки целостности архивов.

В таком случае команда будет выглядеть следующим образом

unzip –t test.zip

если ошибок нет то все нормально.

Для использования программ gzip и bzip2 команды будут такими

gzip test.txt и bzip2 test.txt – легко заметить что при использовании команды zip – нам необходимо указывать вид файла который у нас получится, а при использовании gzip и bzip2 мы указываем только имя файла который надо преобразовать.

Для них также присутствует опция степени сжатия от 0 до 9.

Для разархивации команды следующие gunzip и bunzip2 соответственно.

Но несмотря на сходство этих команд все же есть отличие zip от других двоих gunzip и bunzip2. Они при создании архива удаляют оригинал, и чтобы такого не произошло, необходимо перенаправить созданный архив в другую папку

gunzip –c test.txt.gz >test.txt

После этого у нас будет 2 файла – оригинал и сжатый архив.


 
Если же нам необходимо просто собрать несколько файлов вместе без сжатия, то нам необходимо применять команду 


tar –cf test.txt 

ключи c и f означают create и file (создать файл).

Ну и напоследок…

Все команды zip, gzip,bzip2 и tar можно использовать совместно друг с другом.

Помимо этого командой tar можно производить помимо архивации и сжатие. 
 


Пример всего этого ниже:

tar –zcvf test.txt

опция z – означает что необходимо к архиву применить программу gzip, а v – verbose позволит контролировать процесс работы команды.

На этом наш урок окончен.

Категория: Мои статьи | Добавил: Bazil (02.06.2009)
Просмотров: 2414 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
1 Александр  
0
спасибо большое

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Софт подборка
Будь с нами!!!
Block title
Наш опрос
Чьи дистрибутивы тебе нравятся больше?
Всего ответов: 65
Project "Dulat and Linux"© 2026