xxd
- 學***d的使用,提交至少3個應用截圖
- xxd的主要功能是什么?需要使用什么系統調用來實現?寫出你的推導過程,命令
- 寫出實現xxd的偽代碼
學***d的使用,提交至少3個應用截圖
man xxd
顯示文件的十六進制形式
-b以二進制形式顯示文件內容
將十六進制顯示的內容輸出到制定文件
指定顯示文件的字節數
xxd的主要功能是什么?需要使用什么系統調用來實現?寫出你的推導過程,命令
- 主要功能:xxd 命令用於使用二進制或十六進制格式顯示文件內容,可以將指定文件或標准輸入以十六進制轉儲,也可以把十六進制轉儲轉換成原來的二進制形式。
- Usage:
xxd [options] [infile [outfile]]
or
xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]] - 選項:
-a 缺省忽略轉換: 使用‘*’替換空行. -b 二進數數據轉儲 (與 -ps,-i,-r不兼容). 默認為16進制. -c cols 每行多少列octets(特制8比特的字節). 默認為16列(-i: 12, -ps: 30). -E 使用EBCDIC字符集. 默認為ASCII字符集. -e 小端模式轉儲 (與 -ps,-i,-r不兼容). -g 在正常輸出中,每組八位字節數. 默認為2個 (-e: 4). -h 輸出此幫助. -i 使用C語言文件樣式輸出. -l len 在len個八位字節后停止. -o off 在off個偏移量后開始輸出. -ps 以在行后添加16進制轉儲內容的格式輸出. -r 逆向操作: 轉換(或修補) 十六進制內容為二進制內容. -r -s off 在off個偏移量后開始轉換16進制內容為二進制內容 -s [+][-]seek start at <seek> bytes abs. (or +: rel.) infile offset.(沒看懂) -u 使用大寫字母進行十六進制表示. -v 顯示版本: "xxd V1.10 27oct98 by Juergen Weigert".
系統調用
man -k - system | grep calls
getmsg
寫出實現xxd的偽代碼
讀取參數(輸入文件標識符、輸出文件標識符,其他參數);
if(存在參數-a):總動跳過空白內容;
if(存在參數-b):以二進制顯示
if(存在參數-l):顯示文件內容
…………
設定好參數后,從輸入文件流中讀入,從輸出文件流中讀出。