Para corrigir um arquivo significa modificá-lo, com a conotação de que a modificação é geralmente pequena. O uso vem do uso geral de inglês, onde um patch é uma pequena modificação (para um pedaço de pano, por exemplo). Quando se trata de arquivos, um patch nem sempre é um reparo.
Um patch é uma série de instruções que descrevem como modificar um arquivo ou um conjunto de arquivos. No mundo unix, um patch geralmente é a saída do comando diff
, descrevendo as alterações em um arquivo de texto. Um patch neste sentido descreve as modificações em termos de adição, remoção ou modificação de linhas nos arquivos. O utilitário patch
aplica essas instruções para modificar um arquivo ou conjunto de arquivos. Ele tenta ser inteligente ao aplicar vários patches ao mesmo arquivo, já que o primeiro patch pode causar alterações que impedem que o segundo seja aplicado, porque o arquivo não está mais no estado esperado. Como diff
e patch
baseiam strongmente sua operação em linhas, eles não são adequados para arquivos binários.
xxd
é um utilitário genérico para trabalhar com arquivos binários. Uma de suas capacidades é fazer modificações em um arquivo. Por exemplo, o comando xxd -r - xxd.1
significa aplicar as modificações descritas na entrada padrão. O patch de exemplo (ou seja, as instruções de modificação) 0000037: 3574 68
mean: iniciando no offset 0x37
(que é 55 em decimal), substitua os próximos três bytes por 0x35, 0x74 e 0x68 (ou seja, os três caracteres 5th
). p>