This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
утилиты_diff_и_patch [2009/03/02 12:54] val created |
утилиты_diff_и_patch [2016/04/07 09:25] (current) val [Утилиты diff и patch] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Утилиты diff и patch ====== | ====== Утилиты diff и patch ====== | ||
- | Сравнение каталогов | + | * [[https://youtu.be/vqPaHyisBB0|Видео: Утилиты diff и patch]] |
+ | * [[http://ru.wikipedia.org/wiki/Patch_(UNIX)|patch (UNIX)]] | ||
+ | |||
+ | ===== Сравнение каталогов ===== | ||
<code> | <code> | ||
- | $ diff каталог1 каталог2 | + | $ diff /usr/share /usr/local/share |
</code> | </code> | ||
- | Сравнение двоичных файлов | + | |
+ | ===== Сравнение двоичных файлов ===== | ||
<code> | <code> | ||
- | $ diff /bin/ls /usr/bin/lsvfs | + | $ diff /usr/bin/test /usr/bin/[ |
- | Binary files /bin/ls and /usr/bin/lsvfs differ | + | или |
+ | $ diff /bin/test /bin/[ | ||
+ | |||
+ | $ ls -i /usr/bin/test /usr/bin/[ | ||
+ | или | ||
+ | $ ls -i /bin/test /bin/[ | ||
</code> | </code> | ||
- | Сравнение текстовых файлов | + | ===== Сравнение текстовых файлов ===== |
<code> | <code> | ||
$ cat hello.c | $ cat hello.c | ||
+ | </code><code> | ||
#include <stdio.h> | #include <stdio.h> | ||
main () { | main () { | ||
printf("Hello World\n"); | printf("Hello World\n"); | ||
} | } | ||
+ | </code><code> | ||
$ cp hello.c hello.c.old | $ cp hello.c hello.c.old | ||
- | $ ee hello.c | + | |
- | … | + | |
$ cat hello.c | $ cat hello.c | ||
+ | </code><code> | ||
#include <stdio.h> | #include <stdio.h> | ||
main () { | main () { | ||
printf("Hello World Again\n"); | printf("Hello World Again\n"); | ||
} | } | ||
- | + | </code><code> | |
- | $ diff hello.c.old hello.c | + | $ diff hello.c.old hello.c |
+ | </code><code> | ||
3c3 | 3c3 | ||
< printf("Hello World\n"); | < printf("Hello World\n"); | ||
--- | --- | ||
> printf("Hello World Again\n"); | > printf("Hello World Again\n"); | ||
+ | </code><code> | ||
+ | diff -e hello.c.old hello.c | ||
+ | </code><code> | ||
+ | 3c | ||
+ | printf("Hello World Again\n"); | ||
+ | . | ||
+ | </code><code> | ||
+ | $ diff hello.c.old hello.c > hello.patch | ||
- | $ diff hello.c.old hello.c > patch.txt | + | $ mv hello.c.old hello.c |
- | </code> | + | |
- | Копируем patch.txt на машину со старым hello.c | + | $ patch hello.c hello.patch |
- | <code> | + | |
- | $ patch hello.c patch.txt | + | |
- | Hmm... Looks like a normal diff to me... | + | |
- | Patching file wares.txt using Plan A... | + | |
- | Hunk #1 succeeded at 3. | + | |
- | done | + | |
$ cat hello.c | $ cat hello.c | ||
+ | </code><code> | ||
#include <stdio.h> | #include <stdio.h> | ||
main () { | main () { |