Lệnh patch trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh patch của Linux để áp dụng và hoàn tác các thay đổi đối với các file. Lệnh patch là một công cụ mạnh mẽ để cập nhật hoặc sửa đổi các file bằng cách áp dụng các khác biệt giữa các file. Bạn sẽ bắt đầu bằng cách hiểu mục đích và cú pháp của lệnh patch, sau đó học cách áp dụng một bản vá (patch) cho một file và cuối cùng là cách hoàn tác một bản vá. Lab này cung cấp các ví dụ thực tế để giúp bạn làm chủ việc sử dụng lệnh patch trong môi trường Linux của bạn.

Hiểu Mục đích và Cú pháp của Lệnh patch

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh patch trong Linux. Lệnh patch được sử dụng để áp dụng các khác biệt giữa các file vào một file gốc, cho phép bạn cập nhật hoặc sửa đổi file đó bằng các thay đổi được thực hiện trong một file riêng biệt.

Đầu tiên, hãy tìm hiểu cú pháp cơ bản của lệnh patch:

patch [options] [original_file [patch_file]]

Lệnh patch có các tùy chọn sau:

  • -p<number>: Loại bỏ số lượng thư mục đứng đầu được chỉ định khỏi tên file.
  • -i <patch_file>: Chỉ định file patch sẽ được áp dụng.
  • -R: Đảo ngược patch, loại bỏ các thay đổi thay vì áp dụng chúng.
  • -r <reject_file>: Chỉ định file reject sẽ được sử dụng.

Bây giờ, hãy xem một ví dụ về cách sử dụng lệnh patch:

## Create a sample file
echo "This is the original file." > original.txt

## Create a patch file
echo "This is the modified file." > modified.txt
diff -u original.txt modified.txt > patch.diff

## Apply the patch
patch -p0 -i patch.diff

Ví dụ đầu ra:

patching file original.txt

Trong ví dụ này, trước tiên chúng ta tạo một file mẫu original.txt. Sau đó, chúng ta tạo một phiên bản đã sửa đổi của file modified.txt và tạo một file patch patch.diff bằng lệnh diff. Cuối cùng, chúng ta áp dụng patch bằng lệnh patch, lệnh này sẽ cập nhật file original.txt bằng các thay đổi từ file patch.

Áp dụng Patch cho một File

Trong bước này, bạn sẽ học cách áp dụng một bản patch cho một file bằng lệnh patch.

Đầu tiên, hãy tạo một file mẫu và một file patch:

## Create a sample file
echo "This is the original file." > original.txt

## Create a modified version of the file
echo "This is the modified file." > modified.txt

## Generate a patch file
diff -u original.txt modified.txt > patch.diff

Bây giờ, hãy áp dụng patch cho file gốc:

## Apply the patch
patch -p0 -i patch.diff

Ví dụ đầu ra:

patching file original.txt

Sau khi áp dụng patch, file original.txt bây giờ sẽ chứa các thay đổi từ file modified.txt.

Hãy xác minh nội dung của file original.txt:

cat original.txt

Ví dụ đầu ra:

This is the modified file.

Như bạn có thể thấy, file original.txt đã được cập nhật với các thay đổi từ file patch.

Hoàn tác Patch

Trong bước này, bạn sẽ học cách hoàn tác một bản patch bằng lệnh patch.

Đầu tiên, hãy tạo một file mẫu và một file patch:

## Create a sample file
echo "This is the original file." > original.txt

## Create a modified version of the file
echo "This is the modified file." > modified.txt

## Generate a patch file
diff -u original.txt modified.txt > patch.diff

Bây giờ, hãy áp dụng patch cho file gốc:

## Apply the patch
patch -p0 -i patch.diff

Ví dụ đầu ra:

patching file original.txt

Để hoàn tác patch, chúng ta có thể sử dụng tùy chọn -R:

## Revert the patch
patch -R -p0 -i patch.diff

Ví dụ đầu ra:

patching file original.txt

Sau khi hoàn tác patch, file original.txt bây giờ sẽ chứa nội dung gốc.

Hãy xác minh nội dung của file original.txt:

cat original.txt

Ví dụ đầu ra:

This is the original file.

Như bạn có thể thấy, file original.txt đã được hoàn nguyên về trạng thái ban đầu.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cú pháp của lệnh patch trong Linux, lệnh này được sử dụng để áp dụng các khác biệt giữa các file vào một file gốc, cho phép bạn cập nhật hoặc sửa đổi file đó bằng các thay đổi được thực hiện trong một file riêng biệt. Bạn cũng đã học cách áp dụng patch cho một file bằng lệnh patch, bằng cách trước tiên tạo một file mẫu, sửa đổi nó, tạo một file patch và sau đó áp dụng patch cho file gốc. Cuối cùng, bạn đã học cách hoàn tác patch bằng cách sử dụng tùy chọn -R của lệnh patch.

400+ câu lệnh phổ biến trong Linux