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
.