Mặc dù chúng ta đã thảo luận về tiện ích dòng lệnh cksum, nhưng vẫn còn một công cụ khác mà bạn có thể sử dụng trong các tình huống cần xác minh tính toàn vẹn của tệp trong quá trình truyền. Công cụ mà chúng ta đang nói đến ở đây là md5sum. Một lệnh khác cũng thường được sử dụng để tính tổng kiểm tra cho các tệp là lệnh sha1sum.
Bài hướng dẫn này sẽ thảo luận về những điều cơ bản của lệnh này bằng các ví dụ dễ hiểu.
Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên Ubuntu 22.04 LTS.
Các ví dụ theo dạng Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách hoạt động của md5sum.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22144%22%3E%3C/svg%3E
Bạn cũng có thể chuyển hướng đầu ra sang tệp văn bản để kiểm tra bản tóm tắt sau này xem có bất kỳ thay đổi/hỏng hóc nào trong tệp không.
md5sum testfile.txt > digest.md5
Sử dụng tùy chọn dòng lệnh -c để kiểm tra digest.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22153%22%3E%3C/svg%3E
Và nếu có bất kỳ thay đổi hoặc lỗi nào, đây là loại của md5sum đầu ra tạo ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22164%22%3E%3C/svg%3E
Bạn cũng có thể buộc md5sum tạo một tổng kiểm tra theo kiểu BSD bằng cách sử dụng tùy chọn dòng lệnh --tag.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22195%22%3E%3C/svg%3E
Vì vậy, bạn có thể thấy lỗi và thông báo không được tạo ra trong trường hợp thứ hai.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22158%22%3E%3C/svg%3E
Tuy nhiên, nếu bạn không muốn thấy OK cho mỗi tệp đã xác minh thành công, bạn có thể sử dụng tùy chọn --quiet. Vì vậy, trong trường hợp của chúng ta, lệnh trên sẽ trở thành:
Nếu bạn là người mới làm quen với dòng lệnh Linux, bạn sẽ có ít cơ hội sử dụng md5sum trong những ngày đầu. Nó chủ yếu nhắm đến người dùng chuyên nghiệp/quản trị hệ thống. Nhưng không có hại gì khi phát triển hiểu biết cơ bản về cách thức hoạt động của công cụ này, đó chính xác là mục tiêu mà hướng dẫn này hướng đến. Nếu bạn muốn biết thêm, bạn có thể truy cập trang hướng dẫn của md5sum.
Bài hướng dẫn này sẽ thảo luận về những điều cơ bản của lệnh này bằng các ví dụ dễ hiểu.
Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên Ubuntu 22.04 LTS.
Lệnh md5sum của Linux
Lệnh md5sum tính toán và kiểm tra bản tóm tắt thông báo MD5 (128 bit) cho các tệp. Sau đây là cú pháp của lệnh:
Mã:
md5sum [OPTION]... [FILE]...
Câu hỏi 1. Lệnh md5sum hoạt động như thế nào?
Cách sử dụng cơ bản khá đơn giản - nếu bạn muốn tính tổng kiểm tra MD5 cho một tệp, bạn phải truyền tên tệp làm đầu vào cho lệnh. Ví dụ:
Mã:
md5sum testfile.txt
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22144%22%3E%3C/svg%3E
Bạn cũng có thể chuyển hướng đầu ra sang tệp văn bản để kiểm tra bản tóm tắt sau này xem có bất kỳ thay đổi/hỏng hóc nào trong tệp không.
md5sum testfile.txt > digest.md5
Sử dụng tùy chọn dòng lệnh -c để kiểm tra digest.
Mã:
md5sum -c digest.md5
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22153%22%3E%3C/svg%3E
Và nếu có bất kỳ thay đổi hoặc lỗi nào, đây là loại của md5sum đầu ra tạo ra:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22164%22%3E%3C/svg%3E
Câu hỏi 2. Làm thế nào để thay đổi cách đọc tệp, tổng kiểm tra được tạo?
Theo mặc định, lệnh md5sum đọc đầu vào ở chế độ văn bản. Tuy nhiên, nếu muốn, bạn cũng có thể khiến công cụ đọc đầu vào ở chế độ nhị phân. Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn dòng lệnh -b.
Mã:
md5sum -b [filename]
Câu hỏi 3. Làm thế nào để md5sum bỏ qua các tệp bị thiếu?
Trong khi xác minh tổng kiểm tra, nếu bạn muốn md5sum không bị lỗi hoặc không báo cáo trạng thái cho các tệp bị thiếu, bạn có thể sử dụng tùy chọn --ignore-missing. Ảnh chụp màn hình sau đây hiển thị tùy chọn này khi hoạt động:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22195%22%3E%3C/svg%3E
Vì vậy, bạn có thể thấy lỗi và thông báo không được tạo ra trong trường hợp thứ hai.
Câu hỏi 4. Làm thế nào để md5sum tránh in OK cho mỗi tệp đã xác minh thành công?
Sau đây là hành vi mặc định của md5sum:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22158%22%3E%3C/svg%3E
Tuy nhiên, nếu bạn không muốn thấy OK cho mỗi tệp đã xác minh thành công, bạn có thể sử dụng tùy chọn --quiet. Vì vậy, trong trường hợp của chúng ta, lệnh trên sẽ trở thành:
Mã:
md5sum -c --quiet digest.md5
Câu hỏi 5. md5sum tính toán tổng kiểm tra như thế nào?
Công cụ tính toán tổng kiểm tra như mô tả trong RFC 1321. Đây là những gì trang hướng dẫn nói:
Mã:
The sums are computed as described in RFC 1321. When checking, the
input should be a former output of this program. The default mode is
to print a line with checksum, a space, a character indicating input
mode ('*' for binary, ' ' for text or where binary is insignificant),
and name for each FILE.
The MD5 algorithm should not be used any more for security related pur?
poses. Instead, better use an SHA-2 algorithm, implemented in the pro?
grams sha224sum(1), sha256sum(1), sha384sum(1), sha512sum(1)