xxd


xxd

  1. 學***d的使用,提交至少3個應用截圖
  2. xxd的主要功能是什么?需要使用什么系統調用來實現?寫出你的推導過程,命令
  3. 寫出實現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):顯示文件內容
…………
設定好參數后,從輸入文件流中讀入,從輸出文件流中讀出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM