hexdump 是 Linux 中一个强大的二进制文件查看工具,可以用于查看文件的十六进制、ASCII 或其他格式的转储内容。以下是常见用法及示例:
hexdump -n <字节数> -C <文件名>
hexdump -n 32 -C file.bin
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 3e 00 01 00 00 00 a0 10 40 00 00 00 00 00 |..>.......@.....|
需要结合 tail 截取文件尾部内容,再通过管道传递给 hexdump:
tail -c <字节数> <文件名> | hexdump -C
tail -c 64 file.bin | hexdump -C
hexdump -s <跳过字节数> -n <读取字节数> -C <文件名>
hexdump -s 1024 -n 64 -C file.bin
使用 -e 参数指定格式字符串:
hexdump -e '<格式字符串>' <文件名>
hexdump -e '16/1 "%02x " " | "' -e '16/1 "%_p" "\n"' file.bin
hexdump -v -e '/1 "%02x "' file.bin
hexdump -C <文件名>
00000000 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 0a |Hello World!.|
0000000d
hexdump -C /dev/mem -s 0x1000 -n 16
hexdump -e '/1 "%3d "' -e '/1 "%_p\n"' file.bin
根据需求选择参数组合,可高效分析二进制文件的结构!
=======================================================
tail 是 Linux 中一个非常实用的命令,主要用于查看文件的末尾内容,常用于实时监控日志文件或快速查看大文件的尾部数据。以下是 tail 的常见用法及示例:
tail filename.txt
tail /var/log/syslog
输出文件 /var/log/syslog 的最后 10 行内容。
tail -n <行数> filename.txt
# 或简写为
tail -<行数> filename.txt
tail -n 5 access.log
# 等效命令
tail -5 access.log
tail -c <字节数> filename.txt
tail -c 100 data.bin
tail -f filename.log
tail -f /var/log/nginx/access.log
tail -f --pid=<进程PID> filename.log
tail -f --pid=1234 app.log
tail -n 5 file1.txt file2.txt
输出每个文件的最后 5 行,并在内容前显示文件名。
tail -q -n 5 file1.txt file2.txt
tail -n +<起始行号> filename.txt
tail -n +20 data.csv
tail -f error.log | grep "ERROR"
实时监控 error.log,仅显示包含 “ERROR” 的行。
tail -c 64 binaryfile.bin | hexdump -C
tail -f -s <秒数> filename.log
| 选项 | 说明 |
|---|---|
| -n <N> | 显示最后 N 行(默认 10 行) |
| -c <N> | 显示最后 N 个字节 |
| -f | 实时跟踪文件更新 |
| -F | 类似 -f,但会处理文件被删除/重建的情况(如日志轮转) |
| -q | 静默模式(不显示文件名标题) |
| --pid=<PID> | 监控文件直到指定进程结束 |
| -s <秒> | 设置监控间隔时间 |
tail -n 20 /var/log/auth.log
tail -f /opt/app/logs/debug.log | grep "WARNING"
tail -c 128 image.jpg | hexdump -C
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
掌握这些用法后,你可以高效地分析日志、调试程序或处理大型文件!

