我想故意破坏 ext4 文件系统上的一个文件以进行测试。有没有办法破坏它,比如让文件保持打开状态然后重新启动?
答案1
您希望能够恢复吗?或者我们谈论的腐败程度有多严重?
我会使用dd
,一个块传输实用程序。
dd if=/dev/urandom of=/dev/sdWV count=X bs=Y seek=Z
在哪里
西风带你想要破坏的设备是
- 斯德沃将是块设备
- 五将是分区号
X是您要写入的块数
是是每个块的大小
是是分区上您要开始破坏数据的位置
在进行任何损坏操作之前,请确保进行备份。
这里,图像源将是/dev/urandom
一个只生成随机数据的流,覆盖设备上的所有内容。
如果省略该count
指令,它将继续写入,直到设备写满。
编辑
呵呵,很抱歉损坏了您当前的运行系统 - 您的帖子标题和正文有很大不同。损坏文件系统并破坏了文件非常不同……
如果您想破坏文件,您仍然可以使用 dd,但输出会覆盖现有文件 - 而不是实际的块设备。
~ > echo "this is a test file that is about to be corrupted" > test_file
~ > cat test_file
this is a test file that is about to be corrupted
~ > dd if=/dev/urandom of=test_file bs=8 count=1 seek=1
1+0 records in
1+0 records out
8 bytes (8 B) copied, 0.007185 s, 1.1 kB/s
~ > cat test_file
this is \o♣▒▒▒_C~ >