Linux递归地用随机或伪随机数据填充所有文件

标签 linux random byte fill dd

我想用随机字节填充根目录中的所有文件。只有文件,文件夹要保持原状

我不想删除文件,只是用随机字节填充它们

在我的研究中,单个文件的填充命令可能类似于:

dd if=/dev/random of=target-files bs=1M

要递归查找所有文件,我应该使用:

找到 . -名称“*.*”

我的问题是:

  1. 是否可以通过加入这两个命令来实现我的目标? (管他们?怎么做?)

  2. 是否有另一种更简单的方法来实现相同的结果?

感谢您的帮助;-)

最佳答案

您可以尝试将查找结果传送到 while 循环,并将 dd/dev/udrandom 传送到每个文件。

$ find myfolder -type f |while read fd; do dd if=/dev/urandom of=$fd bs=1M count=1;done

如果你想保留文件大小,可以做一些计算找到 1k block 计数并作为参数传递给 dd。

$ find myfolder -type f|while read fd; do FSIZ=`stat -c %s $fd`; CNT=`expr $FSIZ / 1024`;dd if=/dev/urandom of=$fd bs=1k count=$CNT;done 

关于Linux递归地用随机或伪随机数据填充所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35834873/

相关文章:

c - 使用libao播放音频文件

我可以在主应用程序和多个线程中使用相同的套接字吗?

c - C的rand()有哪些常用算法?

java - 为什么 (byte) 400000 和 (byte) -400000 结果都是 -128

memory - 为什么可以存储的最小值是字节(8位)而不是位(1位)?

java - 通过 byte[] 复制流

linux - 当一个分机适用于 Asterisk 中的两个 voIp 时如何给出错误

linux - LTTng能否通过跟踪Linux内核来分析多线程问题?

计算 0 到 1 之间随机数的平均值

python - 使用随机整数创建 numpy 数组,每行具有另一个范围