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

Lệnh hexdump trong linux là một công cụ mạnh mẽ để hiển thị nội dung của một tệp dưới dạng số hexa và ASCII. Nó giúp người dùng phân tích dữ liệu nhị phân, gỡ lỗi chương trình hoặc kiểm tra cấu trúc tệp một cách chi tiết. Với hexdump, bạn có thể dễ dàng xem các byte và ký tự ẩn bên trong tệp, hỗ trợ việc tìm kiếm lỗi.

Lệnh hexdump trong linux là gì?

Lệnh command hexdump in linux là một công cụ mạnh mẽ giúp bạn xem nội dung của một file dưới dạng số hexa và ASCII, rất hữu ích cho việc gỡ lỗi hoặc phân tích dữ liệu nhị phân. Nó hiển thị từng byte của file, cho phép bạn kiểm tra cấu trúc dữ liệu và tìm kiếm các mẫu cụ thể một cách chi tiết. Với hexdump, bạn có thể dễ dàng xác định các ký tự không in được hoặc các byte bị hỏng trong file của mình. Đây là một công cụ không thể thiếu cho các nhà phát triển và quản trị viên hệ thống muốn hiểu sâu hơn về dữ liệu. Hãy thử sử dụng hexdump để khám phá những bí mật ẩn chứa bên trong các file của bạn nhé!

Giới thiệu về Lệnh hexdump

Trong bước này, chúng ta sẽ khám phá lệnh hexdump, một công cụ mạnh mẽ trong Linux để xem và xử lý dữ liệu nhị phân.

Lệnh hexdump cho phép bạn hiển thị nội dung của một tệp hoặc bất kỳ dữ liệu nhị phân nào khác ở định dạng thập lục phân dễ đọc.

Hãy bắt đầu bằng cách chạy lệnh hexdump cơ bản trên một tệp:

hexdump ~/project/example.txt

Ví dụ về đầu ra:

00000000  48 65 6c 6c 6f 2c 20 77  6f 72 6c 64 21 0a        |Hello, world!.|
0000000e

Đầu ra hiển thị biểu diễn thập lục phân của nội dung tệp, với các ký tự ASCII tương ứng hiển thị ở phía bên phải.

Lệnh hexdump cung cấp một số tùy chọn để tùy chỉnh định dạng đầu ra theo nhu cầu của bạn.

Ví dụ: bạn có thể sử dụng tùy chọn -C (canonical) để hiển thị đầu ra ở định dạng dễ đọc hơn.

hexdump -C ~/project/example.txt

Ví dụ về đầu ra:

00000000  48 65 6c 6c 6f 2c 20 77  6f 72 6c 64 21 0a        |Hello, world!.|
0000000e

Ở định dạng này, các giá trị thập lục phân được hiển thị theo nhóm 2 byte và các ký tự ASCII tương ứng được hiển thị ở bên phải.

Bạn cũng có thể sử dụng lệnh hexdump để xem nội dung của một thiết bị hoặc bất kỳ nguồn dữ liệu nhị phân nào khác.

Ví dụ: để xem 10 byte đầu tiên của thiết bị /dev/urandom (một nguồn dữ liệu ngẫu nhiên), bạn có thể chạy lệnh sau:

hexdump -n 10 /dev/urandom

Ví dụ về đầu ra:

a5 e9 f6 c0 f3 b1 8e 7a 4a 3d

Trong bước tiếp theo, chúng ta sẽ khám phá cách sử dụng nâng cao hơn của lệnh hexdump và tìm hiểu cách tùy chỉnh đầu ra hơn nữa.

Xem Dữ Liệu Nhị Phân với hexdump

Trong bước này, chúng ta sẽ học cách dùng lệnh hexdump để xem và phân tích dữ liệu nhị phân chi tiết hơn.

Đầu tiên, hãy tạo một file nhị phân để thực hành cùng với lệnh dd như sau:

dd if=/dev/urandom of=~/project/binary_file.bin bs=1024 count=1

Lệnh này sẽ tạo ra một file nhị phân 1KB chứa đầy dữ liệu ngẫu nhiên.

Bây giờ, hãy sử dụng hexdump để xem nội dung của file nhị phân vừa tạo:

hexdump -C ~/project/binary_file.bin

Ví dụ về kết quả:

00000000  b5 7f 04 3c 91 82 f7 06  dc 2b 8e 8e 5e 2e 6e 1b  |...<.....+..^.n.|
00000010  7a 9a 8e 4e 3a 5e 8e 2d  9b 3e 7d 0a 0d 5d 2e 8f  |z..N:^.-.:}..]..|
00000020  6d 17 a5 8a 1d 6f 9f 3d  44 f2 8e 3f 9a 8f 3a 5b  |m....o.=D..?..:[|
00000030  e1 73 2f 7e 5f 8f 04 a3  1e 4a 9e 8c 8f 9a 8e 4e  |.s/~_....J.....N|

Tùy chọn -C hiển thị kết quả ở định dạng chuẩn, giá trị hex được nhóm 2 byte và ký tự ASCII tương ứng bên phải.

Bạn cũng có thể dùng hexdump để xem các phần cụ thể của file nhị phân.

Ví dụ, để xem 16 byte đầu tiên, bạn dùng tùy chọn -n (số lượng byte) như sau:

hexdump -C -n 16 ~/project/binary_file.bin

Ví dụ về kết quả:

00000000  b5 7f 04 3c 91 82 f7 06  dc 2b 8e 8e 5e 2e 6e 1b  |...<.....+..^.n.|

Ngoài ra, bạn có thể xem file ở nhiều định dạng khác nhau với hexdump.

Ví dụ như định dạng chuẩn (-C), hiển thị chuẩn cho dữ liệu ký tự đơn byte (-c), hoặc số nguyên 32-bit (-x).

Trong bước tiếp theo, chúng ta sẽ tìm hiểu cách tùy chỉnh kết quả của hexdump để phù hợp với nhu cầu cụ thể.

Tùy chỉnh đầu ra của hexdump

Trong bước cuối cùng này, chúng ta sẽ khám phá cách tùy chỉnh đầu ra của lệnh hexdump cho phù hợp với nhu cầu cụ thể.

Lệnh hexdump cung cấp một số tùy chọn để kiểm soát định dạng của đầu ra. Hãy bắt đầu bằng cách sử dụng tùy chọn -v (verbose) để hiển thị thêm thông tin:

hexdump -v -C ~/project/binary_file.bin

Ví dụ về đầu ra:

00000000  b5 7f 04 3c 91 82 f7 06  dc 2b 8e 8e 5e 2e 6e 1b  |...<.....+..^.n.|
00000010  7a 9a 8e 4e 3a 5e 8e 2d  9b 3e 7d 0a 0d 5d 2e 8f  |z..N:^.-.:}..]..|
00000020  6d 17 a5 8a 1d 6f 9f 3d  44 f2 8e 3f 9a 8f 3a 5b  |m....o.=D..?..:[|
00000030  e1 73 2f 7e 5f 8f 04 a3  1e 4a 9e 8c 8f 9a 8e 4e  |.s/~_....J.....N|

Tùy chọn -v hiển thị file offset (vị trí của dữ liệu trong file) ở cột ngoài cùng bên trái.

Bạn cũng có thể sử dụng tùy chọn -x để hiển thị đầu ra ở định dạng hexadecimal 32-bit:

hexdump -x ~/project/binary_file.bin

Ví dụ về đầu ra:

00000000  3c7f04b5  06f78291  8e2b0cdc  1b6e2e5e
00000010  8e3a9a7a  0a7d3e9b  8f2e5d0d  8a17a56d
00000020  3d9f6f1d  3f8ef244  5b3a8f9a  8c9e4a1e
00000030  8f04a37f  4e8e9a8f  73e1

Trong định dạng này, dữ liệu được hiển thị dưới dạng các giá trị hexadecimal 32-bit, hữu ích cho việc phân tích dữ liệu binary ở mức thấp hơn.

Cuối cùng, hãy thử tùy chọn -d để hiển thị đầu ra ở định dạng decimal 16-bit:

hexdump -d ~/project/binary_file.bin

Ví dụ về đầu ra:

00000000  48879  32403  62353  56076  56462  24670  31259  14623
00000016  31610  15677  13010  21869  8207  37243  17694  14350
00000032  15995  17215  17787  17498  28509  17742

Tùy chọn -d hiển thị dữ liệu dưới dạng các giá trị decimal 16-bit, có thể hữu ích để diễn giải dữ liệu binary dưới dạng các giá trị số.

Bằng cách sử dụng các tùy chọn tùy chỉnh này, bạn có thể điều chỉnh đầu ra hexdump cho phù hợp với nhu cầu cụ thể và hiểu sâu hơn về dữ liệu binary bạn đang làm việc.

Kết luận cho linux hexdump command

Vậy là chúng ta đã cùng nhau khám phá những điều thú vị về lệnh hexdump trong Linux rồi! Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách linux hexdump command hoạt động và ứng dụng của nó trong việc phân tích dữ liệu. Đừng ngần ngại thử nghiệm với các tùy chọn khác nhau để làm chủ công cụ mạnh mẽ này nhé. Hexdump không chỉ giúp bạn "nhìn" vào bên trong file, mà còn là chìa khóa để giải mã nhiều bí ẩn trong hệ thống. Chúc bạn thành công trên con đường khám phá thế giới Linux đầy thú vị! Hãy nhớ rằng, việc thực hành thường xuyên sẽ giúp bạn trở nên thành thạo hơn đấy. Đừng quên chia sẻ những khám phá của bạn với mọi người nhé, cùng nhau học hỏi sẽ hiệu quả hơn rất nhiều. Chúc bạn có những trải nghiệm tuyệt vời với Linux!

Last Updated : 17/10/2025