I needed to create a large directory structure for some testing. I hacked together this quick script that makes a small or large directory tree easily. You define how many branch points there are and how many branches each branch has all the way from the trunk to the leaves.
#!/bin/bash i=0; l=0; levels=2 dirsperlevel=3 rm -rf tree mkdir tree && cd tree while [ $i -lt $levels ]; do for j in `find . -mindepth $i -maxdepth $i -type d` do pushd $j > /dev/null 2>&1 for k in `seq 1 $dirsperlevel`; do mkdir $k; done; popd > /dev/null 2>&1 done; i=$(($i+1)) l=`echo "($dirsperlevel^$i)+$l"|bc` done; echo "$l dirs created in ./tree"
using 2 levels, and 3 directories per level we get 12 total directories created like so:
# mktree.sh 12 dirs created in ./tree # find tree tree tree/2 tree/2/2 tree/2/3 tree/2/1 tree/3 tree/3/2 tree/3/3 tree/3/1 tree/1 tree/1/2 tree/1/3 tree/1/1
using something like 6 levels and 6 directories per level would give us 55,986 total directories.