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

linux下小工具使用_十六进制

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