Có thể có những lúc, khi làm việc trên dòng lệnh Linux, bạn có thể muốn hiển thị/chuyển đổi nội dung trong tệp thành dạng khác với dạng gốc của nó, như thập phân hoặc bát phân. May mắn thay, có một công cụ dòng lệnh tích hợp mà bạn có thể sử dụng trong những tình huống như thế này.
Lệnh od (bát phân dump) trong Linux là một tiện ích đa năng được sử dụng để hiển thị nội dung của tệp ở nhiều định dạng khác nhau, chẳng hạn như bát phân, thập lục phân, thập phân và ASCII. Lệnh này rất tiện lợi để xem dữ liệu nhị phân hoặc tệp chứa các ký tự không in được, cho phép người dùng kiểm tra và gỡ lỗi dữ liệu thô. Lệnh od chủ yếu được sử dụng bởi các nhà phát triển và quản trị viên hệ thống, những người cần phân tích các cấu trúc dữ liệu cấp thấp, thực hiện phân tích pháp y hoặc gỡ lỗi phần mềm.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của công cụ này bằng các ví dụ dễ hiểu. Tất cả các ví dụ được thảo luận ở đây đều đã được thử nghiệm trên Ubuntu 24.04 LTS.
Và đây là nội dung trang hướng dẫn nói về lệnh này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh od hoạt động:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22279%22%3E%3C/svg%3E
Và đây là những gì xảy ra khi bạn chạy lệnh od trên đó:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22238%22%3E%3C/svg%3E
Vì vậy, theo mặc định, lệnh od chuyển đổi tệp thành định dạng bát phân. Tuy nhiên, bạn cũng có thể buộc công cụ chuyển đổi sang các định dạng khác. Ví dụ, sử dụng -x để chuyển đổi sang hệ thập lục phân:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22428%22%20height=%22239%22%3E%3C/svg%3E
Tương tự, có các tùy chọn để hiển thị đầu vào ở định dạng ký tự, số thực và số nguyên.
Ví dụ:
Ví dụ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327%22%20height=%22206%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22270%22%3E%3C/svg%3E
Sau đó, theo mặc định, od tạo ra * trong đầu ra cho các bản sao.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22357%22%20height=%22205%22%3E%3C/svg%3E
Tuy nhiên, nếu muốn, bạn có thể thay đổi hành vi này, bạn có thể thực hiện điều này bằng cách sử dụng tùy chọn dòng lệnh -v.
od -c -w1 -v file1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22382%22%20height=%22242%22%3E%3C/svg%3E
Ví dụ:
Ví dụ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2289%22%3E%3C/svg%3E
Vì vậy, bạn có thể thấy đầu ra tổng thể đã bị cắt bớt.
Lệnh od (bát phân dump) trong Linux là một tiện ích đa năng được sử dụng để hiển thị nội dung của tệp ở nhiều định dạng khác nhau, chẳng hạn như bát phân, thập lục phân, thập phân và ASCII. Lệnh này rất tiện lợi để xem dữ liệu nhị phân hoặc tệp chứa các ký tự không in được, cho phép người dùng kiểm tra và gỡ lỗi dữ liệu thô. Lệnh od chủ yếu được sử dụng bởi các nhà phát triển và quản trị viên hệ thống, những người cần phân tích các cấu trúc dữ liệu cấp thấp, thực hiện phân tích pháp y hoặc gỡ lỗi phần mềm.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của công cụ này bằng các ví dụ dễ hiểu. Tất cả các ví dụ được thảo luận ở đây đều đã được thử nghiệm trên Ubuntu 24.04 LTS.
Lệnh od của Linux
Lệnh OD được sử dụng để chuyển đổi đầu vào sang định dạng Octal. Sau đây là cú pháp của lệnh này:
Mã:
od [OPTION]... [FILE]...
Mã:
Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more
than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or
when FILE is -, read standard input.
Câu hỏi 1. Làm thế nào để sử dụng lệnh od?
Giả sử đây là tệp bạn muốn chuyển đổi:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22279%22%3E%3C/svg%3E
Và đây là những gì xảy ra khi bạn chạy lệnh od trên đó:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22238%22%3E%3C/svg%3E
Vì vậy, theo mặc định, lệnh od chuyển đổi tệp thành định dạng bát phân. Tuy nhiên, bạn cũng có thể buộc công cụ chuyển đổi sang các định dạng khác. Ví dụ, sử dụng -x để chuyển đổi sang hệ thập lục phân:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22428%22%20height=%22239%22%3E%3C/svg%3E
Tương tự, có các tùy chọn để hiển thị đầu vào ở định dạng ký tự, số thực và số nguyên.
Câu 2. Làm thế nào để bỏ qua byte?
Nếu bạn muốn bỏ qua một số byte ban đầu, bạn có thể thực hiện bằng cách truyền số vào tùy chọn dòng lệnh -j.
Mã:
od -j [num] [filename]
Mã:
od -j 10 file1
Câu hỏi 3. Làm thế nào để giới hạn số byte đầu ra trên mỗi dòng?
Theo mặc định, lệnh od tạo ra 32 byte trên mỗi dòng đầu ra. Tuy nhiên, bạn có thể tùy chỉnh số này bằng tùy chọn -w.
Mã:
od -w[num] [filename]
Mã:
od -w2 file1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327%22%20height=%22206%22%3E%3C/svg%3E
Câu hỏi 4. Làm thế nào để tạo bản sao đầu ra od?
Giả sử tệp bạn muốn chuyển đổi có chứa các dòng trùng lặp. Ví dụ:data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22270%22%3E%3C/svg%3E
Sau đó, theo mặc định, od tạo ra * trong đầu ra cho các bản sao.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22357%22%20height=%22205%22%3E%3C/svg%3E
Tuy nhiên, nếu muốn, bạn có thể thay đổi hành vi này, bạn có thể thực hiện điều này bằng cách sử dụng tùy chọn dòng lệnh -v.
od -c -w1 -v file1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22382%22%20height=%22242%22%3E%3C/svg%3E
Câu hỏi 5. Làm thế nào để hiển thị độ lệch byte?
Độ lệch byte có thể được hiển thị bằng cách sử dụng tùy chọn dòng lệnh -A. Bạn cần chỉ định định dạng mà bạn muốn xem độ lệch - x cho hệ thập lục phân, o cho hệ bát phân và d cho hệ thập phân.
Mã:
od -A[format] [filename]
Mã:
od -Ad -c file1
Câu 6. Làm thế nào để giới hạn đầu ra của od ở số byte đã đặt?
Để giới hạn đầu ra tổng thể ở số byte đã đặt, hãy sử dụng tùy chọn -N.
Mã:
od -N[num] [filename]
Mã:
od -N50 file1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2289%22%3E%3C/svg%3E
Vì vậy, bạn có thể thấy đầu ra tổng thể đã bị cắt bớt.