NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
26/12/2024
Lượt xem

Hướng dẫn thực hành lệnh patch trong Linux với 4 ví dụ chi tiết

26/12/2024
9 phút đọc
Lượt xem

Đánh giá

Lệnh patch trong Linux là công cụ dùng để cập nhật mã nguồn của chương trình bằng cách xác định và áp dụng những thay đổi được mô tả trong bản vá (patch file). Để hiểu rõ hơn về lệnh patch cũng như cách sử dụng lệnh, bạn hãy xem một số ví dụ thực tế dưới đây.

Những điểm chính

  • Hiểu rõ lệnh patch trong Linux: Bạn sẽ nắm được định nghĩa và chức năng cơ bản của lệnh patch trong Linux, cũng như cách lệnh giúp vá lỗi và cập nhật các file dễ dàng.
  • Nắm vững cú pháp và tùy chọn của lệnh patch: Bạn sẽ được hướng dẫn về cú pháp cơ bản và các tùy chọn hữu ích của lệnh này để sử dụng chính xác và hiệu quả.
  • Khám phá 4 ví dụ thực tế về lệnh patch: Bạn sẽ học cách áp dụng và kiểm tra các bản vá, sao lưu file gốc và cách hoàn tác các thay đổi với các ví dụ thực tế.
  • Vietnix – Giải pháp VPS với hiệu suất vượt trội và bảo mật tối đa.

Lệnh patch trong Linux là gì?

Lệnh patch trong Linux là lệnh giúp cập nhật các file (thường là mã nguồn) bằng cách áp dụng các thay đổi được mô tả trong file vá (patch file) – Đây là file chứa sự khác biệt giữa file gốc và file đã sửa đổi. Lệnh patch sẽ đọc file vá và áp dụng các thay đổi tương ứng lên file gốc. Tóm lại, lệnh pacth thường được sử dụng để cập nhật và sửa lỗi trong phần mềm.

Lệnh patch trong Linux là lệnh dùng để cập nhật file bằng các thay đổi từ file vá
Lệnh patch trong Linux là lệnh dùng để cập nhật file bằng các thay đổi từ file vá

Cú pháp

patch [OPTIONS] [ORIGINAL_FILE] [PATCHFILE]

Trong đó:

  • [OPTIONS]: Các tùy chọn bổ sung giúp điều chỉnh hoạt động của lệnh patch.
  • [ORIGINAL_FILE]: Là file gốc mà bạn muốn áp dụng các thay đổi.
  • [PATCHFILE]: Là file chứa các thay đổi cần áp dụng, thường được tạo ra bởi lệnh diff.

iconLưu ý

Các phần nằm trong dấu ngoặc vuông cho biết tùy chọn đó là không bắt buộc. Nếu không chỉ định file gốc, lệnh patch sẽ tự động tìm kiếm file phù hợp dựa trên nội dung của file vá.

Tùy chọn 

Tùy chọnMô tả
-b/--backupTạo bản sao lưu của file gốc trước khi áp dụng vá.
-c/--contextChỉ định số dòng ngữ cảnh xung quanh thay đổi được đưa vào file vá.
-d dir/--directory=dirThay đổi thư mục làm việc hiện tại thành dir trước khi thực hiện bất kỳ thao tác nào.
-D define/--ifdef=defineSử dụng cấu trúc #ifdef … #endif để đánh dấu các thay đổi, trong đó define là ký hiệu để phân biệt.
--dry-runThử áp dụng vá và hiển thị kết quả mà không thay đổi bất kỳ file nào.
--helpHiển thị tóm tắt các tùy chọn và thoát.
-v/--versionHiển thị thông tin về phiên bản, mức độ sửa đổi của bản vá và thoát chương trình.
Tùy chọn lệnh patch

iconLưu ý

  • Để xem danh sách đầy đủ các tùy chọn, bạn có thể sử dụng lệnh man patch.
  • Các tùy chọn trong Linux phân biệt chữ hoa chữ thường.

Trong phần này, mình sẽ hướng dẫn bạn cách sử dụng lệnh patch trong Linux thông qua các ví dụ thực tế, với 2 file là file1.cfile2.c.

Làm việc với 2 file
Làm việc với 2 file

Ví dụ 1: Áp dụng file vá bằng lệnh patch

Bạn có thể dễ dàng cập nhật những thay đổi trong file gốc bằng file vá, với điều kiện cả 2 file cùng nằm trong một thư mục. Để làm điều này, bạn làm theo 4 bước dưới đây.

Bước 1: Mở Terminal Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter để tạo file vá chứa sự khác biệt giữa file1.cfile2.c:

diff -u file1.c file2.c > file.patch

iconLưu ý

Lệnh diff so sánh file1.cfile2.c để tìm sự khác biệt và lưu kết quả vào file vá file.patch.

Bước 3: Nhập lệnh sau và nhấn Enter để xem nội dung của file vá myfile.patch:

cat file.patch
Áp dụng file vá
Áp dụng file vá

Bước 4: Nhập lệnh sau và nhấn Enter để áp dụng các thay đổi trong file.patch lên file file1.c.

patch < myfile.patch
Áp dụng các thay đổi trong file
Áp dụng các thay đổi trong file

Ví dụ 2: Sao lưu file gốc trước khi áp dụng vá

Để sao lưu file gốc trước khi áp dụng vá, bạn sử dụng lệnh patch kết hợp với tùy chọn -b. Với 4 bước thực hiện như sau:

Bước 1: Mở Terminal Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter để tạo một bản sao lưu của file1.c trước khi áp dụng vá.

patch -b < file.patch

Bước 3: Nếu được hỏi về việc đảo ngược vá, bạn hãy nhập N và nhấn Enter để bỏ qua thao tác.

Sao lưu file gốc trước khi áp dụng vá
Sao lưu file gốc trước khi áp dụng vá

Bước 4: Bạn có thể dùng lệnh ls để kiểm tra kết quả.

Kiểm tra kết quả
Kiểm tra kết quả

Ví dụ 3: Kiểm tra file vá bằng lệnh patch

Bạn có thể kiểm tra kết quả của việc áp dụng vá mà không ảnh hưởng đến mã nguồn gốc bằng cách sử dụng tùy chọn --dry-run. Bạn thực hiện theo 3 bước:

Bước 1: Mở Terminal Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

patch --dry-run < file.patch

Bước 3: Nhập N và nhấn Enter để bỏ qua thao tác đảo ngược khi được hỏi.

Sau khi thực hiện các bước trên, bạn sẽ thấy tùy chọn --dry-run sẽ mô phỏng việc áp dụng vá và hiển thị kết quả dự kiến mà không thay đổi file file1.c.

Kiểm tra file vá
Kiểm tra file vá

Ví dụ 4: Đảo ngược hoặc hoàn tác bản vá bằng lệnh patch

Để đảo ngược bản vá file.patch trên mã nguồn, bạn thực hiện theo 4 bước sau:

Bước 1: Mở Terminal Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter để áp dụng bản vá:

patch < myfile.patch

Bước 3: Nhấn NEnter để bỏ qua các bước.

Bước 4: Nhập các lệnh sau và nhấn Enter sau mỗi lệnh để kiểm tra và đảo ngược bản vá:

ls -l myfile.c
patch -R < myfile.patch
ls -l file1.c

Kết quả: Lệnh patch -R sẽ đảo ngược các thay đổi do file.patch tạo ra. Việc kiểm tra kích thước file bằng lệnh ls -l trước và sau khi đảo ngược sẽ cho thấy kích thước của file1.c đã giảm xuống, chứng tỏ bản vá đã được hoàn tác. Cụ thể, bạn có thể thấy kích thước file giảm từ 117 byte xuống 66 byte.

Hoàn tác bản vá
Hoàn tác bản vá

Vietnix – Giải pháp VPS với hiệu suất vượt trội và bảo mật tối đa

Vietnix mang đến dịch vụ VPS với tốc độ không giới hạn và bảo mật tối đa cho mọi dự án. Các gói VPS hiệu suất cao của Vietnix được tối ưu hóa để đáp ứng nhu cầu tài nguyên lớn, giúp website và ứng dụng hoạt động nhanh chóng, ổn định mà không lo gián đoạn.

Đặc biệt, dịch vụ VPS AMD của Vietnix được trang bị ổ cứng 100% NVMe mạnh mẽ và CPU AMD EPYC hiện đại, mang lại hiệu suất vượt trội và khả năng vận hành ổn định cho các ứng dụng đòi hỏi tài nguyên lớn. Cùng với hỗ trợ kỹ thuật 24/7 đảm bảo hệ thống luôn hoạt động thông suốt, đáp ứng mọi nhu cầu của khách hàng.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn 
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/ 

Lệnh patch đóng vai trò quan trọng trong phát triển phần mềm, đặc biệt là với các dự án mã nguồn mở. Việc thành tạo lệnh patch sẽ giúp quản lý thay đổi, sửa lỗi và cập nhật phần mềm trở nên đơn giản và hiệu quả. Mong rằng bài viết đã cung cấp kiến thức hữu ích cho bạn. Nếu có bất kỳ thắc mắc hoặc cần hỗ trợ thêm, bạn vui lòng để lại bình luận bên dưới để được giải đáp sớm nhất.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG