Em um sistema GNU:
find / -type d -print0 | shuf -zn5 | xargs -r0n1 cp foo
(agora copiar o arquivo para coisas como / sys ou / proc não faria sentido ou mesmo seria possível, você pode querer adicionar -xdev
para selecionar apenas diretórios no sistema de arquivos montado em /
).
Você pode torná-lo compatível com o FreeBSD e o GNU com:
find / -type d -print0 | sort -zR | tr 'find / -type d -print0 | shuf -zn5 | xargs -r0n1 cp foo
\n' '\nfind / -type d -print0 | sort -zR | tr '%pre%\n' '\n%pre%' | head -n5 |
tr '%pre%\n' '\n%pre%' | xargs -r0n1 cp foo
' | head -n5 |
tr '%pre%\n' '\n%pre%' | xargs -r0n1 cp foo