天天看點

linux下小工具使用

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