...
Суббота , 16 ноября 2024

Требуется довести исправленный

Требуется довести исправленный текст программы до пользователей. Очевидно, что пользователям достаточно сообщить только исправления, т. е. отчет об изменениях, создаваемый по команде

[user]$ diff program.c program.c.new › program.c.diff

Естественно, объем файла program.c.diff существенно меньше объема файла program.c.new, так что можно было бы получить существенную экономию на передаче файлов, если отправлять пользователям только файл program.c.diff (ведь объемы современных программных приложений составляют десятки мегабайт). Однако пользователи должны иметь возможность внести эти исправления в имеющуюся у них версию программы. Эту задачу позволяет решить команда patch. Имея файлы program.c и program.c.diff, пользователь может дать команду

[user]$ patch program.c program.c.diff › program.c.new

в результате выполнения которой он получит файл program.c.new.

4.7. КОМАНДЫ АРХИВИРОВАНИЯ ФАЙЛОВ

При работе с Linux вы, может быть, еще не скоро встретитесь с необходимостью работать с большинством консольных команд, поскольку имеются такие оболочки, как Midnight Commander или графические оболочки типа KDE. Но с командами архивирования (точнее, разархивирования) вам работать придется обязательно, хотя бы потому, что вы будете часто встречать архивированные файлы в Интернете.

Основным средством архивирования в UNIX (а, следовательно, и в Linux) является комплекс из двух программ – tar и gzip. Хотя никто не запрещает пользоваться arj, pkzip, lha, rar и т. д. – версии этих программ для Linux общедоступны. Просто уж исторически сложилось, что пользователи Unix чаще применяют именно tar и gzip, и именно в таком формате распространяется большая часть программного обеспечения для Unix. Поэтому овладеть работой с tar и gzip – дело чести любого пользователя Linux.

4.7.1. ПРОГРАММА TAR

У читателя, привыкшего к архиваторам типа arj, которые собирают файлы в единый архив и сразу ‘сжимают’ их, может возникнуть вопрос ‘А зачем использовать две программы?” Все дело в том, что tar расшифровывается как Tape ARchiver, он не сжимает данные, а лишь объединяет их в единый файл с последовательным доступом для последующей записи на ленту. По умолчанию этот архивный файл создается на ленточном накопителе, точнее на устройстве /dev/rmt0. Если вы хотите создать архивный файл на диске, то необходимо использовать команду tar с опцией f, после которой указывается имя архивного файла.

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

Таблица 4.5. Основные опции программы tar

Опция Значение
-A, –catenate, –concatenate Добавляет файлы в существующий архив
-c, –create Создает новый архив
-d, –diff, –compare Найти различия между архивом и файловой системой
–delete Удалить из архива (не может использоваться с магнитной лентой!)
-r, –append Дописывает файлы в конец архива
-t, –list Выводит список файлов архива
-u, –update Добавляет только файлы, которые новее, чем имеющаяся в архиве копия
-x, –extract, –get Извлечь файлы из архива

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

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

Я не буду давать здесь описание всех опций команды tar, просто приведу несколько командных строк для выполнения самых необходимых действий с архивами.

Чтобы создать один tar-архив из нескольких файлов, используется команда:

[user]$ tar -cf имя_архива файл1 файл2 …

где опция -c сообщает программе, что необходимо создать (create) архив, а опция f говорит о том, что архив должен создаваться в виде файла (имя которого должно следовать сразу за этой опцией).

В именах файлов, которые сохраняются в архиве, можно использовать шаблоны имен файлов, в том числе просто символы-заместители* и?. Благодаря этому можно очень короткой командой отправить в архив сразу много файлов. Например, для того, чтобы создать архив, содержащий все файлы одного из подкаталогов (пусть это будет sub_dir) текущего каталога, достаточно дать команду

О нас admin

Проверить еще

Backyard Landscape

Что такое быстровозводимые здания сегодня?

Желание жить только в самом безопасном и комфортном месте присуще каждому человеку, ведь это позволяет …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.