我想用随机字节填充根目录中的所有文件。只有文件,文件夹要保持原状
我不想删除文件,只是用随机字节填充它们
在我的研究中,单个文件的填充命令可能类似于:
dd if=/dev/random of=target-files bs=1M
要递归查找所有文件,我应该使用:
找到 . -名称“*.*”
我的问题是:
是否可以通过加入这两个命令来实现我的目标? (管他们?怎么做?)
是否有另一种更简单的方法来实现相同的结果?
感谢您的帮助;-)
最佳答案
您可以尝试将查找结果传送到 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/