how do i exclude the current directory when using find?

i want to compile a list of files in all sub directories but exclude the current directory.

the closest i could get was to search 'only' the current directory, which is the opposite of what i wanted.

find . ! -name . -prune 
find `ls -l | awk ' /^d/ { print $NF } '` -name "..." -print

thank you, with a slight modification so i only found files '- type f', that worked a treat.

cheers

just one more thing.

what does the /^d/ do? i know ^ means 'start from the beginning' but what about the d?

find `ls -l | awk ' /^d/ { print $NF } '` -type f -name "*" -print
$ ls -l
total 120
drwxr-xr-x   2 training staff        512 Apr 24 15:38 an
drwxr-xr-x   2 training staff        512 Apr 24 15:38 bn
-rw-r--r--   1 training staff        446 Apr 19 16:48 dif
-rw-r--r--   1 training staff         63 Apr 24 12:10 f
-rw-r--r--   1 training staff         38 Apr 10 11:12 f2

d - directory

/^d/ { print $NF } Print the last field of line starting with "d"

In the above listing an and bn are directories

You dont need -name "*" if you want the list of all files

find `ls -l | awk ' /^d/ { print $NF } '` -type f -print
find ./*/ -name ...

thanks, it seems obvious now that ^d meant directories. and of course i don't need "*" when using -type f, again, very obvious too - in hindsight that is.

cheers.

so simple. i tried all combinations except that one, before i got impatient and shouted help.

thank you for your reply.