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.