Lệnh patch trong linux với các ví dụ dễ hiểu

Lệnh patch trong Linux giúp bạn dễ dàng cập nhật các file bằng cách áp dụng những thay đổi từ một file "diff". Nó rất hữu ích để chia sẻ các sửa đổi nhỏ cho mã nguồn mà không cần gửi toàn bộ file. Sử dụng patch giúp quá trình cập nhật trở nên nhanh chóng và hiệu quả, đặc biệt khi làm việc nhóm.

Lệnh patch trong linux là gì?

Lệnh command patch in linux là một công cụ mạnh mẽ giúp bạn cập nhật các tệp tin bằng cách áp dụng các thay đổi được lưu trữ trong một tệp "patch". Tệp patch này chứa các dòng mã thêm vào, xóa đi hoặc sửa đổi so với phiên bản gốc của tệp tin. Sử dụng patch giúp việc chia sẻ và áp dụng các thay đổi nhỏ trở nên dễ dàng hơn, thay vì phải gửi toàn bộ tệp tin đã chỉnh sửa. Nó đặc biệt hữu ích trong việc cập nhật mã nguồn phần mềm hoặc cấu hình hệ thống một cách nhanh chóng và hiệu quả. Bạn có thể coi patch như một "bản vá" giúp sửa lỗi hoặc thêm tính năng mới cho các tệp tin hiện có.

Tìm 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 dùng để áp dụng các khác biệt giữa các file vào file gốc.

Việc này cho phép bạn cập nhật hoặc sửa đổi file bằng các thay đổi trong một file riêng.

Đầu tiên, hãy cùng 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 đầ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

Kết quả ví dụ:

patching file original.txt

Trong ví dụ này, đầu 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 là modified.txt.

Chúng ta tạo file patch patch.diff bằng lệnh diff để so sánh hai file.

Cuối cùng, chúng ta áp dụng patch bằng lệnh patch để cập nhật original.txt.

File original.txt sẽ được cập nhật với các thay đổi từ file patch.

Áp dụng Patch vào một File

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

Đầu tiên, chúng ta hãy tạo một file mẫu và một file patch để thực hành nhé.

## 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 cùng nhau áp dụng patch vào file gốc (original file) nào.

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

Đây là ví dụ về output bạn có thể thấy:

patching file original.txt

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

Chúng ta hãy kiểm tra nội dung của file original.txt để xác nhận nhé.

cat original.txt

Đây là ví dụ về output bạn có thể thấy:

This is the modified file.

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

Hoàn tác một Patch

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

Đầu tiên, chúng ta hãy tạo một file mẫu và một file patch để thực hành nhé.

## 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 vào file gốc (original file) của chúng ta nào.

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

Đây là ví dụ về output bạn có thể thấy:

patching file original.txt

Để hoàn tác patch, chúng ta có thể sử dụng tùy chọn -R rất hữu ích.

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

Ví dụ về output khi hoàn tác patch:

patching file original.txt

Sau khi hoàn tác patch, file original.txt sẽ trở lại nội dung ban đầu.

Hãy cùng kiểm tra nội dung của file original.txt để xác nhận nhé.

cat original.txt

Đây là ví dụ về output bạn sẽ thấy:

This is the original file.

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

Kết luận cho linux patch command

Tóm lại, lệnh patch là một công cụ vô cùng hữu ích trong việc cập nhật và sửa đổi các tệp tin, đặc biệt là mã nguồn. Nó giúp bạn dễ dàng áp dụng các thay đổi nhỏ mà không cần phải tải lại toàn bộ dự án. Việc sử dụng linux patch command giúp tiết kiệm thời gian và băng thông, đồng thời giảm thiểu rủi ro gây ra bởi việc chỉnh sửa thủ công. Hãy thử nghiệm với các bản vá đơn giản để làm quen với quy trình này. Bạn sẽ thấy rằng nó là một kỹ năng quan trọng cho bất kỳ ai làm việc với hệ thống Linux. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh patch và những lợi ích mà nó mang lại. Chúc bạn thành công trên con đường khám phá Linux!

Last Updated : 14/10/2025