How to Recursively Count Files in a Linux Directory

Counting files within a directory and its subdirectories in Linux is a straightforward task using the find command in combination with wc (word count) command. Here’s how you can accomplish this:

Using find and wc

  1. Basic Usage: To count all files recursively within a directory, use the following command:
find /path/to/directory -type f | wc -l
  • find /path/to/directory -type f: Recursively finds all files (-type f) within the specified directory (/path/to/directory).
  • |: Pipe symbol redirects the output of find to the input of wc.
  • wc -l: Counts the number of lines in the input, which corresponds to the number of files found.
  1. Example: Suppose you want to count all files in the /home/user/docs directory:
   find /home/user/docs -type f | wc -l

This command will recursively count all files within /home/user/docs and its subdirectories.

  1. Including Hidden Files: To include hidden files (files starting with a dot), use the -a option with find:
find /path/to/directory -type f -a | wc -l

This will count all files, including hidden ones, in the specified directory and its subdirectories.


Counting files recursively in a Linux directory is efficiently achieved using the find command in conjunction with wc. Whether you’re managing backups, analyzing file structures, or performing routine maintenance, mastering these commands allows for effective file management and organization in your Linux environment.