I wanted to find out the number of files inside a folder. I didn’t want the folders to be included in the result.
A blog post on zimbio.com shows us how to do it with ls command which is not only downright inaccurate, it is also slower than what I am going to show you.
I am going to show you how to do it using find command which is extremely powerful once you know how to use it.
Executing the command below will print the number of files (excluding folders) in current directory (including all subdirectories):
find ./ -type f | wc -l |
This can be used to find number of directories too:
find ./ -type d | wc -l |
You can do more complex counting for example finding out the number of files which are of filesize 1Mb and more.
find ./ -type f -size +1M | wc -l |
Finding number of symlinks:
find ./ -type l | wc -l |
You can also see number of files accessed within last 1 hour from current directory:
find ./ -type f -amin -60 | wc -l |
Here -60 means less than 60 minutes ago.
Only imagination is the limit with what you can achieve using find command.