Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
На самом деле это набор команд редактора для превращения одного файла в другой. Предположим, что у вас есть файл file1.c и файл diffs. Вы можете обновить свой файл с помощью команды
patch
$ <b>patch file1.c diffs</b>
Hmm... Looks like a normal diff to me...
Patching file file1.c using Plan A...
Hunk #1 succeeded at 1.
Hunk #2 succeeded at 4.
Hunk #3 succeeded at 7.
done
$
Команда
patch
У команды
patch
patch
-R
$ <b>patch -R file1.c diffs</b>
Hmm... Looks like a normal diff to me...
Patching file file1.c using Plan A...
Hunk #1 succeeded at 1.
Hunk #2 succeeded at 4.
Hunk #3 succeeded at 6.
done$
Файл file1.с возвращен в свое исходное состояние.
У команды
patch
patch
Когда вы работаете с корректировками программного обеспечения, полезно применять опцию
diff -с
patch
Если вы нашли и исправили ошибку в программе, легче, точнее и вежливее отправить автору исправленный файл, а не просто описание исправления.
Другие утилиты распространения
Программы Linux и исходный код обычно распространяются в виде файлов с именами, в которые включен номер версии, и расширениями tar.gz или tgz. Это сжатые программой
gzip
tar
gzip
$ <b>tar cvf myapp-1.0.tar main.c 2.c 3.c *.h myapp.1 Makefile5</b>
main.c
2.c
3.c
a.h
b.h
c.h
myapp.1
Makefile5
$
Теперь у вас есть файл TAR:
$ <b>ls -l *.tar</b>
-rw-r--r-- 1 neil users 10240 2007-07-09 11:23 myapp-1.0.tar
$
Сделать его меньше можно с помощью программы сжатия
gzip
$ <b>gzip myapp-1.0.tar $ ls -l *.gz</b>
-rw-r--r-- 1 neil users 1648 2007-07-09 11:23 myapp-1.0.tar.gz
$
Как видите, в результате впечатляющее уменьшение размера. Файл tar.gz можно в дальнейшем переименовать, оставив просто расширение tgz.
$ <b>mv myapp-1.0.tar.gz myapp_v1.tgz</b>
Практика задания имен, заканчивающихся точкой и тремя символами, — уступка программному обеспечению, работающему в ОС Windows, которое в отличие от программ для ОС Linux и UNIX сильно зависит от наличия корректного расширения файла. Для того чтобы получить свои файлы обратно, удалите сжатие и опять извлеките их из файла, полученного с помощью
tar
$ <b>mv myapp_v1.tgz myapp-1.0.tar.gz</b>
$ <b>gzip -d myapp-1.0.tar.gz</b>
$ <b>tar xvf myapp-1.0.tar</b>
main.с
2.c
3.c
a.h
b.h
c.h
myapp.1
Makefile5
$
С версией GNU программы tar все еще проще — вы можете создать сжатый архив за один шаг:
$ <b>tar zcvf myapp_v1.tgz main.c 2.c 3.c *.h myapp.1 Makefile5</b>
main.c
2.c
3.c
a.h
b.h
c.h
myapp.1
Makefile5
$
Также легко вы можете развернуть файл:
$ <b>tar zxvf myapp_v1.tgz</b>
main.c
2.с
3. с
a. h
b. h c.h
myapp.1
Makefile5
$
Если хотите увидеть содержимое архива, не извлекая его, следует вызвать программу
tar
tar ztvf
В предыдущих примерах мы применяли
tar
tar [<i>опции</i>] [<i>список_файлов</i>]