dmesg
dmesg --help
-c clear ring buffer
-n LEVEL set console logging level
-s size buffer size-n LEVEL,有了这个选项,相当于
1、手动改写kernel/printk.c文件中printk的默认控制台的消息级别
2、echo 8 > /proc/sys/kernel/printk-s size,如果发现就算修改内核中的
General setup —>
(17)Kernel log buffer size (16=>64kb, 17=>128kb)
 执行dmesg还是输出很少的消息,那么可以尝试执行:dmesg -s 65536等来输出尽可能多的消息。
watch
watch ‘cat /proc/meminfo’
 watch会以2s的间隔重复运行命令,并全屏显示执行结果
 -n 指定时间间隔
 -d 高亮显示变化的区域
terminator
安装termiantor,当你在别的地方以命令行方式登录系统的时候,可以通过这个在命令行中使show出系统界面。
colordiff
比较文本支持颜色显示
 原本使用diff来比较两个文本的话没有颜色区分
 使用colordiff可以通过颜色将不同的文本区分开来
 sudo apt-get install colordiff
hexdump
hexdump [选项] [文件] …
 -n length 只格式化输入文件的前length个字节。
 -C 输出规范的十六进制和ASCII码。
 -b 单字节八进制显示。
 -c 单字节字符显示。
 -d 双字节十进制显示。
 -o 双字节八进制显示。
 -x 双字节十六进制显示。
 -s 从偏移量开始输出。
 -e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:‘a/b “format1” “format2”’。
每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似printf的格式字符串,如:
 %02d:两位十进制
 %03x:三位十六进制
 %02o:两位八进制
 %c:单个字符等
还有一些特殊的用法:
 %_ad:标记下一个输出字节的序号,用十进制表示。
 %_ax:标记下一个输出字节的序号,用十六进制表示。
 %_ao:标记下一个输出字节的序号,用八进制表示。
 %_p:对不能以常规字符显示的用 . 代替。
同一行如果要显示多个格式字符串,则可以跟多个-e选项。
 hexdump -e ‘"%08_ax:\t" 8 4 "%08X " “\n”’ log.bin
另外可以参考:https://codemelody.wordpress.com/2012/11/27/hexdump%E7%9A%84%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%87%BA/
df/du
df用来查看系统中各个分区的磁盘使用率,du用来查看各个目录的大小
dd
conv=fsync
 Synchronize output data and metadata just before finishing. This forces a physical write of output data and metadata
 在dd命令结束前同步data和metadata,如果我们在dd命令中写了100次,他可能是等到最后的时候才把他们同步到磁盘
oflag=dsync
 Use synchronized I/O for data. For the output file, this forces a physical write of output data on each write.
 Metadata (e.g., last-access and last-modified time) is not necessarily synchronized.
 每一次写都得等到这一次写到了磁盘才进行下一个写,如果我们在dd命令中写了100次,他每次都是写到磁盘后才进行下一次写的。
oflag=sync
 likewise, but also for metadata

图中,如果我们只写1块,然后使用oflag=sync与cnotallow=fsync 测出来一个是32.1kb/s 一个是37.8kb/s 差别不大。但是如果我写1000个,cnotallow=fsync就明显的比oflag=dsync/sync快很多了
                










