linux和window下生成任意大小的檔案

n8765發表於2015-06-18

在Windows環境下的實現方法

  使用fsutil命令,在windows xp和win 7下應該都自帶了這個命令。命令的格式是 fsutil file createnew 新檔名 檔案大小。例如生成一個1K大小的檔案,可以使用

  fsutil file createnew test.txt 1024

  可以使用dir 檔名 的方式檢視生成的檔案大小。操作結果如下圖所示

  

  如果用記事本開啟生成的test.txt檔案,記事本顯示的內容為空。這是因為檔案是通過二進位制的方式寫入的,並且二進位制的內容恰好都是全零,在ASCII碼中,全零代表的空。通過UltraEdit開啟檔案,可以看到二進位制的全零內容,如下圖。


在Linux環境下的實現方法

Linux下的dd命令很是強大,我剛開始玩Linux的時候就知道的。可以這樣使用dd命令來建立指定大小的檔案:


生成固定大小檔案
dd if=/dev/zero of=/home/bluestorm/100M.img bs=1M count=1024(生成一個100M的檔案,檔名為100M.img)

使用的格式如下:(從sina.html檔案讀取1024Byte位元組生成一個文字檔案mm0.txt)

“dd if=/home/sina.html of=/home/mms0.txt bs=1024 count=1”

if的引數是輸入檔案是新浪的主頁,

of的引數是要生成的檔案,

bs的引數是每次讀入的block大小,這裡就設為要生成的檔案大小,

count的引數是讀取的block個數,這裡就設為1。

通過bs和count組合就可以生成指定大小的檔案,根據if輸入源的不同也內容也可以隨機。


以上兩種方法都是採用系統內建命令實現的;另外還可以程式設計和指令碼實現:

 . 程式設計

方法是寫入檔案流,並且在程式碼中給定串的大小(Nbyte)。當然,這樣的話java, C++, C應該都可以做到。


. 指令碼

直接寫一個windows下的批處理檔案,或者用python這樣的指令碼語言寫一個檔案生成指令碼。

比如:ping -l [資料包大小 最大65535] ip

相關文章