2010-02-18 68 views

回答

11
dd if=/dev/urandom of=somefile bs=somesize count=1 

關於大小的詳細信息,請參見手冊頁。

+2

咦?這只是創建一個填充隨機字節的文件,這不是以任何方式「損壞」? – unwind 2010-02-18 08:03:04

+4

@unwind:它肯定是*一個損壞的XML文件。或者是一個損壞的C源文件。或者...... – 2010-02-18 08:05:02

+0

當然,但他沒有提到一種類型。我認爲他希望read()失敗,即該文件在最低級別應該是不可讀的。那麼我想這只是另一個模糊的問題。 :) – unwind 2010-02-18 08:47:40

7

文件刻錄到CD/DVD,然後輕輕劃傷磁盤

+0

+1,細砂紙或吸菸者的牙膏效果很好。 – 2010-02-18 08:22:34

5

文件可以包含任何字節的任意模式,所以沒有(數字)方法來創建「損壞」的文件。你當然可以修改現有格式的文件(例如XML文件),以便它不再適用於它應該是的任何格式,但它仍然只是一個磁盤上的文件,並且是完全可讀的。

您通常需要在物理上更改存儲文件的存儲介質,以便使文件實際上不可讀

2

我的猜測是,你最好的辦法是安裝一個FUSE文件系統,它被修改爲返回特定文件的錯誤。由於FUSE確實是一個文件系統驅動程序(儘管在用戶空間中),它可以拋出任何你想要的錯誤代碼。

+0

我認爲有一個FUSE實現在客戶端read()中注入隨機垃圾..我只是想不起名字。它模擬各種錯誤。 – 2010-02-18 08:33:51